Skip to content

AAAbdullo/note_app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📝 Note App

Современное приложение для заметок, разработанное на Flutter с элегантным дизайном и поддержкой тёмной темы.

✨ Особенности

  • 📱 Кросс-платформенность - работает на Android и iOS
  • 🌓 Тёмная/светлая тема - автоматическое переключение тем оформления
  • 💾 Локальное хранилище - данные хранятся с использованием Hive (NoSQL база данных)
  • 🔍 Поиск заметок - быстрый поиск среди всех заметок
  • 🗑️ Корзина - временное хранение удалённых заметок с возможностью восстановления
  • ✏️ Редактирование - полноценный редактор заметок с датой создания
  • 🎨 Современный UI - стекломорфизм (glassmorphism) эффекты и плавные анимации
  • 🚀 Высокая производительность - оптимизированная работа с данными

🏗️ Архитектура

Проект построен с использованием следующих паттернов и подходов:

lib/
├── app.dart                    # Корневой виджет приложения
├── main.dart                   # Точка входа
└── ui/
    ├── app_navigator/          # Навигация и маршруты
    ├── components/             # Переиспользуемые компоненты
    │   ├── app_bar_shadow/     # Компонент тени для AppBar
    │   ├── app_snack_bar/      # Кастомные уведомления
    │   ├── glassmorphism/      # Эффекты стекла
    │   ├── glass_input/        # Поля ввода со стеклянным эффектом
    │   └── note_list/          # Список заметок
    ├── domain/                 # Бизнес-логика
    │   ├── hive/               # Модели данных Hive
    │   └── provider/           # State management (Provider)
    ├── pages/                  # Экраны приложения
    │   ├── add_note_page/      # Добавление заметки
    │   ├── edit_note_page/     # Редактирование заметки
    │   ├── home_page/          # Главный экран
    │   ├── search_page/        # Поиск заметок
    │   └── trash_page/         # Корзина
    └── theme/                  # Темы оформления
        ├── app_colors.dart     # Цветовая палитра
        └── app_text_styles.dart # Стили текста

📦 Используемые библиотеки

Библиотека Версия Назначение
hive ^2.2.3 Быстрая NoSQL база данных
hive_flutter ^1.1.0 Flutter интеграция для Hive
provider ^6.0.5 State management
flex_color_scheme ^8.3.1 Продвинутые темы Material
lottie ^3.3.2 Анимации
intl ^0.20.2 Форматирование даты и времени
zoom_tap_animation ^1.1.0 Анимация нажатий
shared_preferences ^2.5.3 Хранение настроек

🚀 Установка и запуск

Предварительные требования

  • Flutter SDK (>=2.18.4 <3.0.0)
  • Dart SDK
  • Android Studio / Xcode (для разработки под iOS)

Установка

  1. Клонируйте репозиторий:
git clone <repository-url>
cd note_app
  1. Установите зависимости:
flutter pub get
  1. Сгенерируйте необходимые файлы для Hive:
flutter pub run build_runner build --delete-conflicting-outputs
  1. Запустите приложение:
flutter run

🎨 Генерация иконки приложения

Для генерации иконки приложения используется пакет flutter_launcher_icons. Иконка находится в assets/icon/note_icon.png.

Для обновления иконки выполните:

flutter pub run flutter_launcher_icons

🗂️ Хранилище данных

Приложение использует две Hive box для хранения данных:

  • notes - активные заметки
  • trash - удалённые заметки (корзина)

Модель данных заметки (NoteModel):

  • title - заголовок заметки
  • note - содержимое заметки
  • createdAt - дата создания

🎯 Основные функции

Создание заметки

  1. Нажмите кнопку "+" на главном экране
  2. Введите заголовок и текст заметки
  3. Заметка автоматически сохраняется

Редактирование заметки

  1. Нажмите на заметку в списке
  2. Измените содержимое
  3. Изменения сохраняются автоматически

Удаление заметки

  1. Свайп влево на заметке
  2. Заметка перемещается в корзину
  3. Из корзины можно восстановить или удалить навсегда

Поиск

  1. Нажмите на иконку поиска
  2. Введите текст для поиска
  3. Результаты отображаются в реальном времени

🌗 Переключение темы

