Skip to content

Fullstack sleep/dream tracking app made with Kotlin Spring Boot and Android Jetpack Compose

Notifications You must be signed in to change notification settings

erictoader/DreamCatch-Android-Fullstack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DreamCatch 🌙

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.

Screenshot 2023-10-19 at 16 53 56 Screenshot 2023-10-19 at 16 54 32

Table of Contents

Requirements Analysis

Assignment Specification

Objective of DreamCatch is to allow users to input and track their dreams and sleep quality.

Functional Requirements

  • 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.

Non-functional Requirements

  • Valid input validations and formats.
  • ORM for database interactions.
  • Use of DI container and CQRS architecture.
  • Implementation of various design patterns.
  • Database storage.

Screenshot 2023-10-19 at 16 54 52 Screenshot 2023-10-19 at 16 54 12

Use-Case Model

Describes the "Fetch all entries" use-case. image

System Architectural Design

Architectural Pattern Description

Using Data-Domain-Presentation on the frontend and Command Query Responsibility Segregation (CQRS) architectural pattern on the backend.

Diagrams

image image

UML Sequence Diagrams

image

Class Design

Design Patterns Description

Detailed breakdown of the MVVM, Decorator, Strategy patterns and Use Cases.

UML Class Diagram

image

Data Model

SQLite and DataStore are utilized for structured data and tag storage.

System Testing

Details on various testing methods and strategies implemented to assure application quality.

Bibliography

List of references and useful links.

  1. https://www.baeldung.com/cs/layered-architecture
  2. https://www.digitalocean.com/community/tutorials/android-mvvm-design-pattern
  3. https://developer.android.com/topic/architecture/intro
  4. https://medium.com/huawei-developers/why-should-we-use-use-case-classes-in-our-android-projects-142de0f952fd
  5. https://www.sqlite.org/index.html
  6. https://medium.com/androiddevelopers/all-about-preferences-datastore-cc7995679334
  7. https://developer.android.com/training/testing/fundamentals
  8. https://developer.android.com/training/testing/instrumented-tests
  9. https://mockk.io/ANDROID.html
  10. https://www.baeldung.com/cqrs-event-sourcing-java
  11. https://refactoring.guru/design-patterns/mediator
  12. https://refactoring.guru/design-patterns/decorator

About

Fullstack sleep/dream tracking app made with Kotlin Spring Boot and Android Jetpack Compose

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages