A Flutter application that allows users to create, edit, and manage notes that are synced with Google Drive.
- Google OAuth 2.0 authentication
- Create, edit, and delete notes
- Notes are stored as text files in Google Drive
- Material 3 design with responsive UI
- Secure token storage
- Error handling and loading states
- Swipe to delete notes
- Token refresh handling
-
Create a Google Cloud Console project:
- Go to Google Cloud Console
- Create a new project
- Enable the Google Drive API
- Configure the OAuth consent screen
- Create OAuth 2.0 credentials (Web application type)
- Add your redirect URIs
-
Update the client ID and secret:
- Open
lib/features/notes/data/drive_service.dart
- Replace
your-client-id
andyour-client-secret
with your actual credentials
- Open
-
Install dependencies:
flutter pub get
-
Run the app:
flutter run
lib/
├── features/
│ └── notes/
│ ├── data/
│ │ └── drive_service.dart # Google Drive API integration
│ ├── domain/
│ │ └── models/
│ │ └── note_model.dart # Note data model
│ └── presentation/
│ ├── pages/
│ │ └── notes_list_page.dart # Notes list UI
│ └── providers/
│ ├── note_editor_controller.dart # Note editing logic
│ └── notes_controller.dart # Notes list logic
├── login.dart # Login page
└── main.dart # App entry point and routing
flutter_riverpod
: State managementgo_router
: Navigationgoogleapis
: Google Drive APIflutter_secure_storage
: Secure token storagegoogle_sign_in
: Google authentication
- No offline support
- No dark mode theme switching
- No background sync
- Limited error recovery options
- No file conflict resolution
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request