Backend Development
This skill provides expert guidance for building robust, scalable, and secure backend systems, primarily focusing on the Python/FastAPI ecosystem used in this project.
Core Capabilities
- API Design & Implementation
-
RESTful Design: Resource-oriented URLs, proper HTTP methods, and status codes.
-
FastAPI Best Practices: Validation with Pydantic, dependency injection, and async handlers.
-
Documentation: Automatic OpenAPI generation, clear descriptions, and examples.
- Database Management
-
Schema Design: Normalized relationships, indexing strategies, and migration management (Alembic).
-
ORM Usage: SQLAlchemy async session management, repository pattern.
-
Optimization: N+1 problem avoidance, query analysis, connection pooling.
- Security
-
Authentication: JWT/OAuth2 implementation, password hashing (bcrypt/argon2).
-
Authorization: Role-Based Access Control (RBAC), scopes.
-
Data Protection: Input sanitization, SQL injection prevention (via ORM), secure headers.
- Performance Tuning
-
Caching: Redis implementation for specific endpoints or data.
-
Async I/O: Non-blocking database and API calls.
-
Background Tasks: Offloading heavy processing (Celery/Cloud Tasks).
Design Patterns
-
Repository Pattern: Decouple business logic from data access.
-
Dependency Injection: Manage dependencies (DB sessions, config) cleanly.
-
Service Layer: Encapsulate complex business rules.
When to Use
-
Designing new API endpoints or microservices.
-
Optimizing slow database queries.
-
Implementing complex business logic.
-
Reviewing backend code for security and performance.
-
Setting up authentication and authorization flows.