Skip to content

Recipe storage using a graphdb with some light social media features

License

Notifications You must be signed in to change notification settings

Atticuss/ChefConnect

Repository files navigation

ChefConnect

A recipe storage solution built primarily via a graph database (dgraph). Current API POC in Python, MVP will migrated to Golang. Angular front-end.

High Level Goals

A recipe should track the following metadata:

* title
* picture
* prep and cook time
* ingredients
* steps
* rating (track ratings from individual users separately)
* tags (such as culinary region, type of meal, or whatever else you want to tag a recipe with)
* notes, tagged by the user who added them
* list of dates of when the recipe was made

Core API functionality:

* authentication
    * facebook SSO?
    * two roles:
        * full control of everything
        * can only rate + add notes
* basic CRUD on recipes
* search recipes by any and all metadata
* master store of ingredients, typical CRUD ops
* recommendation engine using graph data
* dashboard with random stupid stats

Dev Help

API: ec2-34-238-150-16.compute-1.amazonaws.com:4000

Ratel: ec2-34-238-150-16.compute-1.amazonaws.com:8000

The API can be started via a simple python3 recipy.py. Long running commands, such as running the API, should be done via screen. Current screens can be found via -ls:

ubuntu@ip-172-31-12-209:~/chefconnect$ screen -ls
There are screens on:
	10780.run	(04/17/20 21:29:35)	(Detached)
	2163.ratel	(04/17/20 13:31:29)	(Detached)
	1958.alpha	(04/17/20 13:17:45)	(Detached)
	1774.zero	(04/17/20 13:16:34)	(Detached)
4 Sockets in /run/screen/S-ubuntu.

Attach to a specific screen via -d -R, e.g.: screen -d -R run. Detach with ctrl-a, ctrl-d. The alpha, zero, and ratel screens are for dgraph. THe run screen is for the API. Commands for restarting each, replacing the IP address as necessary:

docker run -it -p 5080:5080 --network dgraph_default -p 6080:6080 -v ~/zero:/dgraph dgraph/dgraph:latest dgraph zero --my=172.31.12.209:5080
docker run -it -p 7080:7080 --network dgraph_default -p 8080:8080 -p 9080:9080 -v ~/recipy_data:/dgraph dgraph/dgraph:latest dgraph alpha --lru_mb=1024 --zero=172.31.12.209:5080 --my=172.31.12.209:7080
docker run -it -p 8000:8000 --network dgraph_default dgraph/dgraph:latest dgraph-ratel

Currently a single-host deployment. Full production env will migrate to HA. Data can be populated via python3 manage.py. Will create the schema and insert two small sample recipes.

About

Recipe storage using a graphdb with some light social media features

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published