Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mohamed-hatem-1/notes-app


https://github.com/mohamed-hatem-1/notes-app

Last synced: about 1 month ago
JSON representation

Awesome Lists containing this project

README

        

# 📒 Notes App

A simple and user-friendly Notes app built using **Flutter**. This app allows users to create, edit, and delete notes. It uses **local storage** to save notes on the device.

---

## ✨ Features

- **Add notes**: Users can create notes with title and description and assign a color to each one for better organization.
- **Edit notes**: Users can modify the content of their notes and update the assigned color as needed.
- **Delete notes**: Remove notes from the list.
- **Offline storage**: Notes are saved on the device even after the app is closed.
- **Modern UI**: Clean and intuitive design for ease of use.
---

## 🔧 Technologies Used

- **Flutter**: For building the cross-platform application.
- **Cubit (State Management)**: Lightweight and predictable state management solution.
- **Local Database**: (`Hive`) for persistent note storage.

---

## 🎥 Demo

https://github.com/user-attachments/assets/84cc79b1-68d2-465a-b3af-fbefe0e5156d

## 🚀 Getting Started

### Prerequisites

- Flutter SDK installed (version 3.5.3 or higher).
- A suitable IDE (e.g., Android Studio, Visual Studio Code).

### Installation

1. Clone this repository:
```bash
git clone https://github.com/Mohamed-Hatem-1/Notes-App.git
cd Notes-App
```

2. Install dependencies:
```bash
flutter pub get
```

3. Run the app:
```bash
flutter run
```

---

## 📂 Folder Structure

```
lib/
├── cubit/
├── models/
├── views/
├── widgets/
└── main.dart
```

---

## 💡 Future Enhancements

- Implement cloud synchronization to save notes across devices.
- Add a search functionality to quickly find notes.
- Introduce reminders and notifications for notes.

---

## 🛠️ Contribution

Contributions are welcome!

1. Fork the repository.
2. Create a feature branch:
```bash
git checkout -b feature-name
```
3. Commit your changes:
```bash
git commit -m "Add feature-name"
```
4. Push the branch:
```bash
git push origin feature-name
```
5. Open a pull request.