A premium, minimalist notes application built with Flutter and Firebase. My Notes offers a seamless and elegant experience for capturing your thoughts, organized with a modern aesthetic and real-time synchronization.
- Secure Authentication: Robust login and signup system powered by Firebase Auth.
- Real-time Notes: Create, view, and manage your notes with instant synchronization via Cloud Firestore.
- Dynamic UI: A reactive interface that updates instantly as you type and save.
- Premium Design: A clean, indigo-themed interface featuring:
- Responsive layouts.
- Modern typography (Google Fonts Inter).
- Subtle micro-animations and polished button states.
- Splash Experience: A professional entry point branding the application.
- Framework: Flutter
- State Management: GetX
- Routing: GoRouter
- Backend/Database: Firebase (Auth & Firestore)
- Typography: Google Fonts
The project follows a Feature-First Architecture for scalability and maintainability:
lib/
├── core/ # Shared logic, themes, widgets, and routing
│ ├── routes/ # App navigation configuration
│ ├── theme/ # Global colors
│ └── widgets/ # Reusable custom UI components
├── features/ # Independent feature modules
│ ├── auth/ # Login and Signup logic & UI
│ ├── notes/ # Note listing, adding, and data models
│ └── splash/ # Initial branding screen
└── firebase_options.dart # Firebase configuration
- Flutter SDK (v3.10.4 or higher)
- Firebase account
-
Clone the repository:
git clone https://github.com/mhferdous/ct_notes_app.git
-
Navigate to the project directory:
cd ct_notes_app -
Install dependencies:
flutter pub get
-
Configure Firebase:
- Create a new Firebase project.
- Run
flutterfire configureto set up your configurations. - Ensure you have the
firebase_options.dartgenerated.
-
Run the application:
flutter run