Description: An app where users can create, edit, and delete notes. These notes will synchronize in real-time across devices using a shared backend.
Key Features:
- User Registration and Login: Implemented using Firebase Authentication or any other authentication service of your choice.
- Note Creation and Editing: An intuitive interface to capture your ideas instantly.
- Real-Time Synchronization: Implemented with Firebase Firestore for seamless synchronization across devices.
- Note Search: Filter notes by keywords.
- Dark and Light Themes: Switch according to your preferences.
npm install
Note: This project is set up with Expo, making it compatible with both Android and iOS using the Expo GO app.
Before launching the project, modify node_modules/expo/AppEntry.js
as follows:
// Change
import App from '../../src/App';
// To
import App from '../../App';
Then, run the following command to start Expo. The -c
flag in package.json
ensures npm's cache is cleared with every startup:
npm run start
-
Go to Firebase Console and create a new project:
-
Once set up, you should see a screen like this. If not, navigate to
settings/project settings/general
: -
Copy these details and locate the
.env.example
file in the project. This file indicates how to structure your environment variables. Create a.env
file and paste your Firebase project details there:
FIREBASE_APIKEY=
FIREBASE_AUTHDOMAIN=
FIREBASE_PROJECTID=
FIREBASE_STORAGEBUCKET=
FIREBASE_MESSAGINGSENDERID=
FIREBASE_APPID=
FIREBASE_MEASUREMENTID=
- Implementing Clean Architecture in React Native (Article)
- Project Presentation (Wiki)
- Workflow and explanation using MVVM, Clean Architecture, SOLID, and OOP with TypeScript
This project is under an open-source license. See the LICENSE
file for more details.
© 2023 Kevin Parra Lopez. All rights reserved.