/Paper

A minimal notes application in Jetpack Compose with MVVM architecture. Built with components like DataStore, Coroutines, ViewModel, LiveData, Room, Navigation-Compose, Coil, koin etc.

Primary LanguageKotlinApache License 2.0Apache-2.0

Preview image

Paper - A Minimal Notes App

Android Arsenal

A minimal notes application in Jetpack Compose with MVVM architecture. Built with components like DataStore, Coroutines, ViewModel, Flow-State, Room, Navigation-Compose, Coil, koin etc.

This App showcases:

  • UI state management
  • Basic Material Design theming (Light & Dark)
  • Integration with Architecture Components: Navigation, ViewModel, Room
  • Minor features like dedicated settings screen, Dialogs etc.

This is the first step for Paper in becoming a full fledged Notes application with all the desired features currently this is the first phase which included a basic working good Ui App.

Screenshots

Flow

stateDiagram-v2
[*] --> HomeScreen

HomeScreen --> NoteScreen
NoteScreen --> Add
Add --> DoodleScreen
Add --> ImageScreen
NoteScreen --> HomeScreen
NoteScreen --> PreviewScreen
PreviewScreen -->  Edit
PreviewScreen -->  Delete
Edit --> DoodleScreen
Delete --> DoodleScreen
Delete --> ImageScreen
PreviewScreen --> ImageScreen
HomeScreen --> SearchScreen
SearchScreen --> NoteScreen
HomeScreen --> SettingScreen
HomeScreen --> [*]
Loading

Completed

Phase 1

  • Minimal todo app

Phase 2

  • Image Integrations
  • Doodle Screen Integration

On-going Features

Phase 3

  • Material 2 to Material 3 migration

Upcoming Features

Phase 4

  • Feature to Share Notes
  • Backup and Restore Feature
Phase 5
  • To-do list integration
  • Tags/Folders to segregate notes

Thanks to

DrawBox for providing ability to created dynamic doodles on canvas.

Contribute

Interested in seeing a particular feature of the Android Framework or Jetpack implemented in this app? Please open a new issue.

License

Licensed under the Apache License, Version 2.0, click here for the full license.

Author & support

This project was created by Akshay Sharma.

If this project help you reduce time to develop, you can give me a cup of coffee :)

paypal