πŸ“ A demo todo/notes app which demonstrates the use of MVVM architecture, Navigation Component Library, Room Database, LiveData, Coroutines

Overview

πŸ“ MyNotes

A demo notes/todo app which demonstrates the use of MVVM architecture, Navigation Component Library, Room Database, LiveData, Coroutines etc.

πŸŽ₯ Working Demo

πŸ”ˆ Note

I have used Manual Dependency Injection πŸ’‰ method for Injecting Dependencies in the app. If you are a begginer with MVVM then I highly recommend to start with Manual Dependency injection method and then move to Dagger and Hilt.

πŸ”§ Built With

  • Kotlin - Programming Language Used in the app.
  • Navigation Component Library - For setting up app's navigation.
  • Room Database - For persisting data/tasks in device's local storage.
  • Kotlin Coroutines - To execute code asynchronously.
  • Flow - In the simplest of ways consider this as a pipe through which the data flows in the app, by using flow a developer doesn't need to refresh variables which contain data.
  • LiveData - Used to observe the data on the UI layer
  • ViewModel - To Store UI-related data that isnt destroyed on UI changes.
  • RecylerView - To Display data in a list format.

πŸ—οΈ Architecture Design

Screenshot 2022-01-18 at 1 31 48 PM

This project is made for educational purposes so don't be shy of asking any questions about any concept from the app or about android developement.

Do open issues and raise PRs to I'll try my best to assist you. πŸ˜ƒ

πŸ“© Contact

Don't let yourself get caught in the decision paralysis, just start learning and building. πŸ˜‰

DM me at πŸ‘‡

Comments
  • Add Up Button in the Action Bar for AllTasksFragment

    Add Up Button in the Action Bar for AllTasksFragment

    The App has single activity (MainActivity) and this activity's action bar is used for both the fragments which are inflated inside it. The task is to implement action bar for both fragments and setup a conditional navigation in which an Up Button Screenshot 2022-04-25 at 1 01 25 PM is showed in the action bar of AddTaskFragment but not in the action bar of AllTasksFragment

    The usage of a Up Button is that it should navigate a user back to previous destination of the app he visited but not exit the app https://developer.android.com/guide/navigation/navigation-principles

    enhancement HACKTOBERFEST-ACCEPTED 
    opened by avidraghav 17
  • Improve the overall UI of the app

    Improve the overall UI of the app

    The styling of Shown Tasks is very basic, improve it by changing the delete icon style, font style etc.

    Screenshot 2022-03-20 at 4 22 26 PM

    The above image is just an example, the complete UI of the app needs to be revamped, a descent color scheme and UI needs to be implemented uniformly through the app by following Material guidelines

    enhancement good first issue HACKTOBERFEST-ACCEPTED 
    opened by avidraghav 16
  • Implement Animations for various transitions

    Implement Animations for various transitions

    Implement animated transitions for various actions such as

    1. When a user clicks on add note/todo button and moves to the next screen where he fills the details of that note/todo.
    2. Initially when the user opens the app the already saved notes/todo should have a descent and simple entry animation.
    enhancement good first issue HACKTOBERFEST-ACCEPTED 
    opened by avidraghav 14
  • Set a custom color by note

    Set a custom color by note

    I Would like to set a custom color on the note, to make my cluster notes I select the color on note screen and a piece of that color appears in the list item

    if possible, I would like to create this feature

    opened by NewtonCesarRoncari 11
  • Improve ui

    Improve ui

    @avidraghav Sir can i improve all fragment recyclerview item layout below is the reference image of improvement like its not exact because screenshot is of another ui but improve in same way.

    WhatsApp Image 2022-10-05 at 7 48 59 PM

    enhancement good first issue HACKTOBERFEST-ACCEPTED 
    opened by thisrahul 8
  • Fetch tasks in background thread to avoid ANT

    Fetch tasks in background thread to avoid ANT

    • In case of a large number of tasks, it is better to fetch data on IO thread rather than the main thread because the app will give ANR Error.
    • Hardcoded string converted to a constant in the constant file
    opened by syyam 3
  • Automated testing

    Automated testing

    Hey @avidraghav , how did you set up automated testing so that whenever someone commits to your code, it runs those tests and generates the report? Could you explain it step by step, or if you have any resources on this? Is there anything else I should know before setting up a CI/CD pipeline?

    question 
    opened by Krish-Parekh 2
  • Needless Assignment in Collect

    Needless Assignment in Collect

    https://github.com/avidraghav/MyNotes/blob/624946c017a9560b51ac571178ac95eb83500847/app/src/main/java/com/raghav/mynotes/ui/AllTasksVM.kt#L25

    Assigning Resource.Loading() to _task variable in the collect lambda does nothing as you are immediately assigning Success to it. Move it outside the scope.

    enhancement 
    opened by ravi-kumar7 2
  • Bug Keyboard over snackbar

    Bug Keyboard over snackbar

    bug keyboar stays over the sanckbar when the user, dont select a deadline

    https://user-images.githubusercontent.com/31870695/194767249-4e2c7966-e078-4151-b642-059ab3d28f3d.mp4

    HACKTOBERFEST-ACCEPTED 
    opened by NewtonCesarRoncari 1
  • Parcelable vs Serializable

    Parcelable vs Serializable

    Shouldn't we use Parcelable instead of Serializable in our TaskEntity; parceable process is much faster than serializable, I was reading about the difference between them and I found this StackOverFlow

    HACKTOBERFEST-ACCEPTED 
    opened by Krish-Parekh 1
  • Dispatcher Dependency

    Dispatcher Dependency

    Why is it necessary to provide a dependency for CoroutineDispatcher instances using a DispatchersProvider class, rather than directly inserting the instances into the components that use them?

    • You have done this for the centralize management of dispatchers ?
    • Can you explain your thought process behind this ?

    AppModule

    DispatcherProvider

    opened by Krish-Parekh 0
