Skip to content

NoteTopia - A simple and elegant note-taking app for Android

Notifications You must be signed in to change notification settings

JohnSobhy/NoteTopia

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

85 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NoteTopia - A simple and elegant note-taking app for Android

"NoteTopia" is an Android app that lets you create and manage notes with ease. You can add, modify, and delete notes, Categorize notes with colors, and sort notes by date, name, or color, ascending or descending. There is also a Todo section for the users to have a to-do list for their daily tasks. "Notes" is written in Kotlin and follows the MVVM design pattern. it uses modern Android technologies and best practices, such as:

  • Jetpack Compose for declarative UI
  • Room database for local data storage
  • Dagger Hilt for dependency injection
  • Kotlin Flows and Coroutines for asynchronous operations
  • Clean architecture for separation of concerns
  • Navigation component for navigation between screens
  • Material Design for a consistent and beautiful UI
  • Retrofit for server calls
  • Quote API from api-ninjas.com

Features

  • Add, edit, and delete notes
  • Categorize notes with colors
  • Mark notes as favorites
  • Search notes by title or content
  • Sort notes by date, title, or color
  • Add, edit, and delete todo items
  • Mark todo items as done or undone
  • Change app theme according to system defaults
  • Receive a daily quote by a famous person with a click of a button

How to run the project

To run the project, you need to have Android Studio Arctic Fox or higher with the latest version of Kotlin plugin. You also need to enable Jetpack Compose in your project settings. Then, you can clone the repository and open it in Android Studio. You can run the app on an emulator or a physical device with Android API level 21 or higher.

Screenshots

EmptyHomeScreen fullHomeScreen ListVewHome
Empty Home Screen Notes in Grid View Notes in List View
TodoScreen addEditNoteScreen SearchNotesScreen
Todo List Screen Add Edit Note Screen Search Screen
FavoritesScreen TrashCanScreen SortingSection
Favorite Notes Screen Trash Can Screen Sorting Notes