This is a task manager application that allows users to register, log in, create, update, delete, and view tasks. The project is divided into two parts:
- Backend: Built with Node.js, Express.js, and MongoDB.
- Frontend: Built with React Native and Expo.
-
Navigate to the backend directory:
cd backend
-
Install dependencies:
npm install
-
Create a
.env
file for environment variables:touch .env
Add the following variables to the
.env
file:MONGO_URI=your_mongo_db_uri JWT_SECRET=your_jwt_secret
-
Start the backend server:
nodemon server.js
The backend server should now be running on http://localhost:3000
.
-
Navigate to the frontend directory:
cd frontend
-
Install dependencies:
npm install
-
Setup the API's IP address:
Add your local IP address into the
api.js
file:const API_URL = "http://192.168.X.X:3000"; // Your IP address here
-
Start the Expo development server:
npx expo start
-
Run the app on your device:
- For iOS: Use the Expo Go app to scan the QR code displayed in the terminal or browser.
- For Android: Use the Expo Go app to scan the QR code displayed in the terminal or browser.
- Open the app on your device.
- Navigate to the registration screen.
- Enter your username, email, and password.
- Click the "Register" button.
- Open the app on your device.
- Navigate to the login screen.
- Enter your email and password.
- Click the "Login" button.
- After logging in, navigate to the task list screen.
- Click the "Create Task" button.
- Enter the task title and description.
- Click the "Save Task" button.
- On the task list screen, click on a task to view its details.
- On the task detail screen, click the button to change the task status between "pending" and "done".
- On the task detail screen, click the "Delete Task" button.
-
Backend:
- Node.js
- Express.js
- MongoDB
- Mongoose
- JWT for authentication
-
Frontend:
- React Native
- Expo
- Axios for API requests
This project is licensed under the MIT license - see the LICENSE file for details.