86 lines
2.1 KiB
Plaintext
86 lines
2.1 KiB
Plaintext
---
|
|
description: FastAPI best practices and patterns for building modern Python web APIs
|
|
globs: **/*.py, app/**/*.py, api/**/*.py
|
|
---
|
|
|
|
# FastAPI Best Practices
|
|
|
|
## Project Structure
|
|
- Use proper directory structure
|
|
- Implement proper module organization
|
|
- Use proper dependency injection
|
|
- Keep routes organized by domain
|
|
- Implement proper middleware
|
|
- Use proper configuration management
|
|
|
|
## API Design
|
|
- Use proper HTTP methods
|
|
- Implement proper status codes
|
|
- Use proper request/response models
|
|
- Implement proper validation
|
|
- Use proper error handling
|
|
- Document APIs with OpenAPI
|
|
|
|
## Models
|
|
- Use Pydantic models
|
|
- Implement proper validation
|
|
- Use proper type hints
|
|
- Keep models organized
|
|
- Use proper inheritance
|
|
- Implement proper serialization
|
|
|
|
## Database
|
|
- Use proper ORM (SQLAlchemy)
|
|
- Implement proper migrations
|
|
- Use proper connection pooling
|
|
- Implement proper transactions
|
|
- Use proper query optimization
|
|
- Handle database errors properly
|
|
|
|
## Authentication
|
|
- Implement proper JWT authentication
|
|
- Use proper password hashing
|
|
- Implement proper role-based access
|
|
- Use proper session management
|
|
- Implement proper OAuth2
|
|
- Handle authentication errors properly
|
|
|
|
## Security
|
|
- Implement proper CORS
|
|
- Use proper rate limiting
|
|
- Implement proper input validation
|
|
- Use proper security headers
|
|
- Handle security errors properly
|
|
- Implement proper logging
|
|
|
|
## Performance
|
|
- Use proper caching
|
|
- Implement proper async operations
|
|
- Use proper background tasks
|
|
- Implement proper connection pooling
|
|
- Use proper query optimization
|
|
- Monitor performance metrics
|
|
|
|
## Testing
|
|
- Write proper unit tests
|
|
- Implement proper integration tests
|
|
- Use proper test fixtures
|
|
- Implement proper mocking
|
|
- Test error scenarios
|
|
- Use proper test coverage
|
|
|
|
## Deployment
|
|
- Use proper Docker configuration
|
|
- Implement proper CI/CD
|
|
- Use proper environment variables
|
|
- Implement proper logging
|
|
- Use proper monitoring
|
|
- Handle deployment errors properly
|
|
|
|
## Documentation
|
|
- Use proper docstrings
|
|
- Implement proper API documentation
|
|
- Use proper type hints
|
|
- Keep documentation updated
|
|
- Document error scenarios
|
|
- Use proper versioning |