Aura is an intelligent scheduling assistant that transforms your academic syllabi into optimized study plans, automatically synced with Google Calendar. Built for students who want to stay organized and maximize their productivity.
- π Smart Syllabus Parsing: Upload PDF or DOCX syllabi and automatically extract assignments, exams, and deadlines
- π€ AI Schedule Generation: Google Gemini AI creates personalized study plans based on your workload
- π Google Calendar Integration: Real-time sync with your Google Calendar
- π₯ ICS Export: Download schedules in standard iCalendar format for any calendar app
- π¬ Natural Language Feedback: Refine schedules using conversational feedback
- π¨ Beautiful UI: Modern, responsive design with dark theme
- β‘ Fast & Reliable: Built with FastAPI and React for optimal performance
- Students: Manage multiple course syllabi and never miss a deadline
- Educators: Help students visualize their semester workload
- Study Groups: Share and coordinate study schedules
- Academic Advisors: Assist students with time management
- Python 3.8+
- Node.js 18+
- Google Cloud Platform account (for Calendar API)
- Google Generative AI API key
-
Clone the repository
git clone https://github.com/yourusername/aura.git cd aura -
Set up Backend
cd backend python -m venv aura_venv # Windows .\aura_venv\Scripts\Activate.ps1 # macOS/Linux source aura_venv/bin/activate pip install -r requirements.txt
-
Configure Environment Variables
Create
backend/.env:GEMINI_API_KEY=your_gemini_api_key_here GOOGLE_CALENDAR_SERVICE_ACCOUNT_JSON={"type":"service_account",...}
-
Set up Frontend
cd ../frontend npm install -
Run the Application
Terminal 1 - Backend:
cd backend python -m uvicorn app.main:app --reloadTerminal 2 - Frontend:
cd frontend npm run dev -
Access the Application
- Frontend:
http://localhost:5173 - Backend API:
http://localhost:8000 - API Docs:
http://localhost:8000/docs
- Frontend:
Drag and drop your course syllabus (PDF or DOCX format) into the upload area.
AI parses the document to extract:
- Course lectures and office hours
- Assignment due dates
- Exam schedules
- Project milestones
Google Gemini AI creates an optimized study plan with:
- Study sessions for each topic
- Revision blocks before exams
- Prep time for assignments
- Balanced workload distribution
Use natural language to customize:
- "Add more study time for Chapter 3"
- "Schedule morning study sessions"
- "Increase revision time before exams"
- Accept & Export: Sync directly to Google Calendar
- Download ICS: Import into any calendar application
βββββββββββββββββββ
β React Frontendβ
β (TypeScript) β
ββββββββββ¬βββββββββ
β
β HTTP/REST API
β
ββββββββββΌβββββββββ
β FastAPI Backendβ
β (Python) β
βββββββββββββββββββ€
β Agent 1: Ingest β β PDF/DOCX Parsing
β Agent 2: Verify β β Validation
β Agent 3: Scheduleβ β AI Generation
ββββββββββ¬βββββββββ
β
ββββββ΄ββββββ
β β
βββββΌββββ ββββΌβββββββ
βGemini β β Google β
β AI β βCalendar β
βββββββββ βββββββββββ
- React 19.2 - UI framework
- TypeScript - Type safety
- Vite - Build tool
- Tailwind CSS v4 - Styling
- React Router - Navigation
- Axios - API client
- FastAPI - Web framework
- Python 3.8+ - Programming language
- Google Generative AI - Schedule generation
- Google Calendar API - Calendar integration
- PyMuPDF - PDF parsing
- python-docx - DOCX parsing
- Pydantic - Data validation
- Backend README - API documentation and setup
- Frontend README - UI components and development
- API Documentation - Interactive API explorer
- Service Account Authentication: Google Calendar uses secure service account credentials
- No Data Storage: Uploaded files are processed in memory, not stored
- API Key Security: Environment variables keep keys secure
- CORS Protection: Configured for specific frontend origin
- Verify service account JSON is correctly set in
.env - Ensure Calendar API is enabled in GCP
- Check backend logs for error messages
- Ensure PDF is text-based (not scanned images)
- Check document structure and formatting
- Try DOCX format as alternative
# Clear caches
cd frontend && rm -rf node_modules package-lock.json
cd ../backend && rm -rf __pycache__ aura_venv
# Reinstall
npm install
pip install -r requirements.txtWe welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow existing code style
- Write descriptive commit messages
- Add tests for new features
- Update documentation as needed
This project is licensed under the MIT License - see the LICENSE file for details.
- Google Generative AI for powerful schedule generation
- FastAPI community for excellent documentation
- React and Vite teams for modern development tools
- All contributors and testers
- Project Maintainer: Your Name
- GitHub Issues: Report a bug
- Discussions: Join the conversation
- Multi-language support
- Mobile app (React Native)
- Microsoft Outlook integration
- Collaborative scheduling
- Smart notifications
- Study session analytics
- Export to Notion, Trello, etc.
If you find Aura helpful, please give it a star on GitHub! It helps others discover the project.
Made with β€οΈ for students, by students
