Skip to content

enesduhanbulut/DNotes

Repository files navigation

DNotes

This is a native Android application that combines note-taking and to-do list functionalities to help users stay organized and manage their tasks efficiently. The application provides a user-friendly interface and offers various features to enhance task management and productivity.

Features

  • Add Note: Users can add new notes by providing a title, content, and selecting a category for each note.
  • Categorize Notes: Notes can be categorized into different categories to keep them organized and easily accessible.
  • Edit Note: Users can edit the title, content, or category of an existing note.
  • Delete Note: Users can delete a note from the application.
  • View Notes: Users can view all notes or filter notes based on categories.
  • Search: Users can search for specific notes using keywords or titles.(Not completed)
  • Add Task: Users can create tasks by providing a title, description, due date, and priority level.(Not completed)
  • Edit Task: Users can edit the title, description, due date, or priority level of an existing task.(Not completed)
  • Mark Task as Complete: Users can mark a task as complete when it's finished.(Not completed)
  • Delete Task: Users can delete a task from the application.(Not completed)
  • View Tasks: Users can view all tasks or filter tasks based on completion status or priority level.(Not completed)
  • Reminders: Users can set reminders for tasks to receive notifications at specified times.(Not completed)
  • Offline Access: The application supports offline access, allowing users to view and edit notes and tasks even without an internet connection.
  • Data Backup: User notes and tasks are automatically backed up to ensure data safety and retrieval.(Not completed)

Tech Stack

The application is built using modern tools and libraries for Android development:

  • Kotlin: The primary programming language used for Android app development, offering concise syntax, null safety, coroutines, and other modern language features.
  • Room: A persistence library that provides an abstraction layer over SQLite, making it easier to work with a database in Android applications.
  • Coroutines: A lightweight concurrency framework for Kotlin that simplifies the execution of asynchronous tasks and improves code readability and scalability.
  • Flow: A reactive streams library that offers an alternative to LiveData for handling asynchronous data streams in a more flexible and composable manner.
  • StateFlow: A state holder component of Kotlin coroutines, providing a flow-based approach to handle and emit state updates.
  • Navigation: A library for handling navigation between different destinations and passing arguments in a safe and structured manner.
  • Hilt: A dependency injection framework for Android applications that simplifies the setup and management of dependencies.
  • Data Binding: A library that allows for declarative binding of UI components to data models, reducing boilerplate code and enhancing code readability.

To-Do

  • Firebase Auth
  • Backup to Firebase
  • Watch support
  • Push notification
  • Progress Bar
  • Widgets
  • Add map

Installation

  1. Clone the repository:
    git clone https://github.com/your-username/android-note-taking.git
  2. Open the project in Android Studio.
  3. Build and run the application on an Android device or emulator.

Usage

  1. Launch the application on your Android device.
  2. Use the interface to add, categorize, edit, and delete notes as desired.
  3. Tap on a note to view its details, or use the search functionality to find specific notes.
  4. Create tasks by providing the necessary details, including title, description, due date, and priority level.
  5. Edit or delete tasks as needed.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages