https://github.com/rubel011/node-express-todo
Simplify your task management with the Todo Management System. Register, log in, and effortlessly organize your todos for enhanced productivity. A user-friendly interface and secure authentication make task management seamless.
https://github.com/rubel011/node-express-todo
authentication bcrypt express jsonwebtoken mongodb mongoose nodejs
Last synced: 3 months ago
JSON representation
Simplify your task management with the Todo Management System. Register, log in, and effortlessly organize your todos for enhanced productivity. A user-friendly interface and secure authentication make task management seamless.
- Host: GitHub
- URL: https://github.com/rubel011/node-express-todo
- Owner: Rubel011
- Created: 2024-01-02T11:08:26.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-01-03T03:53:56.000Z (over 2 years ago)
- Last Synced: 2025-04-11T03:02:35.472Z (about 1 year ago)
- Topics: authentication, bcrypt, express, jsonwebtoken, mongodb, mongoose, nodejs
- Language: JavaScript
- Homepage: https://todo-management-alpha.vercel.app
- Size: 28.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Welcome to TaskFlow - Your Todo Management Oasis!
Embark on a journey of productivity with TaskFlow, your go-to destination for seamless todo management. Unlock the power to register, log in, and effortlessly conquer your to-do list. Elevate your productivity game, one task at a time!
## Functionality
The API includes the following functionality:
- User Registration
- User Login and Authentication
- User details
- Todo Management - create, update, delete
## Backend Deployment
The backend of this project is deployed on AWS and can be accessed via the following link:
[Backend Deployment Link](https://todo-management-alpha.vercel.app/)
## Backend-Routes
- **User Authentication**:
- `POST /user/register`: Register a new user.
- `POST /user/login`: Log in with a registered user.
- `GET /user/`: Get all user details (jwt protected) .
- `GET /user/{:id}`: Get all user details (jwt protected) .
- **Todo Management**:
- `GET /todo/`: List of all todos (jwt protected).
- `GET /todo/{:id}`: Get a todo (jwt protected).
- `POST /todo/`: Add a new todo (jwt protected).
- `PUT /todo/`: Update todo details (jwt protected).
- `DELETE /todo/`: Delete a todo from the database (jwt protected).
## Technologies Used
- Node.js
- Express.js
- MongoDB
- Mongoose
- Bcrypt
- JWT
### Installation
1. Clone the repository to your local machine:
```bash
git clone https://github.com/Rubel011/node-express-todo.git
2. Navigate to the project directory:
```bash
cd node-express-todo
3. Install the project dependencies:
```bash
npm install
4. Create a .env file in the project root and configure the following environment variables:
```markdown
PORT=8080
mongoUrl=database link
SALT_ROUNDS=15
ACCESS_TOKEN_SECRET=masai-school-web
REFRESH_TOKEN_SECRET=masai-school
ACCESS_TOKEN_EXPIRATION=1d
REFRESH_TOKEN_EXPIRATION=24d
4. Start the server:
```
npm run server
```
5. Access the backend API at http://localhost:PORT.
Feel free to customize it further based on your project's specific details and requirements.