DreamCatch is an application designed to monitor topics you dream of and evaluate the quality of your sleep over time. Users can input a description and tags to add entries, and further evaluate the quality of their sleep using metrics.
- Requirements Analysis
- Use-Case Model
- System Architectural Design
- UML Sequence Diagrams
- Class Design
- Data Model
- System Testing
- Bibliography
Objective of DreamCatch is to allow users to input and track their dreams and sleep quality.
- Add new entries with description, tags, and sleep metrics.
- View and filter entries by category and tags.
- View daily sleep metric charts based on category and date.
- Chart color indication based on trends.
- Valid input validations and formats.
- ORM for database interactions.
- Use of DI container and CQRS architecture.
- Implementation of various design patterns.
- Database storage.
Describes the "Fetch all entries" use-case.
Using Data-Domain-Presentation on the frontend and Command Query Responsibility Segregation (CQRS) architectural pattern on the backend.
Detailed breakdown of the MVVM, Decorator, Strategy patterns and Use Cases.
SQLite and DataStore are utilized for structured data and tag storage.
Details on various testing methods and strategies implemented to assure application quality.
List of references and useful links.
- https://www.baeldung.com/cs/layered-architecture
- https://www.digitalocean.com/community/tutorials/android-mvvm-design-pattern
- https://developer.android.com/topic/architecture/intro
- https://medium.com/huawei-developers/why-should-we-use-use-case-classes-in-our-android-projects-142de0f952fd
- https://www.sqlite.org/index.html
- https://medium.com/androiddevelopers/all-about-preferences-datastore-cc7995679334
- https://developer.android.com/training/testing/fundamentals
- https://developer.android.com/training/testing/instrumented-tests
- https://mockk.io/ANDROID.html
- https://www.baeldung.com/cqrs-event-sourcing-java
- https://refactoring.guru/design-patterns/mediator
- https://refactoring.guru/design-patterns/decorator