Releases(v1.0.3)
Owner
Raghav Aggarwal
Android Developer πŸ“±| Computer Science Engineering StudentπŸ’»| Space Geek πŸš€πŸ›°πŸ‘©β€πŸš€
Raghav Aggarwal
MVVM ,Hilt DI ,LiveData ,Flow ,Room ,Retrofit ,Coroutine , Navigation Component ,DataStore ,DataBinding , ViewBinding, Coil

MVVM ,Hilt DI ,LiveData ,Flow ,Room ,Retrofit ,Coroutine , Navigation Component ,DataStore ,DataBinding , ViewBinding, Coil

Ali Assalem 12 Nov 1, 2022
Android App using Kotlin, MVVM, ViewModel, LiveData, Coroutines, Room and DataBinding

Words Android App using Kotlin, MVVM, ViewModel, LiveData, Coroutines, Room and

Viacheslav Veselov 0 Jul 16, 2022
Movies App by MVVM, Coroutines, Retrofit,, Navigation Component, ExoPlayer, Coil and Firebase

Show-Time Movies App by MVVM, Coroutines, Retrofit, Navigation Component, ExoPlayer, Coil and Firebase Screens Home Movies Details Movies List Person

Hamdy Abd El Fattah 15 Dec 10, 2022
πŸ“Š A Minimal Expense Tracker App built to demonstrate the use of modern android architecture component with MVVM Architecture

Expenso ?? A Simple Expense Tracker App ?? built to demonstrate the use of modern android architecture component with MVVM Architecture ?? . Made with

Sanju S 813 Dec 30, 2022
πŸ“’Note taking app, MVVM with Google Architectural components Room, LiveData and ViewModel written in Kotlin, androidx libraries

?? MyNotes Note taking Android App using androidx libraries, MVVM with Google Architectural components Room, LiveData and ViewModel. Written in Kotlin

Akshat Bhuhagal 60 Dec 5, 2022
Keep My Notes App Android MVVM architecture

Keep My Notes My Notes. lien PlayStore Screenshots Architecture This app implements the MVVM architectural . Built with ViewModel - A class designed t

Riadh Yousfi 1 Nov 4, 2021
simple app used Kotlin MVVM Dagger2 Room Coroutines Retrofit2

Exhibits Application which retrieves data from Webserver (via Retrofit), saves it into Room and get from it if user is offline. There are applying MVV

Ahmed Eid 0 Oct 14, 2021
Kotlin, MVVM, Navigation Component, Hilt, Jetpack Compose, Coroutine, MutableState, Retrofit2, Glide

MVVM-RecipeApp Kotlin, MVVM, Navigation Component, Hilt, Jetpack Compose, Coroutine, MutableState, Retrofit2, Glide Main Features Kotlin MVVM Jetpack

Ali Assalem 5 Jul 28, 2022
A sample project in Kotlin to demonstrate AndroidX, MVVM, Coroutines, Hilt, Room, Data Binding, View Binding, Retrofit, Moshi, Leak Canary and Repository pattern.

This repository contains a sample project in Kotlin to demonstrate AndroidX, MVVM, Coroutines, Hilt, Room, Data Binding, View Binding, Retrofit, Moshi, Leak Canary and Repository pattern

Areg Petrosyan 42 Dec 23, 2022
A sample to showcase Kotlin, MVVM, Koin, Coroutines, StateFlow, Room, WorkManager, Retrofit and Unit test.

TVMaze-Cache A sample to showcase Kotlin, MVVM, Koin, Coroutines, StateFlow, Room, WorkManager, Retrofit and Unit test. Features MVVM Architecture + R

Mohammadali Rezaei 25 Jul 21, 2022
Sanju S 840 Jan 2, 2023
This repository contains a detailed sample app that implements MVVM architecture using Hilt, Coroutines, Retrofit and Compose

Saber News App sample project to explain how to build solid, clean architected App using MVVM and repository architecture Techniques Kotlin Clean arch

null 1 Dec 26, 2021
GraphQLTrial is a demo application based on modern Android application tech-stacks and MVVM architecture.

GraphQLTrial is a demo application based on modern Android application tech-stacks and MVVM architecture. App fetching data from the netw

Emre YILMAZ 6 Aug 19, 2022
A small demo application based on modern Android application technology stacks and MVVM architecture

Pokedex Pokedex es una pequeΓ±a aplicaciΓ³n de demostraciΓ³n basada en modernas pil

Jhonatan Iberico 0 Dec 17, 2021
❀️ Android Ghibli using Hilt, Motion, Coroutines, Jetpack (ViewModel) based on MVVM architecture.

Glibhi ❀️ Android Ghibli using Hilt, Motion, Coroutines, Jetpack (ViewModel) based on MVVM architecture. Tech stack & Open-source libraries Minimum SD

Geovani Amaral 4 Aug 26, 2022
Followed best practices, MVVM, clean architecture and coroutines.

GitHub Profiles Video Walktrough Using Github public API allows users to search Github profiles through the username. It shows the necessary informati

Vishal Sengar 2 Sep 6, 2022
Chat App MVVM + Clean ArchitectureChat App MVVM + Clean Architecture

Chat App MVVM + Clean Architecture This Android application built using MVVM + Clean Architecture architecture approach and is written 100% in Kotlin.

null 4 Nov 29, 2022
App kotlin with flow, paging 3, MVVM, Room, Dagger hilt

TMDBTest App kotlin with flow, paging 3, MVVM, Room, Dagger hilt Para compilar la app se tiene que descargar el proyecto. Luego poner la APIKEY de TMD

null 3 Sep 9, 2022