ExamIQ is a modern web-based system designed to simplify and automate the process of question paper generation for colleges and universities.
It reduces the workload on exam cells and teachers by streamlining task allocation, question management, and final paper generation with AI assistance.
- Role-based Access
- Exam Cell: Create tasks, allocate teachers, manage deadlines, generate final papers.
- Teachers: Add/edit only their allocated questions, upload diagrams and equations.
- Automatic Paper Generation
- AI-powered MCQ creation from lecture summaries (via ChatGPT/Gemini API).
- Randomized selection of questions from teacher pools for fairness.
- Smart File Handling
- Upload diagrams and formulas.
- OCR support for labels/symbols (Tesseract.js).
- Clean/scanned diagrams with OpenCV.
- PDF Export
- Generate final exam-ready papers with headers, sections, and formatting.
- Minimal, Fast UI
- Built with modern design principles: clean, responsive, and distraction-free.
- Frontend: Next.js 15 (React), Tailwind CSS, ShadCN UI
- Backend: Next.js API Routes
- Database: MongoDB (JSON-like storage for questions/papers)
- Authentication: NextAuth.js (role-based login: Teacher / Exam Cell)
- AI Integration: ChatGPT/Gemini API (for auto question generation)
- OCR & Image Processing: Tesseract.js + OpenCV
- PDF Export: jsPDF
src/
├── app/ # Routes (login, dashboard, exam tasks, etc.)
├── components/ # Reusable UI components
│ ├── common/ # Shared UI (Sidebar, Header, Layouts)
│ ├── pages/ # Page-specific UI
│ └── ui/ # ShadCN components
├── lib/utils/ # Helper functions (date, PDF, formatting)
├── notes/ # Documentation for contributors
└── utilities/ # Scripts, mock data, seeding
- Node.js (v20 LTS or higher)
- npm (comes with Node.js) or yarn
- Git
-
Clone the repo:
git clone https://github.com/Stavan1234/examiq-qpgs.git cd examiq-qpgs -
Install dependencies:
npm install
-
Run the development server:
npm run dev
-
Open http://localhost:3000 in your browser.
- Branch Naming Convention:
feature/loginfeature/dashboardfeature/exam-tasks
- Commit Messages:
feat: add login formfix: sidebar alignment
- Collaboration:
- Push changes and create Pull Requests (PRs) for review.
- Use GitHub Issues to assign tasks and Discussions for communication.
- Build login & role-based dashboard
- Implement teacher question entry system
- Add exam cell allocation + paper generation
- Integrate AI (ChatGPT/Gemini API) for MCQ creation
- Add OCR for diagrams and formulas
- Finalize PDF export & download
This project is for academic purposes under an open MIT license.
You are free to use, adapt, and improve it with attribution.
- David Almieda
- Anurodh Chandanshiv
- Stavan Kalkumbe
- Joshua Jaison
- Ensure all collaborators accept the GitHub invitation and set their Git identity (
git config --global user.name "TheirName" && git config --global user.email "their.email@example.com") before contributing. - For issues or suggestions, use the GitHub Issues tab.