Skip to content

A Jetpack Compose App which allows users(humans) to track their projects progress. The app allows the user to break down their projects into easier manageable tasks where they can easily update their tasks' progress.

Notifications You must be signed in to change notification settings

janewaitara/ProjectTracking

Repository files navigation

ProjectTracking

A Jetpack Compose App which allows users(humans) to track their projects progress. The app allows the user to break down their projects into easier manageable tasks where they can easily update their tasks' progress.

Playstore

Download it on Google Play

Designs

There is a slight mismatch between the designs and the app implementation: The app does not have project's collaboration - no team members and authentication.

         

         

Architecture

The app uses MVVM (Model View View Model) architecture to have a unidirectional flow of data, separation of concern, testability, and a lot more.

Tech Stack

  • Tech Stack

    • Kotlin - First class and official programming language for Android development.
    • Android Jetpack
      • Room - a persistence library provides an abstraction layer over SQLite.
      • Lifecycle - perform action when lifecycle state changes.
      • ViewModel - store and manage UI-related data in a lifecycle conscious way.
      • WorkManager - primary recommended API for background processing.
      • DataStore - data storage solution that allows you to store key-value pairs or typed objects with protocol buffers.
      • Compose - modern toolkit for building native Android UI
    • Kotlin coroutines - Executing code asynchronously.
    • Moshi - A modern JSON library for Android, Java and Kotlin
    • Flow - An asynchronous version of a Sequence, a type of collection whose values are lazily produced. Flow handles the stream of data asynchronously that executes sequentially.
    • HILT - a dependency injection library for Android that reduces the boilerplate of doing manual dependency injection in your project.
  • Gradle

    • Gradle Kotlin DSL - For reference purposes, here's an article explaining the migration.
    • Plugins
      • Ktlint - creates convenient tasks in your Gradle project that run ktlint checks or do code auto format.
  • CI/CD

    • Github Actions

Todo

  • Write tests
  • Performance optimization
  • Configure detekt
  • Complete large screen design implementation
  • Improve notifications feature to show notifications on the notifications screen
  • User Experience improvements
    • Buttons and keyboard behaviour
    • Give user feedback on actions
    • Ripple effect on buttons
    • Milestone deadline should not exceed project deadline
    • Not sure whether copy and pasting is working on textfields

About

A Jetpack Compose App which allows users(humans) to track their projects progress. The app allows the user to break down their projects into easier manageable tasks where they can easily update their tasks' progress.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages