Files
roux/README.org
T

31 lines
1.2 KiB
Org Mode

* Roux
Roux is a personal/family recipe management site.
It's intended to be low friction for entering recipes and tracking when you've cooked them.
** Cooklang
Roux uses Cooklang (https://cooklang.org/) as a source of truth for all recipe content. Any recipe either starts in Cooklang or is immediately converted to Cooklang by one mechanism or another.
** Other details
*** Cook history
Roux lets you track when you cook recipes. I like this because we cook a lot of different recipes and I like to be able to go back to find things I liked in the past so I don't forget about them.
** Technical details
*** Development environment
Docker is used for all development tools. Nothing is required to be installed on the local machine except Docker.
*** Backend API: Haskell + SQLite
*** Frontend: Static HTML + Pico CSS
The actual backing for recipes themselves is a single cooklang directory with
an in-process search index that gets rebuilt whenever a file is added to the
directory.
*** Project structure:
**** cooklang-hs
A Cooklang parser written in Haskell.
**** roux-server
The webserver for Roux. Parses Cooklang files on disk, indexes them, renders HTML templates for presenting recipes.