https://github.com/phyks/cuizin
Sort and organize your cooking recipes!
https://github.com/phyks/cuizin
Last synced: 3 months ago
JSON representation
Sort and organize your cooking recipes!
- Host: GitHub
- URL: https://github.com/phyks/cuizin
- Owner: Phyks
- License: mit
- Created: 2018-03-02T14:06:02.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2018-03-13T18:11:02.000Z (about 7 years ago)
- Last Synced: 2025-01-22T12:23:01.431Z (4 months ago)
- Language: JavaScript
- Size: 4.46 MB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
Cuizin
======Cuizin is a tool wrapping around [Web Outside Of Browsers](http://weboob.org/)
to help you sort and organize recipes you find online. You can also manually
add new recipes.
More screenshots are available in the [`screenshots` folder](screenshots/).
## Installation
Cuizin requires Python 3 and may not be compatible with Python 2.
```
$ git clone … # Clone this repository
$ pip3 install -r requirements.txt # Install Python dependencies
$ npm install # Install JS dependencies for the frontend
$ npm run build # Build the JS dependencies
```Ideally, Python dependencies should be installed in a virtual environment.
If you serve the app from a subdirectory (and not the root of your domain),
you might want to run `URL_PREFIX=/subdir/ npm run build` instead of `npm run
build` to use the correct path to call the API. Note that the trailing slash
is important.## Usage
Run `python -m cuizin` to run the built-in webserver. Conversely, you can use
WSGI to serve the application directly (`application` variable is exported in
`cuizin/__main__.py`).You can customize the behavior of the app by passing environment variables:
* `CUIZIN_HOST` to set the host on which the webserver should listen to
(defaults to `localhost` only). Use `CUIZIN_HOST=0.0.0.0` to make it
world-accessible.
* `CUIZIN_PORT` to set the port on which the webserver should listen. Defaults
to `8080`.
* `CUIZIN_DEBUG` to enable or disable the debug from Bottle (defaults to
`False`).
* `WEBOOB_MODULES_PATH` to set the path to the local clone of the Weboob
modules. Default to using the `weboob-modules` package installed by `pip`
(and which you should regularly update with `pip install --upgrade
weboob-modules`).If you serve the app with a reverse proxy, you should serve the content of
`cuizin/dist` (static frontend files) directly, without passing it down to the
Bottle webserver.## Updating
If you are updating the app, the database schema may have changed. There is a
set of migrations under the `migrations` folder which is a set of standalone
scripts to run to update your database schema. Each script is named after the
commit it is handling.## Contributing
All contributions are welcome, feel free to open a MR. Just in case, if you
plan on working on some major new feature, please open an issue before to get
some feedbacks.All the code lies under `cuizin` directory. Frontend code lies under
`cuizin/js_src`. `build` and `config` folders at the root of this repository
are used for the frontend build.Additionnally, you can use `make dev` to spawn a development webserver to
serve the JS frontend and auto-update/auto-reload when you make changes. The
spawned JS server will be set up at `localhost:8081` and you should start the
backend Python server at `localhost:8080` with `python -m cuizin` along it.
You can simply open the app at `localhost:8081` and start developping, it will
automatically call the API from the `python -m cuizin` process, on port
`8080`.## License
This software is released under an MIT License.