{"id":18016469,"url":"https://github.com/nikhil25803/track-calories","last_synced_at":"2025-06-27T22:07:17.311Z","repository":{"id":182890607,"uuid":"667396312","full_name":"nikhil25803/track-calories","owner":"nikhil25803","description":"Backend for calorie tracking application using NLP-powered Nutritionix API to fetch calories from the text. In this RESTful API, multiple-level authentication, SQLite DB, OAuth, etc. are implemented.","archived":false,"fork":false,"pushed_at":"2023-07-17T12:16:57.000Z","size":30,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-08T01:34:12.528Z","etag":null,"topics":["fastapi","pytest","python3","sqlite"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nikhil25803.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2023-07-17T12:09:38.000Z","updated_at":"2024-08-16T17:43:51.000Z","dependencies_parsed_at":null,"dependency_job_id":"d191037d-aece-4d8a-b468-60ab197d85fd","html_url":"https://github.com/nikhil25803/track-calories","commit_stats":null,"previous_names":["nikhil25803/track-calories"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nikhil25803/track-calories","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nikhil25803%2Ftrack-calories","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nikhil25803%2Ftrack-calories/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nikhil25803%2Ftrack-calories/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nikhil25803%2Ftrack-calories/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nikhil25803","download_url":"https://codeload.github.com/nikhil25803/track-calories/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nikhil25803%2Ftrack-calories/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262341617,"owners_count":23296069,"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":["fastapi","pytest","python3","sqlite"],"created_at":"2024-10-30T04:18:09.229Z","updated_at":"2025-06-27T22:07:17.289Z","avatar_url":"https://github.com/nikhil25803.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Tech Stack 🖥️\n\n![Python](https://img.shields.io/badge/python-3670A0?style=for-the-badge\u0026logo=python\u0026logoColor=ffdd54) ![FastAPI](https://img.shields.io/badge/FastAPI-005571?style=for-the-badge\u0026logo=fastapi) ![SQLite](https://img.shields.io/badge/sqlite-%2307405e.svg?style=for-the-badge\u0026logo=sqlite\u0026logoColor=white)\n\n\n## Commands to set up the repo (dependencies etc.) 💁‍♂️\n\n- Clone the working branch\n  Copy the URL of the forked repository and clone it, as of now it is as follows (may vary, please check once)\n\n```bash\ngit clone https://github.com/nikhil25803/track-calories.git\n```\n\n- Change the directory\n\n```bash\ncd track-calories\n```\n\n- Download Virtualenv package\n\n```bash\npip install virtualenv\n```\n\n- Create a virtual environment\n\n```bash\npython -m venv env\n```\n\n- Activate the virtual environment\n\n```bash\nsource env/scripts/activate\n```\n\n- Install the dependencies\n\n```powershell\npip install -r requirements.txt\n```\n\n- The project setup has been completed. Before running the server, make sure to add a `.env` file with the following contents\n\n```\nOAUTH2_SECRET_KEY =\nADMIN_USERNAME =\nADMIN_PASSWORD =\nMANAGER_USERNAME =\nMANAGER_PASSOWRD =\nNUTRITIONIX_APIKEY =\nNUTRITIONIX_APPID =\n```\n\n- OAUTH2_SECRET_KEY can be generated by running the command `openssl rand -hex 32`\n- Add credentials of your choice for Admin and Managers which you will use to access admin and manager level endpoints\n- `NUTRITIONIX_APIKEY` and `NUTRITIONIX_APPID` needs to be generated from **nutritionix.com**. You can get them [here](https://developer.nutritionix.com/admin/access_details)\n\n## Commands to run the API server ⚡\n\n```bash\npython main.py\n```\n\n- You will find the server running on `http://127.0.0.1:8000/`.\n\n- You can also route to `http://127.0.0.1:8000/docs` for a user-friendly UI provided by **SwaggerUI** to interact with endpoints\n\n**Note**\n\n- Running the server will make a `sqlite_database.db` locally for database operations\n- To run the unit and e2e test, it is important first to run the server\n\n## Commands to run the test suite 📟\n\n- As the `/test` directory is in the root path. You can run the test suit by running the following command\n\n```bash\npytest\n```\n\n\u003e Just to remind | Adding the `.env` file with the requested field is important, else some endpoints may throw some error\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnikhil25803%2Ftrack-calories","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnikhil25803%2Ftrack-calories","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnikhil25803%2Ftrack-calories/lists"}