Skip to content

βœ… To-Do List Web Application πŸ“ A simple and efficient web app for managing tasks. Features include user authentication, task management, and responsive design. Built with Node.js, Express.js, and MongoDB, it ensures secure data handling and an intuitive user experience. πŸš€

Notifications You must be signed in to change notification settings

Subramanian7986/to-do-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

βœ… To-Do List Web Application πŸ“

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. πŸš€


✨ Features

  • πŸ” 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.

πŸš€ Installation and Setup

Follow these steps to set up and run the project locally:

πŸ“‹ Prerequisites

  • Node.js (v14 or higher)
  • MongoDB (Local or Atlas)

πŸ› οΈ Steps

  1. Clone the repository:

    git clone https://github.com/Subramanian7986/to-do-app.git  
    cd todo-app  
  2. Install dependencies:

    npm install  
  3. Start MongoDB:

    • For a local instance:
      mongod  
    • Or, connect to MongoDB Atlas by updating the connection string in server.js.
  4. Run the application:

    node server.js  
  5. Open your browser and navigate to:

    http://localhost:3000  
    

πŸ—‚οΈ Project Structure

β”œβ”€β”€ 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

πŸ› οΈ Technologies Used

  • Backend: Node.js, Express.js
  • Database: MongoDB
  • Templating: EJS
  • Styling: CSS
  • Authentication: bcryptjs, express-session

🎯 Future Enhancements

  • ⭐ Add task prioritization and due dates.
  • πŸ“§ Enable email verification during registration.
  • πŸ”„ Implement a password reset feature.
  • ☁️ Deploy the app using a cloud platform.

πŸ“œ License

This project is licensed under the MIT License. Feel free to use and modify it as per your needs.


πŸ™Œ Acknowledgments

Inspired by the simplicity of to-do applications and the need for task organization in day-to-day life. πŸ’‘


About

βœ… To-Do List Web Application πŸ“ A simple and efficient web app for managing tasks. Features include user authentication, task management, and responsive design. Built with Node.js, Express.js, and MongoDB, it ensures secure data handling and an intuitive user experience. πŸš€

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published