Skip to content

neddstarkk/Waterlog

Repository files navigation

Waterlog

Waterlog is a moblie app that will remind you to drink water throughout the day. It is a promising software engineering project that has the potential to help people stay hydrated and improve their overall health. It will be built using Flutter and Dart.

Screen recording of the mobile app

1. Usage of Git

You can observe the commit history of the project here

2. UML Diagrams

You can find a use-case diagram, an associated activity diagram and a class diagram of the project.

3. Requirements Mapping

You can find the requirements mapped in a notion page here

Due to some restrictions of Jira itself, I cannot share the Jira board. However I can share the filter used by the project to enable the display of requirements mapped to Jira here

4. Analysis

A) You can find my checklist here

B) And you can find the start-up idea analysis here

5. Domain Driven Design

You can find the visual event storming and the consequent domain allocation and core domain chart here

The relations between the domains can be found here

6. Metrics

Creation of SonarCloud account and connecting to repository for metric badges:

Build test Quality Gate Status Lines of Code Maintainability Rating Technical Debt Duplicated Lines (%) Vulnerabilities Security Rating

7. Clean Code Development

An explanation of what constitutes clean code in this project can be found here

You can also find my personal clean code cheatsheet for Flutter and Dart here

8. Build Management

Adding Github Action Test execution on every push to verify appbundle build.

-> Github Actions

-> Workflow History

9. Unit Tests

Writing unit tests to test the functionality and rendering of widgets

Tests will be executed automatically with every push to respository -> with github actions (see 8.) -> find tests here

You can run tests manually with flutter test in the project root.

10. Favourite IDE

I have been using Android Studio, which is built on top of Jetbrains' IDEA software specifically for android development. My personal favourite list of shortcuts can be found here

11. Functional Programming

I have created a separate program in python under the folder functional_programming to demonstrate the functional programming principles in practice. This was necessary as the dart code was too convoluted to find specific examples.

-> only final data structures

-> (mostly) side effect free functions

-> Use closures/anonymous functions

-> Higher order functions

-> Functions as parameters and return values

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published