This is a Todo application built using the MERN stack. It allows users to manage their tasks effectively.
- User Authentication
- Create, Update, Delete Todos
- Clear Completed Todos
- Reset Password
- Clone the repository
git clone https://github.com/nandhu-44/ToDo-App.git
- Install dependencies
cd ToDo-App
cd client && npm install
cd ../server && npm install
- Create a
.env
file in theserver
directory and add the following environment variables
# DB Config
MONGO_URI="Your MongoDB URI"
# Frontend Config (default)
CLIENT_URL="http://localhost:5173"
# Nodemailer config
NODEMAILER_EMAIL="Your nodemailer email"
NODEMAILER_APP_PASSWORD="Your nodemailer app password"
# Cipher-Guard config
CIPHER_GUARD_KEY="Your cipher-guard key"
CIPHER_GUARD_SALT="Your cipher-guard salt"
- Create a
.env
file in theclient
directory and add the following environment variables
# Backend Config (default)
VITE_BACKEND_URL="http://localhost:8000"
- Start the server
cd server && npm start
- Start the client
cd client && npm run dev
OR
- Start both the server and client using the following command
npm start
The client side of the application is built using React and Vite. It uses the Context API for state management and React Router for routing.
The server side of the application is built using Node.js, Express, and MongoDB. It has RESTful APIs for user authentication and managing todos and uses nodemailer for sending emails.