- Create a new React Native Application
- Create a new React Native project
- Use functional components and hooks
- Firebase Integration
- Use Firestore for storing task and user data
- Use Firebase Authentication to allow users to sign up, log in, and log out
- Task Manager Features
- Task Management: Implement CRUD operations (Create, Read, Update, Delete) for tasks using Firestore
- Task List: Display a list of tasks fetched from Firestore
- Leaderboard Feature
- Track the number of tasks each user completes
- Implement a leaderboard that displays the top users who have completed the most tasks
- Allow the leaderboard to be filtered by time periods (daily, weekly, monthly)
- Bonous
- Include notifications for task reminders using Firebase Cloud Messaging.
- Write unit tests for critical parts of the application
- Add the ability for users to upload and display images for each task using Firebase Storage
- Implement form validation for the authentication and task forms
- Use TypeScript for type safety
Update .env.example and modify file name into .env
API_KEY=YOUR_API_KEY
AUTH_DOMAIN=YOUR_AUTH_DOMAIN
PROJECT_ID=YOUR_PROJECT_ID
STORAGE_BUCKET=YOUR_STORAGE_BUCKET
MESSAGING_SENDER_ID=YOUR_MESSAGING_SENDER_ID
APP_ID=YOUR_APP_ID
Go to project root
yarn install
Install depenencies for ios
cd ios
pod install
cd ..
yarn ios
Then go to Xcode cmd + b
to build the app with the following step to run (install) the app on to your simulator.
Once the simulator is on, you may stop the run.
yarn start # Then chose i
If the App did not opend automatically, click the logo to manually open it.
yarn android
yarn start # Then chose a
Run unit test with jest
yarn test