TodoIt is a powerful, real-time Todo List web application built with the MERN stack and integrated with Google & GitHub OAuth, task sharing, and real-time updates via Socket.IO.
- Frontend: https://todoit.vercel.app
- Backend: https://todoit-vv91.onrender.com
- Frontend: React, Vite, Axios, Socket.IO - client
- Backend: Node.js, Express, MongoDB, Mongoose, Passport.js, JWT, Socket.IO
- OAuth: Google & GitHub login using Passport strategies
- Deployment: Vercel (Frontend), Render (Backend)
- 🔐 Google & GitHub OAuth Login
- 📋 Create, Read, Update, Delete, and Filter Tasks
- 👥 Share tasks with other users by email
- 🔎 Search and Priority-based filtering
- 📆 Due Date Tracking
- ⚡ Real-time sync using Socket.IO
- 📱 Responsive design
- 🧑 User avatar with dropdown & logout
- 🎨 Styled with modern CSS
TodoIT
├── client/ # React frontend (Vite)
├── server/ # Express backend
└── README.md # This file
- Clone the repository:
git clone https://github.com/Pradeep5377/TodoIT
cd TodoIT- Frontend Setup (
client/):
cd client
npm install- Backend Setup (
server/):
cd ../server
npm install- Environment Variables:
Create two .env files:
- In
client/.env:
VITE_BACKEND_URL=https://todoit-vv91.onrender.com- In
server/.env:
PORT=5000
MONGO_URI=your_mongodb_connection_uri
JWT_SECRET=your_jwt_secret
CLIENT_URL=https://todoit.vercel.app
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
GITHUB_CLIENT_ID=your_github_client_id
GITHUB_CLIENT_SECRET=your_github_client_secret- In Google Cloud Console & GitHub Developer Settings:
- Authorized redirect URIs:
https://todoit-vv91.onrender.com/auth/google/callback https://todoit-vv91.onrender.com/auth/github/callback - Add respective client IDs and secrets to your
.envfile.
- Authorized redirect URIs:
Start Backend:
cd server
npm startStart Frontend:
cd client
npm run dev- Build Command:
npm install - Start Command:
node index.js - Root Directory:
server
- Build Command:
npm run build - Output Directory:
dist - Root Directory:
client
This project was developed as part of the Katomaran Full Stack Hackathon challenge.