MyNotes is a simple and efficient note-taking app built using Flutter. It allows users to securely create, edit, and manage their notes. The app supports features like user authentication, password reset, email verification, and the ability to share notes with others.
-
User Authentication
- Login using email and password
- Logout securely
- Reset password via email
- Send email verification link for account validation
-
Notes Management
- Create new notes
- Edit existing notes
- Delete notes
- Share notes with others
Register Screen | Login Screen | Create Note | Notes List |
---|---|---|---|
To run MyNotes locally, follow these steps:
Ensure that you have the following installed on your machine:
- Flutter SDK
- Dart
- An IDE such as Android Studio or VS Code with Flutter extension
git clone https://github.com/iPriyanshu19/MyNotes.git
cd MyNotes
flutter pub get
To run the app on an emulator or a physical device, use the following command:
flutter run
The app uses Firebase for authentication and storing notes. Make sure to set up Firebase for the project:
- Create a Firebase project here.
- Add Android/iOS apps to the Firebase project.
- Download the
google-services.json
(for Android) orGoogleService-Info.plist
(for iOS) and place them in the respective directories in your Flutter project. - Configure Firebase in
pubspec.yaml
- Initialize Firebase in
main.dart
The app follows the BLoC (Business Logic Component) architecture to separate business logic from the UI. Here's a brief overview:
- Model: Defines the structure of data like notes.
- View: Responsible for the UI and displaying notes.
- BLoC: Handles all the business logic and manages states between the UI and data layers.
Contributions are welcome! Please create a pull request or open an issue if you encounter any bugs or have suggestions for improvement.