Routine App API serves as the backbone of the application Routine App, facilitating all backend processes that power the app's core functionalities. It is meticulously designed to manage user authentication, task operations, and notification scheduling, ensuring a seamless and intuitive user experience.
POST /users/login
: Authenticate users with a username and password.POST /users/logout
: Log users out and end their session.POST /users/register
: Register a new user account.POST /users/updateToken
: Update token to make sure notifications are to be sent to a right device.
GET /tasks/getAll
: Retrieve a list of tasks for the logged-in user.POST /tasks/createTask
: Create a new task with title, description, mediafiles and scheduled times for notifications.PUT /tasks/updateTask/:id
: Update an existing task.DELETE /tasks/deleteOne/:id
: Remove a task from the user's list (+remove files from local server and scheduled time from queue).
- Static directory setup for media uploads (
/uploads
), allowing retrieval and storage of user-uploaded files.
- Integrates with
bull
queue for job scheduling to send notifications. - Utilizes custom notification helper functions to manage the delivery of task reminders to users.
- Server built with
express.js
, running on port 3000. - Database connections managed with
mongoose
, connecting to a MongoDB instance. - Environment variables are configured and managed securely.
- MongoDB is utilized for storing user and task data, with models defined in separate schema files.
- Database connection and error handling are set up to ensure stable operations.
- Clone the repository with
git clone https://github.com/mayerprog/routine-app-api
- Install dependencies
yarn install
- Run
yarn start
to run the project on Expo Go app
- Express.js
- Mongoose
- Passport.js
- Express-Session
- Bull
- Multer
- Expo Server SDK
Mayra Tulegenova
- Telegram: mayerprog
- Email: [email protected]