📒Note taking app, MVVM with Google Architectural components Room, LiveData and ViewModel written in Kotlin, androidx libraries

Overview

📒 MyNotes

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

This is a Beginner Friendly Repository made for Open Source Enthusiasts who can contribute to the App.

To contribute in this project, you can update the existing applications.

Features :

  • Plain Text Notes - Take notes in an Secure & Great App.
  • Delete Notes - Delete Notes using One Touch.
  • Web Url - Add Website URL for storing Url.
  • Add Image - Add Images in Notes to keep it Awasome.
  • Notes Colours - Change/Add Differente colours of Notes.
  • Re-edit Notes - Re-edit or Update Your Notes.

Contributing

You can star and fork 🍽️ this repository on GitHub by navigating at the top of this repository.

Getting Started

  • Fork it.

  • Clone your forked repo and move inside it:

git clone https://github.com/akshatbhuhagal/MyNotes.git && cd MyNotes

  • Checkout to a new branch to work on an issue:

git checkout -b my-amazing-feature

  • Running the project

open the project in Android Studio and run!

  • Once you're all done coding, it's time to open a PR :) Run the following commands from the root of the project directory:

git add .

git commit -m "A short description about the feature."

git push origin

Open your forked repo in your browser and then raise a PR to the master branch of this repository!

Contributing

To start contributing, check out CONTRIBUTING.md. New contributors are always welcome to support this project. If you want something gentle to start with, check out issues labelled as easy or good-first-issue. Check out issues labelled as hacktoberfest if you are up for some grabs! :)

Liked this repo, give it a star and fork 🍽️ this repository to help others!!

You can Install and test latest MyNotes app from below 👇

Screen Shots :

Comments
  • Replaced RecyclerViewAdapter with ListAdapter

    Replaced RecyclerViewAdapter with ListAdapter

    I replaced it because of the following:

    • It has diffUtil which can compare what's the calculated difference and refreshes only what changed
    • It's easy to submit the list as well, there is no need to remember the different methods to update the adapter, just do submitList() and it will do the magic
    • It makes the comparison in the background thread as well which makes it even better

    For more check out this article - https://medium.com/simform-engineering/listadapter-a-recyclerview-adapter-extension-5359d13bd879

    Hacktoberfest hacktoberfest-accepted 
    opened by hellosagar 2
  • App breaks from home screen on back press

    App breaks from home screen on back press

    If you're on the home screen and press the back button from the device, the screen turns black and you have to close out before you're able to do anything.

    Samsung Galaxy S20 Android 12 latest build

    opened by DrewStephensCoding 1
  • ListAdapter DiffUtil fixed and NoteEntity updated to Data Class

    ListAdapter DiffUtil fixed and NoteEntity updated to Data Class

    ListAdapter DiffUtil

    • checking using oldItem == newItem in areItemsTheSame() is wrong as it would recreate viewHolder if any changes happen
    • checking using .id is correct as it wont recreate viewholder for the same item
    • checking areContentTheSame() using oldItem == newItem is correct as it will only update the contents of the viewHolder if any details change and not recreate viewHolder

    NoteEntity being a class and not data class

    • Classes that hold data should be data class
    • Data class auto create the equals() method which is need for comparison in diffUtil
    Hacktoberfest hacktoberfest-accepted 
    opened by Vaibhav2002 0
  • Refactor Codebase to follow MVVM

    Refactor Codebase to follow MVVM

    Refactored codebase to follow MVVM Arch, which it wasn't following. Used Flows to listen to changes in notes, and state management. This makes the codebase easily testable and maintainable

    Hacktoberfest hacktoberfest-accepted 
    opened by Vaibhav2002 0
  • Enhance project structure and remove assertion

    Enhance project structure and remove assertion

    Worked on the following things:

    • Removed the assertion from the production code, its better to use it in testing and not in production/working code
    • Enhanced the project structure to be more future-proof and flexible
    Hacktoberfest hacktoberfest-accepted 
    opened by hellosagar 0
  • feat: Splash Screen

    feat: Splash Screen

    Feature added

    • Splash Screen

    Proposed changes

    • added SplashScreenActivity.kt to the presentation folder
    • added activity_splash_screen.xml layout file to the layout folder
    • make the splash screen activity as a Launcher screen

    Screenshots

    splashscreen

    Hacktoberfest hacktoberfest-accepted 
    opened by ritiksharmarj 0
  • Refactor kotlin synthetic to use viewbinding

    Refactor kotlin synthetic to use viewbinding

    Refactor the CreateNoteFragment.kt and CreateNoteFragment.kt to use view binding instead of kotlin synthetic.

    Why have a look here = Android doc and this - Stackoverflow

    Hacktoberfest hacktoberfest-accepted 
    opened by hellosagar 0
  • Simplifying binding initialisation and removed the BaseFragment in favour of composition over inheritance

    Simplifying binding initialisation and removed the BaseFragment in favour of composition over inheritance

    Worked on the following things -

    • Removed the BaseFragment from use because the composition is usually better than inheritance and in bigger projects, this BaseFragment so much becomes huge that it's even hard to read that

    • Using the Kotlin delegate getting the fragment instance is easy

    • Used the lifecycle scope to launch coroutine in a fragment that is lifecycle aware

    Hacktoberfest hacktoberfest-accepted 
    opened by hellosagar 0
  • Fixed room related error in mac m1

    Fixed room related error in mac m1

    Getting this error for the room version 2.3.0 specifically for m1 mac

    Caused by: java.lang.Exception: No native library is found for os.name=Mac and os.arch=aarch64. path=/org/sqlite/native/Mac/aarch64

    on upgrading the dependency to 2.4.0-alpha04 and above

    so basically, fixed an issue with Room’s SQLite native library to support Apple’s M1 chips.

    Reference StackOverflow post - Link

    Hacktoberfest hacktoberfest-accepted 
    opened by hellosagar 0
  • Create Note apparence

    Create Note apparence

    Minor changes in spacing, colors and alternative texts, aiming to improve accessibility and reduce warnings. I will soon be making more adjustments to fix all warnings.

    image

    opened by RuanAragao 0
  • Implement recommended community standards to the project

    Implement recommended community standards to the project

    Hello @akshatbhuhagal

    I was going though this project and noticed that there are some missing items based on the Github Community Standards recommendations that would make the project contributor friendly, e.g. a license, an issue template and a pull request template.

    Let me know if this is something you would like to implement on this project.

    opened by orama254 0
