Files
TBank-Backend/docs/user-guide/index.md
2025-10-19 22:09:35 +03:00

86 lines
4.4 KiB
Markdown

# User Guide
This user guide provides comprehensive information about using and understanding the FastAPI Boilerplate. Whether you're building your first API or looking to understand advanced features, this guide covers everything you need to know.
## What You'll Learn
This guide covers all aspects of working with the FastAPI Boilerplate:
### Project Understanding
- **[Project Structure](project-structure.md)** - Navigate the codebase organization and understand architectural decisions
- **[Configuration](configuration/index.md)** - Configure your application for different environments
### Core Components
### Database Operations
- **[Database Overview](database/index.md)** - Understand the data layer architecture
- **[Models](database/models.md)** - Define and work with SQLAlchemy models
- **[Schemas](database/schemas.md)** - Create Pydantic schemas for data validation
- **[CRUD Operations](database/crud.md)** - Implement create, read, update, and delete operations
- **[Migrations](database/migrations.md)** - Manage database schema changes with Alembic
### API Development
- **[API Overview](api/index.md)** - Build robust REST APIs with FastAPI
- **[Endpoints](api/endpoints.md)** - Create and organize API endpoints
- **[Pagination](api/pagination.md)** - Implement efficient data pagination
- **[Exception Handling](api/exceptions.md)** - Handle errors gracefully
- **[API Versioning](api/versioning.md)** - Manage API versions and backward compatibility
### Security & Authentication
- **[Authentication Overview](authentication/index.md)** - Secure your API with JWT authentication
- **[JWT Tokens](authentication/jwt-tokens.md)** - Understand access and refresh token management
- **[User Management](authentication/user-management.md)** - Handle user registration, login, and profiles
- **[Permissions](authentication/permissions.md)** - Implement role-based access control
### Admin Panel
Powered by [CRUDAdmin](https://github.com/benavlabs/crudadmin) - a modern admin interface generator for FastAPI.
- **[Admin Panel Overview](admin-panel/index.md)** - Web-based database management interface
- **[Configuration](admin-panel/configuration.md)** - Setup, session backends, and environment variables
- **[Adding Models](admin-panel/adding-models.md)** - Register models, schemas, and customization
- **[User Management](admin-panel/user-management.md)** - Admin users, authentication, and security
### Performance & Caching
- **[Caching Overview](caching/index.md)** - Improve performance with Redis caching
- **[Redis Cache](caching/redis-cache.md)** - Server-side caching with Redis
- **[Client Cache](caching/client-cache.md)** - HTTP caching headers and browser caching
- **[Cache Strategies](caching/cache-strategies.md)** - Advanced caching patterns and invalidation
### Background Processing
- **[Background Tasks](background-tasks/index.md)** - Handle long-running operations with ARQ
### Rate Limiting
- **[Rate Limiting](rate-limiting/index.md)** - Protect your API from abuse with Redis-based rate limiting
## Prerequisites
Before diving into this guide, ensure you have:
- Completed the [Getting Started](../getting-started/index.md) section
- A running FastAPI Boilerplate instance
- Basic understanding of Python, FastAPI, and REST APIs
- Familiarity with SQL databases (PostgreSQL knowledge is helpful)
## Next Steps
Ready to dive in? Here are recommended learning paths:
### For New Users
1. Start with [Project Structure](project-structure.md) to understand the codebase
2. Learn [Database Models](database/models.md) and [Schemas](database/schemas.md)
3. Create your first [API Endpoints](api/endpoints.md)
4. Add [Authentication](authentication/index.md) to secure your API
### For Experienced Developers
1. Review [Database CRUD Operations](database/crud.md) for advanced patterns
2. Implement [Caching Strategies](caching/index.md) for performance
3. Set up [Background Tasks](background-tasks/index.md) for async processing
4. Configure [Rate Limiting](rate-limiting/index.md) for production use
### For Production Deployment
1. Understand [Cache Strategies](caching/cache-strategies.md) patterns
2. Configure [Rate Limiting](rate-limiting/index.md) with user tiers
3. Set up [Background Task Processing](background-tasks/index.md)
4. Review the [Production Guide](production.md) for deployment considerations
Choose your path based on your needs and experience level. Each section builds upon previous concepts while remaining self-contained for reference use.