Skip to content

A Notes app with a todo list and reminder notification

Notifications You must be signed in to change notification settings

MrAmmia/AML_Notes_kotlin

Repository files navigation

AML Notes App (Kotlin)

This project is a fully-featured Notes app built with Kotlin. It allows users to create notes with the ability to:

  • Add images within the notes.
  • Create to-dos within the notes.
  • Set up alarm reminders for notes, which will trigger notifications at the scheduled time.

Features

  • Rich Notes:

    • Create and edit notes with embedded images.
    • Add to-dos directly within your notes, making them more interactive and useful for task tracking.
  • Reminders:

    • Set alarm reminders for any note.
    • Receive notifications when the reminder time is reached, ensuring you never miss an important task or note.
  • Notifications:

    • Get notified at the exact time you set for the alarm, allowing you to keep track of important events or tasks within your notes.

Project Structure

  • Kotlin-based: The app is developed using Kotlin for Android, ensuring concise and expressive code.
  • Alarm Manager: Uses Android's Alarm Manager to schedule reminders and trigger notifications.
  • To-do Integration: Allows creating actionable tasks within the notes.

Setup Instructions

  1. Clone the Repository:

    git clone https://github.com/MrAmmia/AML_Notes_kotlin.git
    cd AML_Notes_kotlin
    
  2. Open in Android Studio:

    • Open Android Studio and import the project.
    • Let Android Studio sync and resolve dependencies.
  3. Build and Run:

    • Connect an Android device or start an emulator.
    • Build the project and run it on your device.

Screenshots

Screenshot_20220610_115827 Screenshot_20220610_115901 Screenshot_20220610_125724 Screenshot_20220610_125748 Screenshot_20220610_125805 Screenshot_20220610_130041 Screenshot_20220610_130100

Libraries & Tools Used

  • Kotlin: For development.
  • Room Database: For persisting the notes and to-dos locally.
  • AlarmManager: To schedule alarms and notifications.
  • RecyclerView: For displaying the notes and to-dos in a list.
  • ViewModel & LiveData: For managing UI-related data in a lifecycle-conscious way.
  • Coroutines: For asynchronous tasks.