Benav Labs FastAPI Boilerplate¶
A production-ready FastAPI boilerplate to speed up your development.
What is FastAPI Boilerplate?¶
FastAPI Boilerplate is a comprehensive, production-ready template that provides everything you need to build scalable, async APIs using modern Python technologies. It combines the power of FastAPI with industry best practices to give you a solid foundation for your next project.
Core Technologies¶
This boilerplate leverages cutting-edge Python technologies:
- FastAPI - Modern, fast web framework for building APIs with Python 3.7+
- Pydantic V2 - Data validation library rewritten in Rust (5x-50x faster)
- SQLAlchemy 2.0 - Python SQL toolkit and Object Relational Mapper
- PostgreSQL - Advanced open source relational database
- Redis - In-memory data store for caching and message brokering
- ARQ - Job queues and RPC with asyncio and Redis
- Docker - Containerization for easy deployment
- NGINX - High-performance web server for reverse proxy and load balancing
Key Features¶
Performance & Scalability¶
- Fully async architecture
- Pydantic V2 for ultra-fast data validation
- SQLAlchemy 2.0 with efficient query patterns
- Built-in caching with Redis
- Horizontal scaling with NGINX load balancing
Security & Authentication¶
- JWT-based authentication with refresh tokens
- Cookie-based secure token storage
- Role-based access control with user tiers
- Rate limiting to prevent abuse
- Production-ready security configurations
Developer Experience¶
- Comprehensive CRUD operations with FastCRUD
- Automatic API documentation
- Database migrations with Alembic
- Background task processing
- Extensive test coverage
- Docker Compose for easy development
Production Ready¶
- Environment-based configuration
- Structured logging
- Health checks and monitoring
- NGINX reverse proxy setup
- Gunicorn with Uvicorn workers
- Database connection pooling
Quick Start¶
Get up and running in less than 5 minutes:
# Clone the repository
git clone https://github.com/benavlabs/fastapi-boilerplate
cd fastapi-boilerplate
# Start with Docker Compose
docker compose up
That's it! Your API will be available at http://localhost:8000/docs
Continue with the Getting Started Guide →
Documentation Structure¶
For New Users¶
- Getting Started - Quick setup and first steps
- User Guide - Comprehensive feature documentation
For Developers¶
- Development - Extending and customizing the boilerplate
- Testing - Testing strategies and best practices
- Production - Production deployment guides
Perfect For¶
- REST APIs - Build robust, scalable REST APIs
- Microservices - Create microservice architectures
- Smll Applications - Multi-tenant applications with user tiers
- Data APIs - APIs for data processing and analytics
Community & Support¶
- GitHub Issues - Bug reports and feature requests