{"id":18537407,"url":"https://github.com/vitaee/fastapirest","last_synced_at":"2025-04-09T17:36:58.403Z","repository":{"id":130440855,"uuid":"394981928","full_name":"Vitaee/FastApiRest","owner":"Vitaee","description":"User authentication and crud application with fastapi and mongo db.","archived":false,"fork":false,"pushed_at":"2023-05-20T21:54:05.000Z","size":85,"stargazers_count":8,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-24T09:04:10.658Z","etag":null,"topics":["fastapi","jwt-authentication","mongodb","python"],"latest_commit_sha":null,"homepage":"","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/Vitaee.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-08-11T12:31:09.000Z","updated_at":"2024-09-29T20:12:50.000Z","dependencies_parsed_at":"2024-11-06T19:41:21.288Z","dependency_job_id":"74d86084-3c3b-4293-94bd-adbf738c5048","html_url":"https://github.com/Vitaee/FastApiRest","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vitaee%2FFastApiRest","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vitaee%2FFastApiRest/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vitaee%2FFastApiRest/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vitaee%2FFastApiRest/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Vitaee","download_url":"https://codeload.github.com/Vitaee/FastApiRest/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248078272,"owners_count":21044080,"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","jwt-authentication","mongodb","python"],"created_at":"2024-11-06T19:38:05.549Z","updated_at":"2025-04-09T17:36:58.392Z","avatar_url":"https://github.com/Vitaee.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FastApi Project\nDevelopped  user authentication and simple crud operations with **fast api** and **mongo db** with following best practices of **SOLID** principles. **Motor** library used for mongodb connection.\n- Python version ***3.10.8***\n- FastApi version ***0.95.1***\n- Motor version ***3.1.2***\n- Mongodb version ***latest stable version***\n- Using Zorin OS version **16.2** which based on ubuntu 20.04 is my development OS.\n\n# Project setup\n- create ```.env.dev``` file in project root directory. Put below variables in it:\n```\nDB_URL=mongodb://localhost:27017\nDB_NAME=studentPortal_dev\nJWT_ALGORITHM=HS256\nJWT_SECRET=top-secret-key\n```\n- Now, follow below steps to install dependencies in correct way.\n- pip install poetry\n- poetry shell\n- poetry install \n- and thats it! We initialized our project to our system its ready to run.\n\n# Documentation \nFastapi has own built-in swagger ui. So when you run project simply open this url in your browser: \n- ```localhost:5002/api/v1/docs ```\n\n# Run project\nAfter following above steps you can simply run the project by using main.py, Simply call below command in your terminal and thats it!\n```\npython main.py --env=\"dev\"\n``` \n\n# Further Improvements\nThis project created 2 years ago while i am learning fastapi framework. Now i optimized my old code base and i am trying to implement best practices of SOLID principles while optimizing the code base. In addition what we can do is:\n- Dockerize project by using ```docker``` \u0026 ```docker compose```.\n- Create unit tests for ```BaseService``` and ```BaseModel```. \n- Setup CI/CD using ```github actions``` and deploy project to remote ```ubuntu server```.\n- May use ```nginx``` , ```redis```, ```elastic search``` or other popular services to improve project scalability, maintainability etc.\n- Apply request benchmark to this project.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvitaee%2Ffastapirest","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvitaee%2Ffastapirest","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvitaee%2Ffastapirest/lists"}