Skip to content

AdylshaY/easy_notes_app

Repository files navigation

Easy Notes App

A minimalist note-taking application built with Flutter that allows users to organize notes in hierarchical groups.

Flutter Dart License

Features

  • Simple and Intuitive UI: Clean, minimalist design focused on usability
  • Hierarchical Note Organization: Create nested groups and subgroups to organize your notes
  • Note Management: Create, edit, and delete notes with ease
  • Group Management: Create, edit, and delete groups with proper handling of child groups and notes
  • Trash System: Deleted notes and groups are moved to trash before permanent deletion
  • Restoration: Restore notes and groups from trash, maintaining their original structure
  • Offline Storage: All data is stored locally on the device

Architecture

The application follows Clean Architecture principles with a clear separation of concerns:

  • Domain Layer: Contains business logic, entities, and use cases
  • Data Layer: Implements repositories and data sources
  • Presentation Layer: Handles UI components and state management

Tech Stack

  • State Management: Riverpod
  • Routing: Go Router
  • Local Storage: Hive

Project Structure

lib/
├── common/           # Common utilities and widgets
├── core/             # Core functionality (navigation, theme, etc.)
└── features/
    └── notes/        # Main feature module
        ├── data/     # Data layer (repositories, models, data sources)
        ├── di/       # Dependency injection
        ├── domain/   # Domain layer (entities, use cases)
        └── presentation/ # UI layer (screens, widgets, providers)

Getting Started

Prerequisites

  • Flutter SDK (3.0.0 or higher)
  • Dart SDK (3.0.0 or higher)
  • Android Studio / VS Code with Flutter extensions

Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/easy_notes_app.git
    
  2. Navigate to the project directory:

    cd easy_notes_app
    
  3. Install dependencies:

    flutter pub get
    
  4. Run the app:

    flutter run
    

Usage

  • Creating Notes: Tap the floating action button to create a new note
  • Creating Groups: Use the drawer menu to add new groups
  • Organizing Notes: Assign notes to groups during creation or editing
  • Managing Trash: Access the trash from the app bar to restore or permanently delete items

Future Enhancements

  • Rich text formatting (bold, italic, font sizes, colors)
  • Cloud synchronization
  • Tagging system for notes
  • Search functionality
  • Dark mode / theme customization

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published