A robust and flexible music player designed to provide an immersive listening experience for users.
Cascade is a Domain-Driven Modular Monolith. These foundational concepts ensure a robust, scalable, and maintainable music playback solution. Below you can find an accompanying UML diagram illustrating its architecture and components:
It uses the following patterns:
Below is a comprehensive list of technologies, frameworks, and libraries utilized in the implementation:
- .NET 8.0 (Platform)
- Entity Framework Core 8.0 (ORM)
- SQL Server (Database)
- Polly (Resilience and transient-fault-handling library)
- Mediatr (Mediator implementation)
- XUnit (Testing framework)
- FakeItEasy (Mocking framework)
- NetArchTest (Architecture Unit Tests library)
- Newtonsoft.Json (JSON framework)
- Redis (In-memory data store)
- RabbitMQ (Message broker)
- Mass transit (Distributed application framework)
- Quartz (Job scheduling system)
- Serilog (Logging Library)
- Scrutor (Decorator library)
- FFmpeg (Multimedia framework)
- ATL (Audio Library)
This project is still under analysis and development. I would appreciate your contribution to it. Please let me know by creating an Issue or Pull Request.