Cats API Documentation¶
Welcome to the documentation for the Cats API, a project implementing Clean Architecture principles using FastAPI. This API provides a robust and extensible framework for managing cat-related data, with a focus on clean code, modularity, and maintainability.
Project Overview¶
The Cats API is designed to demonstrate how to:
- Organize a project to prevent spaghetti code.
- Store business logic independently for extensibility.
- Maintain control as a microservice grows.
Built using Robert Martin’s (Uncle Bob) Clean Architecture principles, the project emphasizes dependency inversion, modularity, and separation of concerns.
Key Features¶
- RESTful API powered by FastAPI.
- Clean Architecture for scalable and maintainable code.
- Dependency Injection using the Dishka framework.
- Database integration with PostgreSQL and SQLAlchemy.
- Observability with Prometheus, Grafana, Loki, and Tempo.
- CI/CD pipelines using GitHub Actions.
- Comprehensive testing with Pytest and coverage reports.
Getting Started¶
To start using the Cats API, follow the Quick Start guide to set up the project locally or deploy it using Docker.
Repository¶
Explore the documentation to learn about the Architecture, API Reference, and Development processes.