{"id":50960643,"url":"https://github.com/deepakdnayak/aeroquiz","last_synced_at":"2026-06-18T13:32:40.625Z","repository":{"id":362010653,"uuid":"1254910414","full_name":"deepakdnayak/aeroquiz","owner":"deepakdnayak","description":"Practice Platform Build for CBSE class 10 student","archived":false,"fork":false,"pushed_at":"2026-06-02T06:57:44.000Z","size":363,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-02T08:25:14.424Z","etag":null,"topics":["mongodb","nextjs","tailwindcss","typescript","vercel"],"latest_commit_sha":null,"homepage":"https://myaeroquiz.vercel.app/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/deepakdnayak.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-05-31T06:39:26.000Z","updated_at":"2026-06-02T06:53:53.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/deepakdnayak/aeroquiz","commit_stats":null,"previous_names":["deepakdnayak/aeroquiz"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/deepakdnayak/aeroquiz","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deepakdnayak%2Faeroquiz","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deepakdnayak%2Faeroquiz/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deepakdnayak%2Faeroquiz/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deepakdnayak%2Faeroquiz/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/deepakdnayak","download_url":"https://codeload.github.com/deepakdnayak/aeroquiz/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deepakdnayak%2Faeroquiz/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34493361,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-18T02:00:06.871Z","response_time":128,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["mongodb","nextjs","tailwindcss","typescript","vercel"],"created_at":"2026-06-18T13:32:39.815Z","updated_at":"2026-06-18T13:32:40.613Z","avatar_url":"https://github.com/deepakdnayak.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AreoQuiz - AI-Powered Quiz Platform\n\nAreoQuiz is a modern, full-featured quiz platform that leverages AI to generate and manage quizzes for students. Built with Next.js, it supports role-based access (Admin \u0026 Student), automatic grading, and comprehensive analytics.\n\n## 🎯 Features\n\n### For Students\n- **Take Quizzes**: Participate in daily, weekly, and special quizzes across multiple subjects\n- **Multiple Question Types**: Answer both multiple-choice questions (MCQ) and long-form paragraph questions\n- **Quiz Timer**: Real-time countdown timer for quiz duration management\n- **View Results**: Instant feedback on MCQ answers with detailed result analysis\n- **Performance Dashboard**: Track quiz attempts, scores, and performance trends\n- **Monthly Analytics**: View performance trends and statistics\n\n### For Admins\n- **AI Quiz Generation**: Automatically generate quizzes using OpenAI with customizable parameters\n- **Quiz Management**: Create, edit, draft, and publish quizzes\n- **Subject Organization**: Organize quizzes by subjects (Science, Social, English, Maths)\n- **Quiz Types**: Support for Daily, Weekly, and Special quiz types\n- **Manual Grading**: Grade paragraph answers and provide feedback\n- **Submission Review**: Review student submissions with tab-switch monitoring\n- **Admin Dashboard**: View all quizzes and their statistics\n\n### Platform Features\n- **Secure Authentication**: User authentication and role-based access control\n- **Real-time Monitoring**: Track tab switches and auto-submit functionality\n- **Time Management**: Set availability windows for quizzes\n- **MongoDB Integration**: Persistent data storage\n- **Responsive Design**: Modern, responsive UI built with Tailwind CSS\n\n## 🛠️ Tech Stack\n\n- **Frontend**: Next.js 16, React 19, TypeScript, Tailwind CSS\n- **Backend**: Next.js API Routes\n- **Database**: MongoDB with Mongoose ODM\n- **Authentication**: NextAuth.js\n- **AI Integration**: OpenAI API\n- **Analytics**: Recharts for data visualization\n- **Security**: bcryptjs for password hashing\n\n## 📋 Prerequisites\n\n- Node.js 18+ \n- npm or yarn\n- MongoDB instance\n- OpenAI API key\n\n## 🚀 Getting Started\n\n### 1. Installation\n\nClone the repository and install dependencies:\n\n```bash\nnpm install\n```\n\n### 2. Environment Setup\n\nCreate a `.env.local` file in the root directory with the following variables:\n\n```env\nNEXTAUTH_SECRET=your_secret_key_here\nNEXTAUTH_URL=http://localhost:3000\nMONGODB_URI=mongodb://localhost:27017/aeroquiz\nGROQ_API_KEY=your_openai_api_key\n```\n\n### 3. Seed Initial Data (Optional)\n\nSeed the database with a test admin account:\n\n```bash\nnpm run seed\n```\n\n### 4. Start Development Server\n\n```bash\nnpm run dev\n```\n\nOpen [http://localhost:3000](http://localhost:3000) in your browser.\n\n## 📁 Project Structure\n\n```\napp/\n├── api/                    # API routes\n│   ├── auth/              # Authentication endpoints\n│   ├── generate/          # AI quiz generation\n│   ├── quiz/              # Quiz management\n│   ├── stats/             # Analytics endpoints\n│   └── submissions/       # Submission handling\n├── admin/                 # Admin dashboard pages\n├── dashboard/             # Student dashboard pages\n├── login/                 # Login page\n└── layout.tsx            # Root layout\n\nlib/\n├── auth.ts               # NextAuth configuration\n├── db.ts                 # MongoDB connection\n├── llm.ts                # OpenAI integration\n└── models/               # Database schemas\n    ├── Quiz.ts\n    ├── Submission.ts\n    └── User.ts\n\nscripts/\n└── seed.ts              # Database seeding script\n\ntypes/\n└── next-auth.d.ts      # Type definitions\n```\n\n## 🔐 User Roles\n\n### Admin\n- Create and manage quizzes\n- Generate quizzes using AI\n- Grade paragraph answers\n- View all submissions and statistics\n- Access: `/admin`\n\n### Student\n- Take assigned quizzes\n- View results and performance\n- Track progress\n- Access: `/dashboard`\n\n## 📊 API Endpoints\n\n### Quiz Management\n- `POST /api/quiz` - Create a new quiz\n- `GET /api/quiz` - Get all quizzes\n- `GET /api/quiz/[id]` - Get quiz details\n- `GET /api/quiz/[id]/submit` - Submit quiz answers\n- `POST /api/quiz/[id]/grade` - Grade submissions\n\n### AI Generation\n- `POST /api/generate` - Generate quiz using AI\n\n### Statistics\n- `GET /api/stats` - Get student statistics\n- `GET /api/submissions/mine` - Get student's submissions\n- `GET /api/submissions/[id]` - Get submission details\n\n## 🎮 Usage Examples\n\n### For Students\n1. Login with your student credentials\n2. Navigate to Dashboard\n3. Select an available quiz\n4. Answer all questions within the time limit\n5. Submit your quiz\n6. View results and performance analytics\n\n### For Admins\n1. Login with admin credentials\n2. Go to Admin Dashboard\n3. Create Quiz → Enter quiz details OR use AI Generate\n4. Configure quiz parameters (subject, duration, availability)\n5. Publish the quiz\n6. Grade paragraph answers from Submissions\n7. View statistics\n\n## 🧪 Testing\n\nRun linting:\n\n```bash\nnpm run lint\n```\n\nBuild for production:\n\n```bash\nnpm run build\n```\n\nStart production server:\n\n```bash\nnpm start\n```\n\n## 📝 Database Models\n\n### User\n- Username, Password, Role (admin/student)\n- Timestamps\n\n### Quiz\n- Title, Subject, Type (daily/weekly/special)\n- Questions (MCQ and Paragraph types)\n- Availability dates, Duration\n- Total marks\n\n### Submission\n- Quiz and Student references\n- Answers with marks\n- Tab-switch tracking\n- Status (submitted/graded)\n- Timestamps\n\n## 🔄 Common Workflows\n\n### Generate a Quiz with AI\n1. Click \"Create Quiz\" in Admin Dashboard\n2. Select \"Generate with AI\"\n3. Enter subject, topic description\n4. Specify number of MCQ and paragraph questions\n5. Set marks per question type\n6. AI generates the quiz automatically\n\n### Grade a Submission\n1. Go to Admin → Grade\n2. Select submission to review\n3. For each paragraph answer, enter marks and comments\n4. Submit grades\n5. Marks are calculated and results become visible to student\n\n## 📱 Features in Development\n\n- Advanced analytics and detailed performance insights\n- Batch quiz scheduling\n- Question bank management\n- Export results to CSV/PDF\n- Student groups and class management\n\n## 🐛 Troubleshooting\n\n### Quiz not showing for student\n- Check availability dates\n- Ensure student is logged in\n- Verify quiz is published\n\n### Can't generate AI quiz\n- Check OpenAI API key is valid\n- Verify API account has sufficient credits\n- Check API rate limits\n\n### Authentication issues\n- Ensure `.env.local` is properly configured\n- Clear browser cookies\n- Restart development server\n\n## 📄 License\n\nThis project is for internal use only.\n\n## 📞 Support\n\nFor issues or questions, please contact the development team.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeepakdnayak%2Faeroquiz","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdeepakdnayak%2Faeroquiz","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeepakdnayak%2Faeroquiz/lists"}