A FastAPI project template with frontend, authentication, authorization, CRUD, documentation, testing.
- User system
- Authorization per user, per row, per route
- JWT authentication
- Automatic OpenAPI documentation
- Test automation
- Type checking
- Vue frontend
- fastapi (doc) for one of the best api framework in python. Don't skip the doc if you just knew it. It is perfectly written.
- fastapi-permission (doc) for row-based security control.
- vue-element-admin (doc) (demo)
- traefik (doc) for reverse proxy and payload size limiting.
- sqlmodel (doc) for sql models and orm.
- pymongo (doc) for connecting MongoDB
- pytest (doc) for testing
- pydantic (doc) for data validation
- pycodestyle for python style checking
- black for automatic PEP8 formatting
- mypy (doc) for type checking
You may also wanna check fastapi-pynamodb-lambda-simple or fastapi-pynamodb-lambda-versioning for using FastAPI on AWS
git clone https://github.com/benlau6/fastapi-fullstack.git
cd fastapi-fullstack
docker-compose -f docker-compose.yml -f docker-compose.prod.yml up --build
- Backend: Browse http://127.0.0.1/api/docs
- Frontend: Browse http://127.0.0.1
- Authentication
- Nginx
- Cookie
- Tutorial
- Project structure
- Docker-compose
This project is licensed under the terms of the MIT license.