Skip to content

OS-7-K/OS-Notes

Repository files navigation

Notes App πŸ“

A clean and responsive Flutter notes application that works seamlessly across all platforms and screen sizes.

Developed by: Osama Elkayyal

Screenshots πŸ“±

App Icon

App Icon

Beautiful and clean app icon design

Coming Soon πŸ“Έ

  • Login Screen Screenshot
  • Home Screen with Notes
  • Add/Edit Note Screen
  • Folders Management Screen
  • Responsive Design Examples

Download πŸ“₯

Ready to try the app? Download the latest version!

πŸ€– Android APK: OS-Notes-v1.0.1.apk

  • Version: 1.0.1
  • Size: ~22 MB
  • Requirements: Android 5.0+ (API 21)

πŸ“ More releases and installation instructions available in the releases folder.

Features ✨

  • Responsive Design: Adapts beautifully to different screen sizes (mobile, tablet, desktop)
  • Cross-Platform: Runs on Android, iOS, Web, Windows, macOS, and Linux
  • Clean Architecture: Well-organized code structure with separation of concerns
  • Material Design 3: Modern UI following Google's latest design guidelines
  • Local Database: SQLite database for offline storage
  • State Management: Provider pattern for efficient state management
  • Folder Organization: Organize notes into colorful folders
  • User Authentication: Secure login system with email and password
  • Note Management: Create, edit, delete, and search notes with color customization
  • UI Settings: Customizable user interface preferences

Project Structure πŸ—οΈ

lib/
β”œβ”€β”€ main.dart                    # App entry point
β”œβ”€β”€ core/                        # Core utilities and themes
β”‚   β”œβ”€β”€ app_theme.dart          # App theming configuration
β”‚   β”œβ”€β”€ colors.dart             # Color definitions
β”‚   └── widgets/                # Shared widgets
β”‚       └── app_note_card.dart  # Note card component
β”œβ”€β”€ models/                      # Data models
β”‚   β”œβ”€β”€ note_model.dart         # Note data model
β”‚   └── folder_model.dart       # Folder data model
β”œβ”€β”€ database/                    # Database layer
β”‚   └── database_helper.dart    # SQLite database helper
β”œβ”€β”€ providers/                   # State management
β”‚   β”œβ”€β”€ note_provider.dart      # Notes state management
β”‚   β”œβ”€β”€ folder_provider.dart    # Folders state management
β”‚   β”œβ”€β”€ theme_provider.dart     # Theme state management
β”‚   └── ui_settings_provider.dart # UI settings state management
└── screens/                     # UI screens
    β”œβ”€β”€ splash_screen.dart      # Splash/loading screen
    β”œβ”€β”€ login_screen.dart       # User authentication screen
    β”œβ”€β”€ home_screen.dart        # Main notes display screen
    β”œβ”€β”€ add_note_screen.dart    # Add/edit note screen
    └── folders_screen.dart     # Folder management screen

Getting Started πŸš€

Prerequisites

  • Flutter SDK (>=3.8.1)
  • Dart SDK
  • Android Studio or VS Code with Flutter extensions

Installation

  1. Clone the repository:
git clone https://github.com/Osama7amed04/OS-Notes.git
cd OS-Notes
  1. Install dependencies:
flutter pub get
  1. Run the app:
# For development
flutter run

# For specific platforms
flutter run -d chrome        # Web
flutter run -d windows       # Windows
flutter run -d android       # Android
flutter run -d ios           # iOS (macOS required)

Building for Production

# Android APK
flutter build apk --release

# Android App Bundle (recommended for Play Store)
flutter build appbundle --release

# Web
flutter build web --release

# Windows
flutter build windows --release

# iOS (macOS required)
flutter build ios --release

Key Features 🎯

Note Management

  • Create and edit rich text notes
  • Delete notes with confirmation
  • Color-coded notes for better organization
  • Search functionality across all notes
  • Sort notes by creation date

Folder Organization

  • Create custom folders with unique colors
  • Organize notes into specific folders
  • Edit and delete folders
  • Unfiled notes category for loose notes

User Experience

  • Secure login with email/password
  • Persistent login state
  • Customizable UI settings
  • Responsive design for all screen sizes
  • Smooth animations and transitions

Responsive Design πŸ“±πŸ’»

The app automatically adapts its layout based on screen size:

  • Mobile (< 600px): Single column layout with optimized touch targets
  • Tablet (600px - 1200px): Grid layout for better space utilization
  • Desktop (> 1200px): Multi-column layout with enhanced navigation

Dependencies πŸ“¦

dependencies:
  flutter: sdk
  provider: ^6.0.5          # State management pattern
  sqflite: ^2.3.3           # Local SQLite database
  shared_preferences: ^2.5.3 # Local preferences storage
  path: ^1.9.0              # Path manipulation utilities
  cupertino_icons: ^1.0.8   # iOS-style icons

dev_dependencies:
  flutter_test: sdk
  flutter_lints: ^4.0.0     # Dart code linting rules

How to Use πŸ“–

  1. First Launch: Enter your email and password to create an account
  2. Create Notes: Tap the + button to add a new note
  3. Organize with Folders: Use the folders screen to organize your notes
  4. Customize Colors: Choose different colors for notes and folders
  5. Search: Use the search bar to quickly find your notes
  6. Edit: Tap any note to edit its content

Architecture πŸ›οΈ

The app follows a clean architecture pattern:

  • Models: Data structures for notes and folders
  • Providers: State management using the Provider pattern
  • Database: SQLite for local data persistence
  • Screens: UI components organized by functionality
  • Core: Shared utilities, themes, and widgets

Contributing 🀝

We welcome contributions! Please see our Contributing Guidelines for details.

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

Changelog πŸ“‹

See CHANGELOG.md for a detailed list of changes and updates.

Latest Version (1.0.0)

  • βœ… Complete notes app with folder organization
  • βœ… Clean project structure with organized folders
  • βœ… Responsive design for all screen sizes
  • βœ… User authentication system
  • βœ… SQLite database for local storage
  • βœ… Material Design 3 UI
  • βœ… Color-coded folders and notes
  • βœ… Search functionality
  • βœ… Customizable UI settings

Developer πŸ‘¨β€πŸ’»

Osama Elkayyal

  • πŸš€ Passionate Flutter Developer
  • 🎯 Focus on clean code and exceptional user experience
  • πŸ’» Expertise in cross-platform mobile development
  • πŸ“± Specializing in responsive and modern UI/UX design

Connect with me:

License πŸ“„

This project is licensed under the MIT License - see the LICENSE file for details.

Security πŸ”’

Please see our Security Policy for reporting vulnerabilities and security best practices.

Support πŸ’¬

If you have any questions or need help:

  • πŸ“‹ Open an issue on GitHub
  • πŸ“§ Contact the developer: Osama Elkayyal
  • πŸ“š Check the documentation and contributing guidelines

Made with ❀️ using Flutter by Osama Elkayyal

About

Note app

Resources

License

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors