{"id":22242287,"url":"https://github.com/kreipikc/fastapi-book-async","last_synced_at":"2026-04-05T23:35:47.031Z","repository":{"id":265317603,"uuid":"895655112","full_name":"kreipikc/fastAPI-book-async","owner":"kreipikc","description":"A simple API with 19 endpoints written in FastAPI (works asynchronously), using PostgreSQL, Redis, SMTP, Docker, JWT","archived":false,"fork":false,"pushed_at":"2025-02-12T20:29:44.000Z","size":98,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-12T21:31:25.597Z","etag":null,"topics":["alembic","api","async","docker","fastapi","jwt-auth","postgresql","pydantic","python","redis","smtp","sqlalchemy-orm"],"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/kreipikc.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":"2024-11-28T16:06:07.000Z","updated_at":"2025-02-12T20:33:27.000Z","dependencies_parsed_at":"2024-12-02T22:31:32.592Z","dependency_job_id":"bf11a395-832a-4a0d-b161-06b0111854c2","html_url":"https://github.com/kreipikc/fastAPI-book-async","commit_stats":null,"previous_names":["kreipikc/fastapi-book","kreipikc/fastapi-book-async"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kreipikc%2FfastAPI-book-async","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kreipikc%2FfastAPI-book-async/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kreipikc%2FfastAPI-book-async/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kreipikc%2FfastAPI-book-async/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kreipikc","download_url":"https://codeload.github.com/kreipikc/fastAPI-book-async/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245442554,"owners_count":20616040,"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":["alembic","api","async","docker","fastapi","jwt-auth","postgresql","pydantic","python","redis","smtp","sqlalchemy-orm"],"created_at":"2024-12-03T04:15:31.350Z","updated_at":"2025-12-30T23:25:34.001Z","avatar_url":"https://github.com/kreipikc.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"## What kind of project is this?\nThis is an API with 19 endpoints. Realistic AAA (Authentication Authorization and Accounting) server.\n\n## What technologies have I used?\n- Python\n  - FastAPI\n  - SQLAlchemy\n  - Pydantic\n  - Alembic\n- JWT\n- PostgreSQL\n- Redis\n- SMTP\n- Docker\n\n## Why did I even start creating this project?\nThis is a project created to study FastAPI. Also, with the help of this project, I studied (and am still studying): Docker, JWT token, AAA server.\n\n## How usage?\nFor start project `uvicorn app.main:app --reload`\n\nYou can send requests for book:\n- **GET** `/books/` - all info;\n- **POST** `/books/` - add new book;\n- **GET** `/books/id_book` - info about a specific book;\n- **PUT** `/books/id_book` - update info about a specific book;\n- **DELETE** `/books/id_book` - delete info about a specific book.\n\nRequests for auth:\n- **POST** `/auth/register` - user registrator;\n- **POST** `/auth/login` - login for user;\n- **POST** `/auth/refresh` - refresh access token;\n- **POST** `/auth/logout` - logout account;\n- **GET** `/auth/me` - information about you;\n- **POST** `/auth/forgot_password` - request a reset password procedure;\n- **POST** `/auth/reset_password` - reset a password by recovery code in email.\n\nRequests for admin:\n- **GET** `/admin/all_users` - information about all users;\n- **PUT** `/admin/update_user_role` - update role for user;\n- **DELETE** `/admin/delete_user` - delete user.\n\nRequests for roles:\n- **GET** `/roles/all_roles` - information about all roles;\n- **POST** `/roles/add_role` - add new role;\n- **PUT** `/roles/update_role` - update info about a specific role;\n- **DELETE** `/roles/delete_role` - delete info about a specific role.\n\nYou can also use `/docs` to check the sending of requests, where all the endpoints will be\n\n## How usage Docker?\n1. Download git and docker to your server\n2. Clone the entire project from the github - `git clone \u003clink\u003e`\n3. Create a \".env\" file in the root directory and copy everything from \"example.env.txt \" and adjust the parameters as needed\n4. Then use docker-compose to run the project - `docker-compose up`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkreipikc%2Ffastapi-book-async","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkreipikc%2Ffastapi-book-async","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkreipikc%2Ffastapi-book-async/lists"}