An open API service indexing awesome lists of open source software.

https://github.com/anuj8215/todo-app

A secure and efficient To-Do Application with user authentication, JWT-based authorization, and full CRUD operations. Built with MongoDB, Express.js, and Vanilla JavaScript, this application provides a simple yet professional task management experience.
https://github.com/anuj8215/todo-app

express-js expressjs html-css-javascript jwt-authentication mongodb node-js zod-validation

Last synced: 2 months ago
JSON representation

A secure and efficient To-Do Application with user authentication, JWT-based authorization, and full CRUD operations. Built with MongoDB, Express.js, and Vanilla JavaScript, this application provides a simple yet professional task management experience.

Awesome Lists containing this project

README

          

# To-Do App – Full-Stack (MongoDB, Express.js, Node.js) 📌

A secure and efficient To-Do Application with user authentication, JWT-based authorization, and full CRUD operations. Built with MongoDB, Express.js, and Vanilla JavaScript, this application provides a simple yet professional task management experience.

---

## 🚀 Features

✅ **User Authentication** – Secure Signup & Login using JWT
✅ **Task Management (CRUD)** – Create, Read, Update, and Delete to-dos
✅ **Role-Based Authorization** – Protect routes with JWT middleware
✅ **Input Validation** – Implemented using Zod for clean and structured data
✅ **Secure Password Handling** – Uses bcrypt.js for hashing
✅ **Modern UI** – Styled with a responsive & professional gradient design

---

## 🛠️ Tech Stack

### 📌 Backend

- **Node.js** – Runtime environment
- **Express.js** – Web framework for routing & API handling
- **MongoDB & Mongoose** – NoSQL database for storing users & todos
- **JWT (JSON Web Token)** – Secure authentication system
- **Zod** – Schema validation for API requests
- **bcrypt.js** – Secure password hashing
- **dotenv** – Environment variable management
- **CORS** – Cross-Origin Resource Sharing for frontend communication

### 📌 Frontend

- **HTML, CSS (Gradient UI), JavaScript (Vanilla JS)** – Interactive user interface
- **Fetch API** – Communication with the backend for authentication & CRUD
- **LocalStorage** – Stores JWT token for session management

---

## 💡 Future Enhancements

🔹 **React-based Frontend** for an optimized UI/UX
🔹 **Drag & Drop Feature** for task prioritization
🔹 **Dark Mode Support** for better accessibility