{"id":18309087,"url":"https://github.com/typicalam/sparesnack","last_synced_at":"2026-02-26T18:32:34.725Z","repository":{"id":44988186,"uuid":"494801009","full_name":"TypicalAM/SpareSnack","owner":"TypicalAM","description":"Tracking meals made easy and fun","archived":false,"fork":false,"pushed_at":"2025-03-07T14:09:23.000Z","size":3606,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-21T08:11:29.449Z","etag":null,"topics":["django","django-application","docker","docker-compose","nginx","postresql","python","python3","rest-api"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TypicalAM.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-05-21T14:07:53.000Z","updated_at":"2025-03-07T14:09:27.000Z","dependencies_parsed_at":"2024-11-03T13:25:17.592Z","dependency_job_id":"79ad8698-a8c4-43d8-8a76-1aa40ab3de50","html_url":"https://github.com/TypicalAM/SpareSnack","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TypicalAM%2FSpareSnack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TypicalAM%2FSpareSnack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TypicalAM%2FSpareSnack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TypicalAM%2FSpareSnack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TypicalAM","download_url":"https://codeload.github.com/TypicalAM/SpareSnack/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247375173,"owners_count":20928963,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["django","django-application","docker","docker-compose","nginx","postresql","python","python3","rest-api"],"created_at":"2024-11-05T16:10:11.427Z","updated_at":"2026-02-26T18:32:29.689Z","avatar_url":"https://github.com/TypicalAM.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n    \u003ca href=\"#\"\u003e\n        \u003cimg width=\"400\" src=\"assets/Logo default.svg\" /\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\n👋 Hi! This is a diet tracking app which enables users to create/modify and follow different diets in their day-to-day life with an easy-to-use interface!\n\n---\n\n## 🧐 Project philosophy\n\n\u003e This app was created for me and my girlfriend to try to motivate ourselves to follow a diet. Every dietary or meal planning app on the market didn't have what we wanted, or just cost a lot of money for the average college student, so we decided to work on the solution on our own. I learned a lot about programming and development on the way and I hope you will find this project interesting!\n\n---\n\n## ✨ Getting Started\n\n### 1. Get the prerequisites\n\n_🛠 This project requires `pip` and `Python 3.6` or above_. See: [Python downloads](https://www.python.org/downloads/). Additionally, two packages require further setup - those are:\n\n- `Psycopg2` - installation [instructions](https://www.psycopg.org/docs/install.html#install-from-source)\n- `Pillow` - installation [instructions](https://pillow.readthedocs.io/en/stable/installation.html)\n\n### 2. Clone the repository and enter it\n\n```sh\ngit clone --depth=1 https://github.com/TypicalAM/SpareSnack.git \u0026\u0026 cd SpareSnack\n```\n\n### 3. Install the dependencies\n\n```sh\npython3 -m pip install -r requirements.txt\n```\n\n### 4. Set up keys and make migrations\n\n\n- 🔐 You need to set up some additional data for the application to work correctly, most of those are special environment variables like:\n\n```sh\n# core/settings.py variables\nDEBUG=1\nSECRET_KEY=my_secret_secret_key\nDJANGO_ALLOWED_HOSTS=localhost 127.0.0.1 [::1]\n\n# core/settings.py/DATABASES configuration\nSQL_ENGINE=django.db.backends.postgresql\nSQL_DATABASE=my_db\nSQL_USER=TypicalAM\nSQL_PASSWORD=my_secret_password\nSQL_HOST=db\nSQL_PORT=5432\nDATABASE=postgres\n```\n\nYou can also modify the existing configuration to not require having a `postgres` database with the `DATABASE` variable.\n\n- Next, we have to make migrations and migrate the database\n\n```sh\npython3 manage.py makemigrations\npython3 manage.py migrate\n```\n\n### 5. Run the app!\n\n🌟 To run in a local environment\n\n```sh\npython3 manage.py runserver\n```\n\n## ✨ Starting the app in a container\n\nIf you have a possibility to run docker containers on your machine, you can also run the dev version of this product directly in the container using the provided `Dockerfile`. If you want to also use the `postgres` database engine however, you must also set up an image for a `postgres` database. A well-written guide I've found to do this is [here](https://testdriven.io/blog/dockerizing-django-with-postgres-gunicorn-and-nginx/).\n\n## ❓ How do I even use it?\n\nGlad you asked, there are four main components to the app:\n- You have **Recipes**, which go in **Meals**. Each **Day** consists of five **Meals**.\n- If you really liked a **Day** you can save it in a **Diet**, which can be public or private. If it is public everyone is able to see it and **import** it into their day. Importing is a process which involves *reusing* the days which have already been created to make the most out of your well-prepared **Days**.\n- After creating an account (I won't steal your details) you can go into the **My Day** tab to see all the possible options that you have.\n- Initially, it would be useful to also fill the database with ingredients, because it's hard to include them in this package since that would be a lot of data.\n\n---\n\n## 📸 Product images\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"assets/Day creation 2.png\" /\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"assets/Meal browse.png\" /\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"assets/Meal create.png\" /\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftypicalam%2Fsparesnack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftypicalam%2Fsparesnack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftypicalam%2Fsparesnack/lists"}