A simple and efficient web application to manage your tasks! With user-friendly features and a secure backend, this app helps you organize your day effortlessly. Built using Node.js, Express.js, and MongoDB. π
- π User Authentication: Register, login, and logout functionality with session management.
- π Task Management: Add, view, complete, and delete tasks.
- π€ User-Specific Data: Each user's tasks are stored and managed separately.
- π± Responsive Design: User-friendly interface styled with CSS for all devices.
- π‘οΈ Secure: Passwords are hashed using bcryptjs, and sessions are protected.
Follow these steps to set up and run the project locally:
- Node.js (v14 or higher)
- MongoDB (Local or Atlas)
-
Clone the repository:
git clone https://github.com/Subramanian7986/to-do-app.git cd todo-app
-
Install dependencies:
npm install
-
Start MongoDB:
- For a local instance:
mongod
- Or, connect to MongoDB Atlas by updating the connection string in
server.js
.
- For a local instance:
-
Run the application:
node server.js
-
Open your browser and navigate to:
http://localhost:3000
βββ public
β βββ style.css # π¨ Styling for the app
βββ views
β βββ index.ejs # π Home page
β βββ register.ejs # βοΈ User registration page
β βββ login.ejs # π User login page
β βββ dashboard.ejs # π User dashboard for managing tasks
βββ server.js # π₯οΈ Main server file
βββ package.json # π¦ Dependencies and scripts
βββ README.md # π Documentation
- Backend: Node.js, Express.js
- Database: MongoDB
- Templating: EJS
- Styling: CSS
- Authentication: bcryptjs, express-session
- β Add task prioritization and due dates.
- π§ Enable email verification during registration.
- π Implement a password reset feature.
- βοΈ Deploy the app using a cloud platform.
This project is licensed under the MIT License. Feel free to use and modify it as per your needs.
Inspired by the simplicity of to-do applications and the need for task organization in day-to-day life. π‘