TaskZen is a full-stack web application that allows users to efficiently manage tasks with AI-powered prioritization, authentication via Google/GitHub, and real-time task updates.
🔗 Live App: TaskZen
🔧 Backend API: TaskZen API
- ✅ User Authentication: Login and register via Google, GitHub, or email/password.
- 📝 Task Management: Create, update, delete, and view tasks in real time.
- 🔄 AI-Powered Prioritization: Get tasks sorted by AI based on priority & urgency.
- 📅 Due Dates & Priorities: Assign deadlines and priority levels to tasks.
- 📊 Task Status Tracking: Mark tasks as To-Do, In Progress, or Completed.
- 🎨 Modern UI: Built with Next.js, Tailwind CSS, and React components.
- Framework: Next.js 13 (App Router)
- UI Library: Tailwind CSS, Radix UI
- State Management: React Hooks
- Authentication: NextAuth.js, OAuth (Google & GitHub)
- API Requests: Fetch API with JWT Authentication
- Hosting: Vercel
- Framework: Express.js
- Database: MongoDB + Mongoose
- Authentication: Passport.js (Google & GitHub OAuth)
- Task Prioritization: AI-powered Spring Boot API integration
- Hosting: Render.com (for Node.js API)
git clone https://github.com/YOUR_GITHUB_USERNAME/smart-task-manager.git
cd smart-task-managerCreate a .env file in both frontend and backend directories and add:
NEXT_PUBLIC_API_BASE_URL=https://taskzen-7vws.onrender.com
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_secret_key
SESSION_SECRET=your_session_secret
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
# Backend setup
cd backend
npm install
# Frontend setup
cd ../frontend
npm install# Start backend
cd backend
npm run dev
# Start frontend
cd ../frontend
npm run dev🔹 The frontend runs at http://localhost:3000
🔹 The backend runs at http://localhost:5001
POST /api/auth/register- Register a new userPOST /api/auth/login- Login user with email & passwordGET /api/auth/google- Google OAuth LoginGET /api/auth/github- GitHub OAuth Login
POST /api/tasks- Create a new taskGET /api/tasks- Fetch all tasksPUT /api/tasks/:id- Update a taskDELETE /api/tasks/:id- Delete a taskGET /api/tasks/prioritize- Get AI-prioritized tasks
If you encounter issues:
- Login Issues? Ensure the correct redirect URIs are set in Google & GitHub OAuth settings.
- Task Not Updating in Real-time? Ensure
useEffect(fetchTasks, [])is used properly. - AI Prioritization Not Working? Check your Spring Boot API logs for errors.
Feel free to contribute by submitting a PR! Open issues if you find bugs or have feature suggestions.
For questions or collaborations, reach out via GitHub Issues or Email: bhavneetsingh2024@gmail.com