The To-Do List App is a Node.js, Express, MongoDB, and EJS templating engine-based application designed to help users efficiently manage their tasks.
Click Here to Open To-Do List App
Before running this project, ensure you have the following installed:
- Node.js: Download and Install Node.js
- MongoDB: Download and Install MongoDB
Follow these steps to set up the application:
-
Clone the repository to your local machine:
git clone https://github.com/AmanKumarSinhaGitHub/To-Do-List-App.git
-
Navigate to the project directory:
cd To-Do-List-App
-
Install the required dependencies:
npm install
-
Install additional packages:
npm install mongoose lodash
To run the To-Do List App, perform the following actions:
-
Open a new PowerShell window.
-
Start MongoDB:
mongod
-
Open another PowerShell window.
-
Launch the MongoDB shell:
mongosh
-
Navigate to the project directory:
cd To-Do-List-App
-
Start the application using nodemon:
nodemon .\app.js
Note: If you encounter a "nodemon not recognized" error, install nodemon globally:
npm install -g nodemon
-
Open a web browser and navigate to localhost:3000 to access the application.
Set up backend connection locally:
-
If running this project locally, uncomment the following code in
app.js
:mongoose.connect("mongodb://127.0.0.1:27017/todolistDB");
And comment out the below code in
app.js
:// const DB = process.env.DATABASE; // mongoose.connect(DB)
-
Home Page (http://localhost:3000): Default page showing the "Today" list. Add new items by typing in the input field and clicking the "+" button.
-
Custom Lists: Create custom lists by adding a name in the URL (e.g., http://localhost:3000/work). Add items and access the list using the specified name.
-
Deleting Items: Click the checkbox next to an item to mark it as completed and automatically remove it from the list.
-
About Page (http://localhost:3000/about): Information about the To-Do List application.
-
app.js:
Main entry point of the application. Configures the server, sets up routes, and connects to the database.Models:
Item:
Model for individual to-do list items.List:
Model for custom lists.
-
public:
Directory containing static files such as CSS stylesheets.styles.css:
CSS stylesheets for the application.
-
views:
Directory containing EJS templates used to render HTML pages.header.ejs:
Header template included in other EJS files.footer.ejs:
Footer template included in other EJS files.list.ejs:
Template for the to-do list page.about.ejs:
Template for the about page.
Contributions are welcome! Please follow the steps below to contribute to the project:
-
Fork the repository.
-
Create a new branch for your feature or bug fix:
git checkout -b feature/your-feature-name
-
Make your changes and commit them:
git add . git commit -m "Add your meaningful commit message"
-
Push your changes to your forked repository:
git push origin feature/your-feature-name
-
Open a pull request on the original repository.
-
Follow the existing code style and structure.
-
Write meaningful commit messages.
If you encounter any bugs or issues, please open an issue with a detailed description of the problem, steps to reproduce, and your system/environment information.
This project was created using Node.js, Express, MongoDB, and the EJS templating engine. Special thanks to the authors and contributors of these technologies.
I'm a final-year BCA undergraduate and a full-stack developer.
- Email: amankrsinha07@gmail.com
- LinkedIn Profile: @AmanKumarSinha
- GitHub link - https://github.com/AmanKumarSinhaGitHub/React-To-Do-List-App
- LIVE demo - https://amankumarsinhagithub.github.io/React-To-Do-List-App/
- Addition feature of this app : Your to-do list is automatically saved to local storage. This means your tasks will stay even if you refresh the page or reopen the app.
This project is licensed under the MIT License.