Owner
Akshat Bhuhagal
I'm Android App Developer & Web Designer focused on user‑friendly experiences & learning beside technology. Dream >> Learn >> Create
Akshat Bhuhagal
LukohSplash is based on Android latest architectural components,Jetpack, and follows MVVM design pattern.

?? The LukohSplash by open-source contributor, Lukoh. LukohSplash LukohSplash is based on Android latest architectural components,Jetpack, and follows

Lukoh-Nam 86 Dec 20, 2022
Android MVVM Base Architecture for Enterprise Mobile Application using Architectural Components

Android MVVM Base Architecture for Enterprise Mobile Application using Architectural Components Highlights MVVM Architectural pattern Offline Support

Behruz Bahromzoda 2 Apr 23, 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 demo todo/notes app which demonstrates the use of MVVM architecture, Navigation Component Library, Room Database, LiveData, Coroutines

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

Raghav Aggarwal 89 Dec 23, 2022
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
MVVM RECIPE ANDROID APP Is an app where I show how to use MVVM, retrofit, dagger hilt, coroutine, liveData, Kotlin, navigation component, and so on...

MVVM RECIPE ANDROID APP Is an app where I show how to use MVVM, retrofit, dagger hilt, coroutine, liveData, kotlin, navigation component, and so on...

Isaias Cuvula 23 Dec 5, 2022
Model-View-ViewModel architecture components for mobile (android & ios) Kotlin Multiplatform development

Mobile Kotlin Model-View-ViewModel architecture components This is a Kotlin Multiplatform library that provides architecture components of Model-View-

IceRock Development 638 Jan 2, 2023
Atividade do Google Codelabs, utilizando ViewModel e DataBinding.

Cupcake app This app contains an order flow for cupcakes with options for quantity, flavor, and pickup date. The order details get displayed on an ord

Fernando Batista 0 Nov 24, 2021
A simple app that consumes The GitHub APIs to display github users. The aim was to learn about different jetpack libraries, built with MVVM pattern.

A simple app that consumes The GitHub APIs to display github users. The aim was to learn about different jetpack libraries, built with MVVM pattern.

Odhiambo Brandy 4 Apr 15, 2022
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
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
Full Management is an application that helps you manage your tasks effectively. built with the latest tachs like Compose UI, Jetpack libraries, and MVVM design pattern.

Full Management is an application that helps you manage your tasks effectively. built with the latest tachs like Compose UI, Jetpack libraries, and MVVM design pattern.

Amr algnyat 4 Nov 1, 2022
❤️ 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
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
🎯 Einsen is a prioritization app that uses Eisenhower matrix technique as workflow to prioritize a list of tasks & built to Demonstrate use of Jetpack Compose with Modern Android Architecture Components & MVVM Architecture.

?? Einsen Einsen is a prioritization app that uses Eisenhower matrix technique as workflow to prioritize a list of tasks & built to Demonstrate use of

Sanju S 840 Jan 2, 2023
Android Jetpack MVVM Boilerplate. Integrated with Jetpack dependencies, Hilt, Room, Okhttp, Retrofit, etc.

Android Jetpack MVVM Boilerplate Android Jetpack MVVM Boilerplate a Jetpack based, MVVM boilerplate template project for Modern Android. Features Here

Johnny Miller 12 Jul 7, 2022
Kotlin+Flow+Retrofit+OKHttp+ViewBanding+ViewModel+LiveData封装的一个Kotlin版本的MVVM框架

Gitee 地址:kmvvm Github 地址:kmvvm CHANGE LOG 技术要点 支持Flow+Retrofit+OkHttp实现链式http请求 支持Rxjava+Retrofit+OkHttp实现链式http请求 封装基类:BaseActivity、BaseVMActivity、Ba

抓猪 82 Dec 23, 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