Приложение поддерживает светлую и тёмную темы:

  • Светлая тема: светлый фон (#F6F8FA)
  • Тёмная тема: тёмный фон (#0B1020)

Переключение темы доступно в настройках приложения.

🛠️ Разработка

Запуск в режиме разработки

flutter run --debug

Сборка релизной версии

Android:

flutter build apk --release

iOS:

flutter build ios --release

Тестирование

flutter test

📱 Скриншоты

Добавьте скриншоты вашего приложения здесь

🤝 Вклад в проект

Если вы хотите внести вклад в проект:

  1. Форкните репозиторий
  2. Создайте ветку для новой функции (git checkout -b feature/AmazingFeature)
  3. Закоммитьте изменения (git commit -m 'Add some AmazingFeature')
  4. Запушьте в ветку (git push origin feature/AmazingFeature)
  5. Откройте Pull Request

📄 Лицензия

Этот проект является частным и не предназначен для публикации на pub.dev.

👨‍💻 Автор

Ваше имя - https://github.com/Parzival1308/

📞 Контакты

Если у вас есть вопросы или предложения, свяжитесь со мной:


Сделано с ❤️ с использованием Flutter

📝 Note App

A modern note-taking application built with Flutter featuring elegant design and dark theme support.

✨ Features

  • 📱 Cross-platform - works on Android and iOS
  • 🌓 Dark/Light theme - automatic theme switching
  • 💾 Local storage - data stored using Hive (NoSQL database)
  • 🔍 Note search - quick search across all notes
  • 🗑️ Trash bin - temporary storage for deleted notes with restore capability
  • ✏️ Full editing - complete note editor with creation date
  • 🎨 Modern UI - glassmorphism effects and smooth animations
  • 🚀 High performance - optimized data handling

🏗️ Architecture

The project is built using the following patterns and approaches:

lib/
├── app.dart                    # Root application widget
├── main.dart                   # Entry point
└── ui/
    ├── app_navigator/          # Navigation and routes
    ├── components/             # Reusable components
    │   ├── app_bar_shadow/     # AppBar shadow component
    │   ├── app_snack_bar/      # Custom notifications
    │   ├── glassmorphism/      # Glass effects
    │   ├── glass_input/        # Input fields with glass effect
    │   └── note_list/          # Notes list
    ├── domain/                 # Business logic
    │   ├── hive/               # Hive data models
    │   └── provider/           # State management (Provider)
    ├── pages/                  # Application screens
    │   ├── add_note_page/      # Add note
    │   ├── edit_note_page/     # Edit note
    │   ├── home_page/          # Home screen
    │   ├── search_page/        # Search notes
    │   └── trash_page/         # Trash bin
    └── theme/                  # Themes
        ├── app_colors.dart     # Color palette
        └── app_text_styles.dart # Text styles

📦 Dependencies

Package Version Purpose
hive ^2.2.3 Fast NoSQL database
hive_flutter ^1.1.0 Flutter integration for Hive
provider ^6.0.5 State management
flex_color_scheme ^8.3.1 Advanced Material themes
lottie ^3.3.2 Animations
intl ^0.20.2 Date and time formatting
zoom_tap_animation ^1.1.0 Tap animations
shared_preferences ^2.5.3 Settings storage

🚀 Installation and Setup

Prerequisites

  • Flutter SDK (>=2.18.4 <3.0.0)
  • Dart SDK
  • Android Studio / Xcode (for iOS development)

Installation

  1. Clone the repository:
git clone <repository-url>
cd note_app
  1. Install dependencies:
flutter pub get
  1. Generate necessary files for Hive:
flutter pub run build_runner build --delete-conflicting-outputs
  1. Run the application:
flutter run

🎨 App Icon Generation

The app uses flutter_launcher_icons package for icon generation. The icon is located at assets/icon/note_icon.png.

To update the icon, run:

flutter pub run flutter_launcher_icons

🗂️ Data Storage

The application uses two Hive boxes for data storage:

  • notes - active notes
  • trash - deleted notes (trash bin)

Note data model (NoteModel):

  • title - note title
  • note - note content
  • createdAt - creation date

🎯 Key Features

Creating a Note

  1. Tap the "+" button on the home screen
  2. Enter the note title and content
  3. The note is automatically saved

Editing a Note

  1. Tap on a note in the list
  2. Modify the content
  3. Changes are saved automatically

Deleting a Note

  1. Swipe left on a note
  2. The note is moved to trash
  3. From trash, you can restore or permanently delete

Search

  1. Tap the search icon
  2. Enter search text
  3. Results are displayed in real-time

🌗 Theme Switching

The app supports light and dark themes:

  • Light theme: light background (#F6F8FA)
  • Dark theme: dark background (#0B1020)

Theme switching is available in the app settings.

🛠️ Development

Run in development mode

flutter run --debug

Build release version

Android:

flutter build apk --release

iOS:

flutter build ios --release

Testing

flutter test

📱 Screenshots

Add your app screenshots here

🤝 Contributing

If you'd like to contribute to the project:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📄 License

This project is private and not intended for publication on pub.dev.

👨‍💻 Author

Your Name - https://github.com/Parzival1308/

📞 Contact

If you have any questions or suggestions, feel free to reach out:


Made with ❤️ using Flutter

About

Notes application in Liquid Glass design

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors