A simple and efficient notes application built using Android Studio. This application allows users to create, edit, and delete notes.
- 📝 Create new notes
- 🖊 Edit existing notes
- 🗑 Delete notes
- 👥 User-friendly interface
- 💾 Persistent storage of notes
- 🏗 MVVM Setup
- 🛠 HILT for dependency injection
- 🔄 Coroutines for asynchronous programming
- 🌐 API Integration using Retrofit
- 🛡 Interceptors for authenticated flows
- ✅ Handling validations and loading state
- 🔐 Complete Signup/Login flow
-
Clone the repository:
git clone https://github.com/Tejaskt/kt_NotesApplication.git
-
Open the project in Android Studio:
- Open Android Studio.
- Click on
File > Open
. - Navigate to the cloned project directory and click
OK
.
-
Build and run the project:
- Click on the
Run
button or use the shortcutShift + F10
.
- Click on the
-
Creating a Note:
- Click on the
➕
button to create a new note. - Enter the title and content of the note.
- Click
💾 Save
to save the note.
- Click on the
-
Editing a Note:
- Click on the note you want to edit.
- Make the necessary changes.
- Click
💾 Save
to update the note.
-
Deleting a Note:
- Long press on the note you want to delete.
- Confirm the deletion.
The application follows the Model-View-ViewModel (MVVM) architecture pattern to ensure a clean separation of concerns.
The application uses HILT for dependency injection, which helps to manage dependencies efficiently and improve code maintainability.
Kotlin Coroutines are used for asynchronous programming, ensuring smooth and efficient performance.
Retrofit is used for API integration, providing a robust and easy-to-use HTTP client for Android.
Interceptors are implemented to handle authenticated API requests seamlessly.
Comprehensive validation logic and loading state management are included to enhance the user experience.
A complete signup and login flow is implemented to manage user authentication securely and efficiently.
Contributions are welcome! Please open an issue or submit a pull request for any changes.
-
Fork the repository.
-
Create a new branch:
git checkout -b feature_branch
-
Make your changes and commit them:
git commit -m "Description of changes"
-
Push to the branch:
git push origin feature_branch
-
Open a pull request.
This project is licensed under the MIT License - see the LICENSE file for details.
- Author: Tejas
- GitHub: Tejaskt