Todo List App (Website Live - https://todolist-akhtarshadab.onrender.com)
This is a simple web application for managing todo lists. You can use this app to create multiple todo lists, add items to the lists, mark items as completed, and delete items from the lists. The app is built using Node.js, Express.js, and MongoDB.
To install and run this app locally, follow these steps:
-
Clone the repository from GitHub:
git clone https://github.com/AkhtarShadab/ToDoList.git
-
Change into the project directory:
cd ToDoList-app
-
Install the dependencies using npm:
npm install
-
Create a MongoDB Atlas account and set up a new cluster.
-
Replace the MongoDB connection string in the `app.js` file with your own connection string. You can find this line in the code:
mongoose.connect( "mongodb+srv://<USERNAME>:<PASSWORD>@cluster0.83b3qvq.mongodb.net/todoListDB" );
-
Start the server:
node app.js
-
Open your web browser and visit http://localhost:3000 to access the app.
-
To create a new todo list, enter the desired list name in the URL (e.g., http://localhost:3000/work) and press Enter. If the list already exists, it will be loaded; otherwise, a new empty list will be created.
-
To add an item to the list, type the item text in the input field and click the "+" button. The item will be added to the bottom of the list.
-
To mark an item as completed, click the checkbox next to the item. The item will be removed from the list.
If you'd like to contribute to this project, you can follow these steps:
-
Fork the repository on GitHub.
-
Clone your forked repository:
git clone https://github.com/AkhtarShadab/ToDoList.git
-
Create a new branch for your feature or bug fix:
git checkout -b feature/your-feature-name
-
Make your changes and commit them with descriptive commit messages:
git commit -m "Add your commit message here"
-
Push your changes to your forked repository:
git push origin feature/your-feature-name
-
Open a pull request on the original repository and describe your changes.
If you have any questions or suggestions, please feel free to contact me at [email protected].