{"id":22157888,"url":"https://github.com/mkbeh/fastapi-admin-panel","last_synced_at":"2025-07-26T08:32:12.647Z","repository":{"id":46037065,"uuid":"380564891","full_name":"mkbeh/fastapi-admin-panel","owner":"mkbeh","description":"Backend application. Using FastAPI, PostgreSQL as database, Docker, SQLAlchemy and more.","archived":false,"fork":false,"pushed_at":"2021-11-18T13:52:20.000Z","size":645,"stargazers_count":14,"open_issues_count":0,"forks_count":5,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-09T04:41:57.822Z","etag":null,"topics":["asynchronous","backend","docker","fastapi","json","json-schema","jwt","openapi3","postgresql","python","python3","sqlalchemy","swagger"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mkbeh.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}},"created_at":"2021-06-26T17:53:29.000Z","updated_at":"2025-04-13T11:51:10.000Z","dependencies_parsed_at":"2022-09-02T14:30:54.916Z","dependency_job_id":null,"html_url":"https://github.com/mkbeh/fastapi-admin-panel","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mkbeh/fastapi-admin-panel","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkbeh%2Ffastapi-admin-panel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkbeh%2Ffastapi-admin-panel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkbeh%2Ffastapi-admin-panel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkbeh%2Ffastapi-admin-panel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mkbeh","download_url":"https://codeload.github.com/mkbeh/fastapi-admin-panel/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkbeh%2Ffastapi-admin-panel/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264513086,"owners_count":23620488,"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":["asynchronous","backend","docker","fastapi","json","json-schema","jwt","openapi3","postgresql","python","python3","sqlalchemy","swagger"],"created_at":"2024-12-02T03:16:08.719Z","updated_at":"2025-07-26T08:32:12.238Z","avatar_url":"https://github.com/mkbeh.png","language":"HTML","readme":"# FastAPI and PostgreSQL - Admin Panel\n\n\n[![Python 3.9](https://img.shields.io/badge/python-3.9-blue.svg)](https://www.python.org/downloads/release/python-390/)\n![Platform](https://img.shields.io/badge/platform-linux-green.svg)\n[![GitHub license](https://img.shields.io/github/license/Naereen/StrapDown.js.svg)](https://github.com/Naereen/StrapDown.js/blob/master/LICENSE)\n\n\nBackend stack using Python , including interactive API documentation and many useful features out of the box.\n\n\n## Interactive API documentation\n\n![Swagger](img/swagger_docs.png)\n\n\n## Alternative API documentation\n\n![Redoc](img/redoc_docs.png)\n\n\n## Features\n\n* Full **Docker** integration (Docker based).\n\n* **Docker Compose** integration.\n\n* **Production ready** Python web server using Uvicorn.\n\n* Python **FastAPI** backend.\n\n* **Secure password** hashing by default.\n\n* **JWT token** authentication.\n\n* **SQLAlchemy** models.\n\n* **Alembic** migrations.\n\n* **CORS** (Cross Origin Resource Sharing).\n\n* REST backend tests based on **Pytest**, integrated with Docker, so you can test the full API interaction, independent on the database. As it runs in Docker, it can build a new data store from scratch each time.\n\n* **Secure docs** behind basic http auth.\n\n* **Sentry** integration (application monitoring and error tracking).\n\n* **SendGrid** integration (email delivery service).\n\n* **Email confirmation** when registering a user.\n\n* Integration with **Social Networks** (Vkontake, Facebook, Gmail).\n\n* Beauty mixins for **Asynchronous SQLAlchemy**.\n\n\n## How to use it\n\n### Generate passwords\n\nYou will be asked to provide passwords and secret keys for several components. Open another terminal and run:\n\n```\nopenssl rand -hex 32\n# Outputs something like: 99d3b1f01aa639e4a76f4fc281fc834747a543720ba4c8a8648ba755aef9be7f\n```\n\n### Environment variables\n\nThe input variables, with their default values:\n\n* `PROJECT_NAME`: The name of the project\n\n* `VERSION`: Project version\n\n* `SERVER_DOMAIN`: The domain in where to deploy the project. By default, based on the `http://localhost:8000`.\n\n* `FIRST_SUPERUSER_LOGIN`: The first superuser generated, with it you will be able to create more users, etc.\n\n* `FIRST_SUPERUSER_PASSWORD`: First superuser password. Use the method above to generate it.\n\n* `DOCS_ADMIN_USERNAME`: Username for basic http auth of secure docs.\n\n* `DOCS_ADMIN_PASSWORD`: Password for basic http auth of secure docs.\n\n* `ENV`: Environment mode, like DEV or PROD.\n\n* `SENTRY_DSN`: Key URL (DSN) of Sentry, for live error reporting.\n\n* `AUTH_SECRET_KEY`: Backend server secret key. Use the method above to generate it.\n\n* `EMAIL_SEND_MODE`: Send emails via post service. By default off and show message context on output.\n\n* `SEND_GRID_KEY`: Key of SendGrid, for sending emails.\n\nOther environment variables could be found in `env.template` of `backend` directory.\n\n\n### How to deploy\n\n* Create `.env` file in `backend` directory with settings from `.env.template`.\n\n* Run command `docker-compose up --build -d`.\n\n* Check URL `http://127.0.0.1:8000`. By default for secure docs use credentials: `admin:admin`.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmkbeh%2Ffastapi-admin-panel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmkbeh%2Ffastapi-admin-panel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmkbeh%2Ffastapi-admin-panel/lists"}