A comprehensive AI-powered task management system designed specifically for college students to efficiently manage academic and campus-related work.
- AI-Powered Task Management: Intelligent task prioritization and scheduling
- Natural Language Processing: Add tasks using natural language (e.g., "Plan my tasks for this week including OS lab and internship form")
- Smart Scheduling: Automatic timetable analysis and conflict detection
- Google Integration: Auto-fill Google Forms and sync with Google Calendar
- Intelligent Reminders: Email notifications for deadlines and attendance alerts
- Progress Tracking: Visual analytics and performance insights
- Task Parsing: Convert natural language input into structured tasks
- Schedule Optimization: AI-optimized daily and weekly schedules
- Priority Scoring: Intelligent task prioritization based on urgency, difficulty, and time
- Study Strategies: Personalized study recommendations
- Announcement Analysis: Extract actionable items from academic announcements
- Modern Dashboard: Clean, intuitive interface with color-coded tasks
- Responsive Design: Works seamlessly on desktop and mobile devices
- Real-time Updates: Live task status and progress tracking
- Customizable Filters: Filter tasks by status, category, priority, and more
- Visual Analytics: Charts and graphs for performance insights
- Node.js with Express.js
- MongoDB with Mongoose ODM
- OpenAI GPT-3.5 for AI capabilities
- Google APIs for Forms, Sheets, and Calendar integration
- JWT for authentication
- Nodemailer for email notifications
- Node-cron for scheduled tasks
- React 18 with modern hooks
- Tailwind CSS for styling
- Framer Motion for animations
- React Router for navigation
- Axios for API calls
- Chart.js for data visualization
- Lucide React for icons
- Node.js (v16 or higher)
- MongoDB (local or cloud)
- OpenAI API key
- Google Cloud Console project (for Google APIs)
-
Clone the repository
git clone https://github.com/AdityaPandey-DEV/AI-Campus-Task-Optimizer.git cd AI-Campus-Task-Optimizer -
Install dependencies
npm install
-
Environment Configuration
cp env.example .env
Update the
.envfile with your configuration:# Server Configuration PORT=5000 NODE_ENV=development # Database MONGODB_URI=mongodb://localhost:27017/ai-campus-optimizer # JWT Secret JWT_SECRET=your_jwt_secret_key_here # OpenAI API OPENAI_API_KEY=your_openai_api_key_here # Google APIs GOOGLE_CLIENT_ID=your_google_client_id GOOGLE_CLIENT_SECRET=your_google_client_secret GOOGLE_REDIRECT_URI=http://localhost:5000/auth/google/callback # Email Configuration EMAIL_HOST=smtp.gmail.com EMAIL_PORT=587 EMAIL_USER=your_email@gmail.com EMAIL_PASS=your_app_password # Frontend URL CLIENT_URL=http://localhost:3000
-
Start the server
npm run dev
-
Navigate to client directory
cd client -
Install dependencies
npm install
-
Start the development server
npm start
The application will be available at http://localhost:3000
POST /api/auth/register- User registrationPOST /api/auth/login- User loginGET /api/auth/me- Get current userPUT /api/auth/preferences- Update user preferences
GET /api/tasks- Get all tasksPOST /api/tasks- Create new taskPOST /api/tasks/from-text- Create task from natural languagePUT /api/tasks/:id- Update taskDELETE /api/tasks/:id- Delete taskPOST /api/tasks/:id/start- Start taskPOST /api/tasks/:id/complete- Complete task
GET /api/schedule- Get schedulesPOST /api/schedule- Create schedule itemGET /api/schedule/optimized/daily- Get AI-optimized daily scheduleGET /api/schedule/available-slots- Find available time slots
POST /api/ai/parse-input- Parse natural language inputPOST /api/ai/optimize-schedule- Optimize task scheduleGET /api/ai/recommendations- Get AI recommendationsPOST /api/ai/chat- Chat with AI assistant
GET /api/google/auth-url- Get Google OAuth URLPOST /api/google/callback- Handle OAuth callbackPOST /api/google/forms/auto-fill- Auto-fill Google FormsGET /api/google/calendar/events- Get calendar events
GET /api/notifications/preferences- Get notification preferencesPUT /api/notifications/preferences- Update preferencesPOST /api/notifications/test- Send test notification
"Complete OS lab assignment due tomorrow"
"Study for Data Structures exam next week"
"Submit internship application form"
"Prepare presentation for AI project"
The system automatically:
- Analyzes your timetable and existing commitments
- Prioritizes tasks based on urgency and difficulty
- Suggests optimal time slots for each task
- Considers your working hours and break preferences
Pre-configured templates for:
- Attendance forms
- Internship applications
- Project submissions
- Course evaluations
- Categories: Academic, Assignment, Lab, Exam, Project, Internship, Attendance, Personal
- Priorities: Low, Medium, High, Urgent
- Status Tracking: Pending, In Progress, Completed, Cancelled
- Progress Monitoring: Visual progress bars and completion tracking
- Timetable Import: Bulk import class schedules
- Conflict Detection: Automatic detection of scheduling conflicts
- Recurring Events: Support for weekly recurring classes
- Holiday Management: Academic calendar integration
- Smart Parsing: Understands context and extracts task details
- Priority Scoring: AI-calculated priority scores (0-100)
- Study Strategies: Personalized study recommendations
- Time Estimation: AI-powered duration estimation
- Performance Metrics: Completion rates, time tracking
- Category Breakdown: Task distribution by category
- Trend Analysis: Weekly and monthly progress trends
- Productivity Insights: Peak working hours and efficiency patterns
- JWT Authentication: Secure token-based authentication
- Password Hashing: bcrypt for password security
- Input Validation: Comprehensive input sanitization
- Rate Limiting: API rate limiting for security
- CORS Configuration: Proper cross-origin resource sharing
- Create a Heroku app
- Set environment variables in Heroku dashboard
- Connect to GitHub repository
- Enable automatic deployments
NODE_ENV=production
MONGODB_URI=your_production_mongodb_uri
JWT_SECRET=your_production_jwt_secret
OPENAI_API_KEY=your_openai_api_key
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
EMAIL_USER=your_production_email
EMAIL_PASS=your_production_email_password- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Aditya Pandey
- GitHub: @AdityaPandey-DEV
- LinkedIn: Aditya Pandey
- OpenAI for providing the GPT API
- Google for their comprehensive APIs
- The React and Node.js communities
- All contributors and testers
If you have any questions or need help, please:
- Check the Issues page
- Create a new issue with detailed information
- Contact the maintainer
Made with β€οΈ for college students everywhere