Hackathon-Optimized Full-Stack Academic Management System
AcadIntel is a source-verified academic intelligence system that helps college students generate exam-focused notes and answer keys using trusted academic sources only (previous year question papers, textbooks, reference books, and library data), while avoiding AI hallucinations.
✅ AI-Powered - Used for retrieval, ranking, structuring, and summarization
✅ Source-Verified - NO fabricated or hallucinated answers
✅ Traceable - Every answer must be traceable to a source
✅ Fallback Links - If content unavailable locally, provides verified external links
✅ Stress-Free - Designed for calm, focused studying
Prerequisites: Node.js (v18 or higher) + Python 3.8+
Use the automated startup script:
start.bat # WindowsThis will:
- Setup Python virtual environment
- Install backend dependencies
- Start backend server (http://localhost:8000)
- Install frontend dependencies
- Start frontend server (http://localhost:3000)
Backend:
cd backend
python -m venv venv
venv\Scripts\activate # Windows
pip install -r requirements.txt
python main.pyFrontend:
npm install
npm run dev- Frontend: http://localhost:3000
- Backend API: http://localhost:8000
- Demo Login:
2024-STUD-8821
- Login using Registration Number (QR code ready for future)
- Auto-detect: Department, Year, Regulation
- Sidebar-based navigation
- "➕ New Subject Notes" button
- ChatGPT-like workspace
- Clean, minimal UI
- Input: Subject Name, Code, Regulation
- Dedicated workspace per subject
- Question Papers with status tracking
- E-textbooks with reading progress
- Library status and availability
- AI Tutor for Q&A
- Generate Notes/Answer Keys with Backend 🆕
- Real-time book availability
- Location tracking
- Due date monitoring
- Answer Key Generator (Backend Powered) 🆕
- Identifies repeated questions (3+ times)
- Highlights high-weightage (10+ marks)
- Retrieves exact answers from textbooks
- Includes source citations
- Provides external links if not found
- Professional PDF output
- Exam-Ready Notes (Backend Powered) 🆕
- Chapter-wise organization
- Converts questions to topics
- Structured study material
- Key terms highlighting
- Book-style PDF output
- AI Tutor with Gemini AI
- Mock data fallback
- Professional preview
- Zoom controls (50-200%)
- Export settings
- A4 formatting
- Backend:** Python FastAPI + ReportLab 🆕
Styling: Tailwind CSS
Routing: React Router v7
AI: Google Gemini AI
PDF Generation: ReportLab (Python) 🆕 - Profile management
- Light/Dark theme
- Account settings
- FastAPI server
- Answer key generation endpoint
- Notes generation endpoint
- PDF download endpoint
- Demo textbook data
- ReportLab PDF creation
Frontend: React 19 + TypeScript + Vite
Styling: Tailwind CSS
Routing: React Router v7
AI: Google Gemini AI
Icons: Material Symbols
AcadIntel/
├── components/ # React components
│ ├── AIAssistantModal.tsx
│ ├── AITutorModal.tsx
│ ├── DashboardPage.tsx
│ ├── LibraryPage.tsx
│ ├── LoginPage.tsx
│ ├── NewSubjectPage.tsx
│ ├── PDFPreviewPage.tsx
│ ├── SettingsPage.tsx
│ ├── Sidebar.tsx
│ └── SubjectWorkspacePage.tsx
├── contexts/ # State management
│ └── AppContext.tsx
├── services/ # AI integration
│ └── geminiService.ts
├── App.tsx # Main component
├── index.tsx # Entry point
├── types.ts # TypeScript types
└── package.json # Dependencies
- Premium Design: Dark/Light themes with calm colors
- Typography: Lexend & Inter fonts for readability
- Responsive: Mobile-first approach
- Smooth: 200-300ms transitions
- Accessible: High contrast, keyboard navigation
Create .env file:
VITE_GEMINI_API_KEY=your_api_key_here
VITE_APP_NAME=AcadIntel
VITE_APP_VERSION=1.0.0Note: Works with mock data without API key!
- Login: Use
2024-STUD-8821 - Create Subject: Click "➕ New Subject Notes"
- Workspace: Browse materials, use AI Tutor
- Generate: Create answer keys and notes
- Settings: Switch themes, manage profile
npm run dev # Development server
npm run build # Production build
npm run preview # Preview production buildEnvironment:
- Node.js v18+ and Python 3.8+ are required.
- Add Gemini API key to
.envasVITE_GEMINI_API_KEYand restart the dev server. - Hash-based routing is used for static hosting (
#/path).
Common Issues:
- Gemini key not working → verify at https://aistudio.google.com/app/apikey and restart dev server.
- Tailwind styles missing → ensure
index.cssis imported inindex.tsxand dependencies installed. - Vite env typing → handled via
vite-env.d.tsforimport.meta.env.
Scanner (New Subject):
- Click Scan QR Code on New Subject page.
- Allow camera access and scan a QR code with subject JSON.
Generator (Dashboard):
- Click Generate QR Code on Dashboard.
- Fill subject details, generate, download or copy JSON.
QR JSON Format:
{
"name": "Subject Name",
"code": "SUB-101",
"regulation": "R-2021"
}Tech: html5-qrcode (scanner), generator modal, and qrCodeUtils.ts.
Start Backend:
cd backend
python -m venv venv
venv\Scripts\activate
pip install -r requirements.txt
python main.pyEndpoints:
POST /api/generate/answer-keyPOST /api/generate/notesGET /api/download/{filename}GET /api/demo/textbookGET /api/demo/questions
Backend Features:
- Repeated question detection and high-weightage tagging
- Source citations from textbooks
- External fallback links for missing sources
- Professional PDF output (ReportLab)
Flow: Login → Dashboard → New Subject → Subject Workspace → AI Tutor → Generate Notes → Library → Settings.
Key talking points:
- Source-verified answers (no hallucinations)
- Professional PDFs with citations
- Stress-free UI and quick navigation
- Start backend at http://localhost:8000
- Start frontend at http://localhost:3000
- Login with
2024-STUD-8821 - Generate notes/answer key to verify PDF download
- FastAPI backend
- PostgreSQL/MongoDB database
- FAISS vector store
- PDF ingestion pipeline
- RAG with LangChain
- Real authentication
- File upload
- Mobile app
- Frontend-only (mock backend data)
- Single demo user
- No persistent storage
- No file upload processing
MIT License - Free for educational use
Built for Hackathon - AcadIntel Team
Powered by: React + TypeScript + Vite + Gemini AI
🌟 Star this repo if you find it helpful!