{"id":18374086,"url":"https://github.com/mtoprak53/capstone_project_1","last_synced_at":"2026-04-04T08:42:58.726Z","repository":{"id":186311683,"uuid":"386483937","full_name":"mtoprak53/Capstone_Project_1","owner":"mtoprak53","description":"Calorie Counter - Calorie Logging Web App","archived":false,"fork":false,"pushed_at":"2024-03-03T02:51:16.000Z","size":2703,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-11T01:54:01.851Z","etag":null,"topics":["bootstrap","database","flask","flask-sqlalchemy","html-css","jinja2","jquery","postgresql","python"],"latest_commit_sha":null,"homepage":"https://calorie-counter.up.railway.app","language":"Python","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/mtoprak53.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":"2021-07-16T02:26:34.000Z","updated_at":"2023-05-12T00:47:50.000Z","dependencies_parsed_at":"2024-03-03T03:28:07.563Z","dependency_job_id":"8b96ea8c-0f8d-44fa-8c95-188228174b9e","html_url":"https://github.com/mtoprak53/Capstone_Project_1","commit_stats":null,"previous_names":["mtoprak53/capstone_project_1"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mtoprak53%2FCapstone_Project_1","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mtoprak53%2FCapstone_Project_1/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mtoprak53%2FCapstone_Project_1/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mtoprak53%2FCapstone_Project_1/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mtoprak53","download_url":"https://codeload.github.com/mtoprak53/Capstone_Project_1/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248328109,"owners_count":21085258,"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":["bootstrap","database","flask","flask-sqlalchemy","html-css","jinja2","jquery","postgresql","python"],"created_at":"2024-11-06T00:13:18.264Z","updated_at":"2025-12-30T20:21:48.201Z","avatar_url":"https://github.com/mtoprak53.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Calorie Counter Web Application\n\nThe [Calorie Counter](https://calorie-counter.herokuapp.com/) web app lets users sign-up and saves their food intake logs day by day. It connects to [Fatsecret API](https://platform.fatsecret.com/api/) for detailed food nutrient information and saves them in the app's own database whenever a food log for that food item is created. Users can create their food intake logs for any day, change the date to reach earlier logs, and edit or delete already created logs for any day. Also, the daily log calculates and shows the user's daily calorie intake.\n\nThe UI is designed as two main columns where the left one is populated with control forms and buttons, and the right column is used as the informative part of the page.\n\nThere is a \"most frequently eaten 20 foods\" feature in the app to reach the frequent foods' info easier and directly from the local database (without external API communication).\n\nThe back-end of the app is written in Flask (Flask-SQLAlchemy, Flask-WTForms, Flask-Bcrypt) with PostgreSQL on the database side.\nJinja is used as the template system on the front-end. The\n[pyfatsecret](https://pyfatsecret.readthedocs.io/en/latest/index.html) library is used to overcome too detailed authentication processes of the API communications.\nThe live app is deployed on Heroku servers.\n\n[The database schema](/static/images/schema.png) contains four tables.  \n\n![DB Schema](https://github.com/mtoprak53/Capstone_Project_1/blob/main/static/images/schema.png?raw=true)\n\n\n# How to Build \u0026 Deploy\n\n## Create the Python Virtual Environment (venv)\n\nCreate the virtual environment in the project directory:\n### $ `python3 -m venv venv`  \n  \nStart the virtual environment:  \n### $ `source venv/bin/activate`  \n\n## Install the Required Packages\n\nInstall the pip packages required to run the app, listed in the requirements file:  \n### (venv) $ `pip3 install -r requirements.txt`  \n\nIf you encounter a installation problem with requirements.txt file:  \nTry requirements_noproblem.txt and install the 'psycopg2-binary' package seperately because of its incompatibility with newer python3 versions:  \n### (venv) $ `pip3 install -r requirements_noproblem.txt`  \n### (venv) $ `pip3 install psycopg2-binary`  \n\n## Set up the Database  \n\nCreate the database:  \n### (venv) $`createdb calorie_db`  \n\nCreate the tables:  \n### (venv) $`python3 seed.py`  \n\n## Check the App  \n\nStart the app:  \n### (venv) $`flask run`  \n\nView it in your browser:  \n### [http://localhost:5000](http://localhost:5000)  \n\n\n```%info\nIMPORTANT INFO: For API functionality, a hidden.py file containing working CONSUMER_KEY and CONSUMER_SECRET information from the Fatsecret platform is required. The API functionality can be accessed from the app's website:\n```\n### [https://calorie-counter.up.railway.app](https://calorie-counter.up.railway.app)\n\n\n\nStop the virtual environment when you finish:  \n### (venv) $`deactivate`  \n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmtoprak53%2Fcapstone_project_1","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmtoprak53%2Fcapstone_project_1","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmtoprak53%2Fcapstone_project_1/lists"}