Firenote is a note-taking app built with Flutter that uses Firebase as its backend.
The app follows Domain Driven Design principles and utilizes the Flutter Bloc library
for state management.
- Create, edit, and delete notes
- Organize notes into categories
- Search for notes by keyword
- Sync notes across devices using Firebase Cloud Firestore
To install Firenote, follow these steps:
- Clone the repository to your local machine.
- Create a new Firebase project and add an Android app to it. Follow the steps provided by
Firebase to download the google-services.json file and place it in the android/app directory
of the project. - In the Firebase console, enable Cloud Firestore and set up security rules for the database.
- Run the app on an emulator or physical device using flutter run.
To use Firenote, follow these steps:
- Open the app and sign in with your Google account.
- Create a new note by tapping the "New Note" button on the home screen.
- Edit a note by tapping on it in the list and making changes to the content.
- Delete a note by swiping it to the left in the list and tapping the delete button.
- Organize notes into categories by using the dropdown menu on the home screen.
- Search for notes by typing a keyword into the search bar on the home screen.
Firenote follows Domain Driven Design principles and utilizes the Flutter Bloc library for state
management. The app is organized into the following layers:
- Presentation: The user interface and user input handling.
- Application: Orchestrates the use cases of the app and manages the state of the presentation layer.
- Domain: Contains the business logic and domain models.
- Infrastructure: Implements the repository interfaces and provides the implementation details of the
Firebase backend.
Contributions to Firenote are welcome! To contribute, follow these steps:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Make changes to the code.
- Write tests for your changes.
- Run the tests using flutter test.
- Submit a pull request to the main branch of the repository.
Firenote is released under the MIT License. See the LICENSE file for details.