Skip to content

Note App using kotlin/jetpack compose version 2.0

Notifications You must be signed in to change notification settings

Sanskar-Rijal/Note_App

Repository files navigation

Kei Na Kei Ta Ho App

A modern note-taking application built using Jetpack Compose that allows users to create, edit, and delete notes securely. The app incorporates biometric authentication to ensure that only authorized users can access their notes.

Functional Requirements

  • Biometric Authentication: Upon launching the app, users are prompted to authenticate using their device's biometric methods (fingerprint,pin or phone pattern). Only after successful authentication, users are able to view and interact with their notes.

  • Create and Manage Notes: Users can:

    • Add new notes with a title and description.

    • Edit existing notes by long-pressing on the note.

    • Delete notes by tapping the notes.

    • Theme: The app uses a dynamic color palette for Android 12 and above, adapting to the system-wide theme changes. For devices running below Android 12, the app defaults to a purple theme.

Non-functional Requirements

  1. Security:

    • The app uses biometric authentication (fingerprint or phone pattern) to secure access to notes, ensuring that only authenticated users can view and modify their content.
  2. Performance:

    • The app should load quickly and be responsive, providing smooth navigation between screens, even with a large number of notes.
    • Biometric authentication should process efficiently, with minimal delay in granting access to the notes.
  3. Reliability:

    • The app must handle errors gracefully, such as failed biometric authentication or hardware unavailability.
    • It should ensure data consistency, with reliable saving, updating, and deleting of notes.
  4. Compatibility:

    • The app supports Android 8 (API level 26) and above, with dynamic theming for devices running Android 12 and later, ensuring compatibility across a range of devices.
  5. Maintainability:

    • The app is modular, with clearly defined components and view models, making it easy to maintain and extend.
    • Hilt is used for dependency injection, ensuring that code is clean, manageable, and easy to test.
  6. Extensibility:

    • The app is designed to allow for future expansions, such as adding more note-related features (e.g., categorization, reminders) or additional security features.
  7. Data Privacy:

    • User notes are stored locally on the device.
    • The app does not send or share any user data externally.
  8. Efficiency:

    • The app minimizes resource usage, ensuring low battery consumption and efficient memory usage, even during background operations.

Tech Stack

  • Programming Language: Kotlin
  • Architecture: MVVM (Model-View-ViewModel)
  • UI Framework: Jetpack Compose
  • State Management: StateFlow
  • Navigation: Navigation Component with Compose
  • Biometric Authentication: Android Biometric API
  • Dependency Injection with Hilt-This app utilizes Hilt for dependency injection to manage object creation and provide dependencies throughout the app.

Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/SecureNoteApp.git
  2. Open the project in Android Studio.

  3. Build and run the project on your Android device/emulator with biometric support.

Splash Screen Animation And Biometrics

Adding/Deleting Note

Screenshots