Description:
PopcornApi is a CRUD application for managing movies and TV series, built with C# for maintainability and scalability. It leverages design patterns and best practices for a well-structured codebase.
Design Patterns:
- Mediator Pattern: Facilitates communication between components, promoting loose coupling and easier testing.
- Decorator Pattern: Dynamically adds functionality to objects without modifying their base class, offering flexibility and reusability.
- UnitOfWork Pattern: Encapsulates database operations for data consistency and simplified transaction management.
Best Practices:
- Clear Architecture: Separates concerns into distinct layers (presentation, application, domain, infrastructure) for better organization and testability.
- Fluent Validation and Assertions: Provides readable and expressive validation rules and test assertions, improving code clarity.
- Unit and Integration Tests: Extensive unit and integration tests ensure code correctness and catch regressions early.
- DDD and TDD: DDD principles guide application structure around the domain model, while TDD helps write concise and focused tests.
- Logging: Provides comprehensive logging capabilities for debugging and monitoring.
- Authentication and Authorization with Policy: Implements robust authentication and authorization mechanisms with policies for access control.