A full-stack Todo List web application built using Node.js, Express.js, MongoDB, and EJS templating. This application allows users to register, log in, and manage their personal task lists securely.
- Secure user registration and login
- JWT-based session management
- Password hashing using bcrypt for security
- Create, read, update, and delete (CRUD) operations for todo items.
- Add, Delete or Re-order tasks.
- Each user has access only to their own tasks.
- Users can upload a profile picture on their account.
- Images are stored in the server's
public/uploads/directory. - Uploaded images are displayed on the user's dashboard using EJS.
- Server-side rendering using EJS templates.
- Responsive design with CSS for styling.
- Node.js: JavaScript runtime environment.
- Express.js: Web framework for Node.js.
- MongoDB: NoSQL database for storing user and todo data.
- Mongoose: ODM (Object Data Modeling) library for MongoDB and Node.js.
- EJS: Embedded JavaScript templating for server-side rendering.
- bcrypt: Library for hashing passwords.
- jsonwebtoken: Used for secure user authentication via JWT tokens.
- multer: Middleware for handling multipart/form-data, used for uploading profile pictures.
TodoList-with-Backend/
βββ config/ # Configuration Files (multer)
βββ models/ # Mongoose schemas
βββ public/ # Static assets (CSS, JavaScript(frontend), images)
βββ routes/ # Application routes
βββ views/ # EJS templates
βββ .gitignore
βββ package.json
βββ server.js # Entry point of the application
βββ README.md
-
Clone the repository:
git clone https://github.com/kurogamidesuu/TodoList-with-Backend.git cd TodoList-with-Backend -
Install dependencies
npm install
-
Set up environment variables
Create a
.envfile in your root directory and add the following:PORT=5000 MONGO_URI=your_mongodb_connection_string
-
Start the application
npm run start
The application will run on http://localhost:5000.
This project is licensed under the MIT License - see the LICENSE file for details.
kurogamidesuu - Full-Stack Developer
- GitHub: @kurogamidesuu
- LinkedIn: Hempushp Chauhan