To-Do List is a web application to record your daily tasks to increase productivity in your day-to-day.
Create an account and be able to access all your tasks whenever you want wherever you are.
To-Do List supports REST API to integrate with other platforms.
- Easy to setup
- Sessions are encrypted
- Form validation in both sides, client and server
- Form inputs are purified in both sides, client and server
- Form filling feedback
- Supports Dark Theme
- Prevent CSRF attack
- Supprts MongoDB local or external
- Supports REST API
- API access is protected by token
- Supports profile picture
First clone this repository, then type npm install
to install all dependencies.
Now you have all the necessary dependencies to run this project. Next step is to rename the .env.example file to .env
In the section MongoDB Connextion there are two examples that show how to configure a MongoDB connector. If you have MongoDB installed locally use the first option. You have a local MongoDB connection you have to create a database first. In the .env.example file the database name is todolist, but you can give any name.
However, if you have a MongoDB running externally you have to read the provider instruction. Our second option is an example for Atlas MongoDB. You can create an account for Atlas MongoDB at this link: Atlas MongoDB
Variables | Values |
---|---|
HOST_NAME | 0.0.0.0 |
SERVER_PORT | 3000 |
PASSWORD_SECRET | encryption_secret |
SESSION_SECRET | encryption_secret |
DB_HOST | mongodb://localhost:27017/todolist |
API_SECRET | token_secret |
MAIL_HOST | smtp.mailtrap.io |
MAIL_USERNAME | null |
MAIL_PASSWORD | null |
MAIL_ENCRYPTION | null |
You can customize your settings such as hostname, port, and all secret words for encryptions. We highly recommend you change all secret words for safety.
You can run the project by typing in the terminal node app.js
or just node app
. This project supports nodemon, as well.
You can run nodemon as follow nodemon app
or just nodemon
.
The command npm start
also works since it is configured in the package.json file. If you run this project
locally on a Windows machine the command npm start
might not work. Windows has some issues to run nodemon.
This project supports API to access the application externally. If you want more information on how to use the API you can read the DOCUMENTATION.md file or in the application itself by clicking on Documentation.