{"id":29190720,"url":"https://github.com/pradeep5377/todoit","last_synced_at":"2026-04-12T06:35:03.901Z","repository":{"id":301900517,"uuid":"1010617219","full_name":"Pradeep5377/TodoIT","owner":"Pradeep5377","description":"A Full Stack ToDo List App with OAuth Authentication and JWT Based Authentication","archived":false,"fork":false,"pushed_at":"2025-07-01T16:24:02.000Z","size":1167,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-01T17:31:10.470Z","etag":null,"topics":["axios","expressjs","jwt-authentication","mongodb","nodejs","oauth2","oauth2-github","oauth2-google","passportjs","reactjs","render","socket-io","vercel"],"latest_commit_sha":null,"homepage":"https://todoit-rose.vercel.app/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Pradeep5377.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-29T13:06:28.000Z","updated_at":"2025-07-01T16:24:05.000Z","dependencies_parsed_at":"2025-07-01T17:33:45.532Z","dependency_job_id":"bd68c94b-2bc1-4ed9-b5ee-c448f74c7e70","html_url":"https://github.com/Pradeep5377/TodoIT","commit_stats":null,"previous_names":["pradeep5377/todoit---fullstack-todo-list-app","pradeep5377/todoit-fullstack-todo-list-app","pradeep5377/todoit"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Pradeep5377/TodoIT","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pradeep5377%2FTodoIT","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pradeep5377%2FTodoIT/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pradeep5377%2FTodoIT/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pradeep5377%2FTodoIT/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Pradeep5377","download_url":"https://codeload.github.com/Pradeep5377/TodoIT/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pradeep5377%2FTodoIT/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263052430,"owners_count":23406106,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["axios","expressjs","jwt-authentication","mongodb","nodejs","oauth2","oauth2-github","oauth2-google","passportjs","reactjs","render","socket-io","vercel"],"created_at":"2025-07-02T00:11:01.621Z","updated_at":"2026-04-12T06:35:03.893Z","avatar_url":"https://github.com/Pradeep5377.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ✅ TodoIT– Fullstack Todo List/Task Manager App\n\nTodoIt is a powerful, real-time Todo List web application built with the MERN stack and integrated with **Google \u0026 GitHub OAuth**, **task sharing**, and **real-time updates via Socket.IO**.\n\n---\n\n## 🚀 Live Demo\n\n- **Frontend**: [https://todoit.vercel.app](https://todoit.vercel.app)  \n- **Backend**: [https://todoit-vv91.onrender.com](https://todoit-vv91.onrender.com)\n\n---\n\n## 🔧 Tech Stack\n\n- **Frontend**: React, Vite, Axios, Socket.IO - client\n- **Backend**: Node.js, Express, MongoDB, Mongoose, Passport.js, JWT, Socket.IO  \n- **OAuth**: Google \u0026 GitHub login using Passport strategies  \n- **Deployment**: Vercel (Frontend), Render (Backend)\n\n---\n\n## ✨ Features\n\n- 🔐 Google \u0026 GitHub OAuth Login  \n- 📋 Create, Read, Update, Delete, and Filter Tasks  \n- 👥 Share tasks with other users by email  \n- 🔎 Search and Priority-based filtering  \n- 📆 Due Date Tracking  \n- ⚡ Real-time sync using Socket.IO  \n- 📱 Responsive design  \n- 🧑 User avatar with dropdown \u0026 logout  \n- 🎨 Styled with modern CSS\n\n---\n\n## 📁 Folder Structure\n\n```\nTodoIT\n├── client/       # React frontend (Vite)\n├── server/       # Express backend\n└── README.md     # This file\n```\n\n---\n\n## 🛠️ Setup Instructions\n\n1. **Clone the repository:**\n\n```bash\ngit clone https://github.com/Pradeep5377/TodoIT\ncd TodoIT\n```\n\n2. **Frontend Setup (`client/`):**\n\n```bash\ncd client\nnpm install\n```\n\n3. **Backend Setup (`server/`):**\n\n```bash\ncd ../server\nnpm install\n```\n\n4. **Environment Variables:**\n\nCreate two `.env` files:\n\n- In `client/.env`:\n```env\nVITE_BACKEND_URL=https://todoit-vv91.onrender.com\n```\n\n- In `server/.env`:\n```env\nPORT=5000\nMONGO_URI=your_mongodb_connection_uri\nJWT_SECRET=your_jwt_secret\nCLIENT_URL=https://todoit.vercel.app\nGOOGLE_CLIENT_ID=your_google_client_id\nGOOGLE_CLIENT_SECRET=your_google_client_secret\nGITHUB_CLIENT_ID=your_github_client_id\nGITHUB_CLIENT_SECRET=your_github_client_secret\n```\n\n---\n\n## 🔐 Google \u0026 GitHub OAuth Setup\n\n- In Google Cloud Console \u0026 GitHub Developer Settings:\n  - **Authorized redirect URIs**:\n    ```\n    https://todoit-vv91.onrender.com/auth/google/callback\n    https://todoit-vv91.onrender.com/auth/github/callback\n    ```\n  - Add respective client IDs and secrets to your `.env` file.\n\n---\n\n## 🧪 Run Locally\n\n**Start Backend:**\n\n```bash\ncd server\nnpm start\n```\n\n**Start Frontend:**\n\n```bash\ncd client\nnpm run dev\n```\n\n---\n\n## 🌐 Deployment\n\n### Backend (Render):\n- Build Command: `npm install`\n- Start Command: `node index.js`\n- Root Directory: `server`\n\n### Frontend (Vercel):\n- Build Command: `npm run build`\n- Output Directory: `dist`\n- Root Directory: `client`\n\n\n## Hackathon\n\nThis project was developed as part of the **Katomaran Full Stack Hackathon** challenge. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpradeep5377%2Ftodoit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpradeep5377%2Ftodoit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpradeep5377%2Ftodoit/lists"}