updated docs

This commit is contained in:
Hayden 2021-01-02 17:20:21 -09:00
parent 90950b3c7d
commit 6c294242b9
7 changed files with 119 additions and 42 deletions

View file

@ -35,7 +35,6 @@
## About The Project
[![Product Name Screen Shot][product-screenshot]](https://example.com)
**Mealie** is a self hosted recipe manager and meal planner with a RestAPI backend and a reactive frontend application built in Vue for a pleasant user experience for the whole family. Easily add recipes into your database by providing the url and mealie will automatically import the relavent data or add a family recipe with the UI editor.
@ -58,8 +57,7 @@ Mealie also provides a secure API for interactions from 3rd party applications.
- Expose notes in the API to allow external applications to access relavent information for meal plans
#### Database Import / Export
- Easily Import / Export your recipes from the UI
- Export recipes in markdown format for universal access
- Use the default or a custom jinja2 template
- Export recipes in into custom files using Jinja2 templates
### Built With
@ -70,14 +68,6 @@ Mealie also provides a secure API for interactions from 3rd party applications.
* [Docker](https://www.docker.com/)
### Built With
* [Vue.js](https://vuejs.org/)
* [Vuetify](https://vuetifyjs.com/en/)
* [FastAPI](https://fastapi.tiangolo.com/)
* [Docker](https://www.docker.com/)
<!-- CONTRIBUTING -->
## Contributing

View file

@ -1,11 +1,24 @@
# Getting Started
To deploy docker on your local network it is highly recommended to use docker to deploy the image straight from dockerhub. Using the docker-compose below you should be able to get a stack up and running easily by changing a few default values and deploying.
To deploy docker on your local network it is highly recommended to use docker to deploy the image straight from dockerhub. Using the docker-compose below you should be able to get a stack up and running easily by changing a few default values and deploying. Currently the only supported database is mongo.
Alternatively, this project is run in python. If you are deadset on deploying on a linux machine you can run this in an python enviromnet with a dedicated MongoDatabase. Provided that you know thats how you want to host the application, I'll assume you know how to do that.
[Get Docker](https://docs.docker.com/get-docker/)
### Installation - Docker
[Mealie Docker Image](https://hub.docker.com/r/hkotel/mealie)
## Env Variables
| Variables | default | description |
| ----------- | ------- | ------------------------------------------------------------------------------------------------------------- |
| db_username | root | The Mongodb username you specified in your mongo container |
| db_password | example | The Mongodb password you specified in your mongo container |
| db_host | mongo | The host address of MongoDB if you're in docker and using the same network you can use mongo as the host name |
| db_port | 27017 | the port to access MongoDB 27017 is the default for mongo |
| TZ | | You should set your time zone accordingly so the date/time features work correctly |
## Docker Compose
```yaml
# docker-compose.yml
@ -22,6 +35,7 @@ services:
db_password: example # Your Mongo DB Password - Please Change
db_host: mongo
db_port: 27017 # The Default port for Mongo DB
TZ: America/Anchorage
volumes:
- ./data/img:/app/data/img
- ./data/backups:/app/data/backups
@ -41,4 +55,57 @@ services:
environment:
ME_CONFIG_MONGODB_ADMINUSERNAME: root
ME_CONFIG_MONGODB_ADMINPASSWORD: example
```
```
## Ansible Tasks Template
```yaml
- name: ensures Mealie directory dir exists
file:
path: "{{ docker_dir }}/mealie/"
state: directory
owner: "{{ main_user}}"
group: "{{ main_group }}"
- name: ensures Mealie directory dir exists
file:
path: "{{ docker_dir }}/mealie/"
state: directory
owner: "{{ main_user}}"
group: "{{ main_group }}"
- name: Deploy Monogo Database
docker_container:
name: mealie-mongo
image: mongo
restart_policy: unless-stopped
networks:
- name: web
env:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: example
- name: deploy Mealie Docker Container
docker_container:
name: mealie
image: hkotel/mealie:latest
restart_policy: unless-stopped
ports:
- 9090:9000
networks:
- name: web
mounts:
- type: bind
source: "{{ docker_dir }}/mealie"
target: /app/data
env:
db_username: root
db_password: example
db_host: mealie-mongo
db_port: "27017"
```
## Deployed as a Python Application
Alternatively, this project is built on Python and Mongodb. If you are dead set on deploying on a linux machine you can run this in an python environment with a dedicated MongoDatabase. Provided that you know thats how you want to host the application, I'll assume you know how to do that. I may or may not get around to writing this guide. I'm open to pull requests if anyone has a good guide on it.

View file

@ -1,7 +1,7 @@
# Recipes
## URL Import
Adding a recipe can be as easy as copying the recipe URL into mealie and letting the web scrapper try to pull down the information. Currently this scraper is implemented with [scrape-schema-recipe package](https://pypi.org/project/scrape-schema-recipe/). You may have mixed results on some websites, especially with blogs or non specific recipe websites. See the bulk import Option below for another a convient way to add blog style recipes into Mealie.
Adding a recipe can be as easy as copying the recipe URL into mealie and letting the web scrapper try to pull down the information. Currently this scraper is implemented with [scrape-schema-recipe package](https://pypi.org/project/scrape-schema-recipe/). You may have mixed results on some websites, especially with blogs or non specific recipe websites. See the bulk import Option below for another a convenient way to add blog style recipes into Mealie.
![](gifs/url-demo.gif)

View file

@ -1,10 +1,10 @@
# Site Settings Panel
!!! danger
As this is still a **BETA** It is reccomended that you backup your data often and store in more than one place. Adhear to backup best practies with the [3-2-1 Backup Rule](https://en.wikipedia.org/wiki/Backup)
As this is still a **BETA** It is recommended that you backup your data often and store in more than one place. Ad-hear to backup best practices with the [3-2-1 Backup Rule](https://en.wikipedia.org/wiki/Backup)
## Theme Settings
Color themes can be created and set from the UI in the settings page. You can select an existing color theme or create a new one. On creation of a new color theme random colors will first be generated, then you can select and save as you'd like. By default the "default" theme will be loaded for all new users visiting the site. All created color themes are avaiable to all users of the site. Seperate color themes can be set for both Light and Dark modes.
Color themes can be created and set from the UI in the settings page. You can select an existing color theme or create a new one. On creation of a new color theme random colors will first be generated, then you can select and save as you'd like. By default the "default" theme will be loaded for all new users visiting the site. All created color themes are available to all users of the site. Separate color themes can be set for both Light and Dark modes.
![](gifs/theme-demo.gif)
@ -22,12 +22,10 @@ To import a backup it must be in your backups folder. If it is in the backup fol
![](img/admin-backup.png)
## Meal Planner Webhooks
Meal planner webhooks are post requests sent from Mealie to an external endpoint. The body of the message is the Recipe JSON of the scheduled meal. If no meal is schedule, no request is sent. The webhook functionality can be enabled or disabled as well as scheduled. Note that you must "Save Webhooks" prior to any changes taking affect serverside.
![](img/admin-webhooks.png)
Meal planner webhooks are post requests sent from Mealie to an external endpoint. The body of the message is the Recipe JSON of the scheduled meal. If no meal is schedule, no request is sent. The webhook functionality can be enabled or disabled as well as scheduled. Note that you must "Save Webhooks" prior to any changes taking affect server side.
## Migration
### Chowdown
In the Admin page on the in the Migration section you can provide a URL for a repo hosting a Chowdown site and Mealie will pull the images and recipes from the instance and automatically import them into the database. Due to the nature of the yaml format you may have mixed results but you should get an error report of the recipes that had errors and will need to be manually added.
In the Admin page on the in the Migration section you can provide a URL for a repo hosting a Chowdown site and Mealie will pull the images and recipes from the instance and automatically import them into the database. Due to the nature of the yaml format you may have mixed results but you should get an error report of the recipes that had errors and will need to be manually added. Note that you can only import the repo as a whole. You cannot import individual recipes.

View file

@ -0,0 +1,25 @@
# Release Notes
## v0.0.0 - Initial Pre-release
The initial pre-release. It should be semi-functional but does not include a lot of user feedback You may notice errors that have no user feedback and have no idea what went wrong.
### Recipes
- Automatic web scrapping for common recipe platforms
- Interactive API Documentation thanks to [FastAPI](https://fastapi.tiangolo.com/) and [Swagger](https://petstore.swagger.io/)
- UI Recipe Editor
- JSON Recipe Editor in browser
- Custom tags and categories
- Rate recipes
- Add notes to recipes
- Migration From Other Platforms
- Chowdown
- Open Eats - **Coming Soon**
-
### Meal Planner
- Random Meal plan generation based off categories
- Expose notes in the API to allow external applications to access relevant information for meal plans
### Database Import / Export
- Easily Import / Export your recipes from the UI
- Export recipes in markdown format for universal access
- Use the default or a custom jinja2 template

View file

@ -1,8 +1,12 @@
# Development Road Map
!!! Current Release
v0.0.0 ALPHA - This is technically a pre-release, as such there are no release notes and no version. The first version will be version v0.1.0 and will provide a list of release notes with any breaking changes
Feature placement is not set in stone. This is much more of a guideline than anything else.
## v1.0 Roadmad
## v1.0 Road Map
### Frontend
- [ ] Login / Logout Navigation
@ -17,7 +21,7 @@ Feature placement is not set in stone. This is much more of a guideline than any
* [ ] User Accounts
* [ ] Edit / Delete
## v0.2.0
## v0.1.0
### Front End
- [ ] Recipe Editor
@ -40,8 +44,3 @@ Feature placement is not set in stone. This is much more of a guideline than any
- [ ] Backup Options
* [ ] Force Update
* [ ] Rebuild

View file

@ -14,9 +14,9 @@
![Product Name Screen Shot][product-screenshot]
**Mealie** is a self hosted recipe manager and meal planner with a RestAPI backend and a reactive frontend application built in Vue for a pleasant user experience for the whole family. Easily add recipes into your database by providing the url and mealie will automatically import the relavent data or add a family recipe with the UI editor.
**Mealie** is a self hosted recipe manager and meal planner with a RestAPI backend and a reactive frontend application built in Vue for a pleasant user experience for the whole family. Easily add recipes into your database by providing the url and mealie will automatically import the relevant data or add a family recipe with the UI editor.
Melaie also provides a secure API for interactions from 3rd party applications. **Why does my recipe manager need an API?** An API allows integration into applications like [Home Assistant](https://www.home-assistant.io/) that can act as notification engines to provide custom notifications based of Meal Plan data to remind you to defrost the chicken, marinade the steak, or start the CrockPot. Additionally, you can access any avaiable API from the backend server. To explore the API spin up your server and navigate to http://yourserver.com/docs for interactive API documentation.
Mealie also provides an API for interactions from 3rd party applications. **Why does my recipe manager need an API?** An API allows integration into applications like [Home Assistant](https://www.home-assistant.io/) that can act as notification engines to provide custom notifications based of Meal Plan data to remind you to defrost the chicken, marinade the steak, or start the CrockPot. Additionally, you can access any available API from the backend server. To explore the API spin up your server and navigate to http://yourserver.com/docs for interactive API documentation.
!!! note
In some of the demo gifs the styling may be different than the finale application. demos were done during development prior to finale styling.
@ -35,9 +35,13 @@ Melaie also provides a secure API for interactions from 3rd party applications.
- Custom tags and categories
- Rate recipes
- Add notes to recipes
- Migration From Other Platforms
- Chowdown
- Open Eats - **Coming Soon**
#### Meal Planner
- Random Meal plan generation based off categories
- Expose notes in the API to allow external applications to access relavent information for meal plans
- Expose notes in the API to allow external applications to access relevant information for meal plans
#### Database Import / Export
- Easily Import / Export your recipes from the UI
- Export recipes in markdown format for universal access
@ -54,17 +58,9 @@ Melaie also provides a secure API for interactions from 3rd party applications.
<!-- ROADMAP -->
## Roadmap
## Road Map
#### Authentication - Target 1.0
- User Login
- Token Based API Access/Auth
#### Recipe Sharing
- Share Button / Email
- Export to PDF
- Print Button
- Git Repo Based Sharing (Import / Export / Search)
[See Roadmap](2.0 - roadmap)
@ -73,6 +69,8 @@ Melaie also provides a secure API for interactions from 3rd party applications.
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are **greatly appreciated**. Especially test. Literally any tests.
If you are not a coder, you can still contribute financially. financial contributions help me prioritize working on this project over others and helps me know that there is a real demand for the project.
<a href="https://www.buymeacoffee.com/haykot" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-green.png" alt="Buy Me A Coffee" style="height: 60px !important;width: 217px !important;" ></a>
<!-- LICENSE -->