This is an application for creating and editing notes, where each note has a title and a description. The project uses the following technologies and libraries:
- Koin: Dependency injection.
- Room: Local database for storing notes.
- Coroutines: Asynchronous and concurrent programming.
- Navigation Component: Screen navigation.
- Lifecycle Components: Lifecycle management with ViewModel and LiveData.
implementation(libs.androidx.core.ktx)
implementation(libs.androidx.appcompat)
implementation(libs.material)
implementation(libs.androidx.constraintlayout)
implementation(libs.androidx.navigation.fragment.ktx)
implementation(libs.androidx.navigation.ui.ktx)
testImplementation(libs.junit)
androidTestImplementation(libs.androidx.junit)
androidTestImplementation(libs.androidx.espresso.core)
// KOIN
implementation(libs.insert.koin.koin.android)
// ROOM
implementation(libs.androidx.room.runtime)
ksp(libs.androidx.room.compiler)
// Coroutines
implementation(libs.kotlinx.coroutines.android)
implementation(libs.androidx.room.ktx)
// Navigation
implementation(libs.androidx.navigation.fragment.ktx)
implementation(libs.androidx.navigation.ui.ktx)
// Life Cycle Arch
// ViewModel
implementation(libs.androidx.lifecycle.viewmodel.ktx)
// LiveData
implementation(libs.androidx.lifecycle.livedata.ktx)
// Annotation processor
ksp(libs.androidx.lifecycle.compiler)- Clone this repository:
git clone https://github.com/silascaxias/TheNotesApp.git
- Open the project in Android Studio.
- Sync Gradle dependencies.
- Build and run the app on a device or emulator.
database//model/→ Contains entities and the local database using Room.repository/→ Contains logic for handling notes.viewmodel/→ Manages data and lifecycle using ViewModel.ui/→ Contains screens and UI components.
✅ Create notes with title and description
✅ Edit existing notes
✅ List all notes
✅ Delete notes
✅ Local storage with Room
This project is under the MIT license. Feel free to contribute and improve it!