Minimalist Meditation is a meditation music player app structured with DDD (Domain Driven Design) principles.
Domain-driven design is a concept in order structure software projects and maintain the domain layer of the source code by Eric Evans. For further reading, here. DDD is robust, solid & be applicable to various fields of software development. Thanks to DDD, massive projects are much maintainable with its principles.
In Flutter development, DDD might be used with different state management libraries; such as BLOC, provider, redux... This project uses BLOC. The directory of the project is mainly seperated into 4 subdirectories: Application, Domain, Presentation, Infrastructure. Each subdirectory has a valuable role in DDD. Every one of them should be considered as a layer of a building. Some layers contact other layers, some do not. For further reading, here.
The design of the project is provided from open-source community, here.
๐ค Selim Ustel
- GitHub: @stelselim
- LinkedIn: @selimustel