{"id":29552726,"url":"https://github.com/wizardoftrap/quiz-maker","last_synced_at":"2025-07-18T05:40:15.361Z","repository":{"id":302427623,"uuid":"1012406547","full_name":"wizardoftrap/quiz-maker","owner":"wizardoftrap","description":null,"archived":false,"fork":false,"pushed_at":"2025-07-02T10:35:14.000Z","size":2212,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-02T10:48:03.998Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","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/wizardoftrap.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}},"created_at":"2025-07-02T09:33:09.000Z","updated_at":"2025-07-02T10:35:17.000Z","dependencies_parsed_at":"2025-07-02T10:48:06.777Z","dependency_job_id":"e047dd99-981e-4dc3-aa5f-da8ca2290cb0","html_url":"https://github.com/wizardoftrap/quiz-maker","commit_stats":null,"previous_names":["wizardoftrap/quiz-maker"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/wizardoftrap/quiz-maker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wizardoftrap%2Fquiz-maker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wizardoftrap%2Fquiz-maker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wizardoftrap%2Fquiz-maker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wizardoftrap%2Fquiz-maker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wizardoftrap","download_url":"https://codeload.github.com/wizardoftrap/quiz-maker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wizardoftrap%2Fquiz-maker/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265705729,"owners_count":23814495,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2025-07-18T05:40:14.374Z","updated_at":"2025-07-18T05:40:15.353Z","avatar_url":"https://github.com/wizardoftrap.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AI Quiz Generator for Students\n\nThis is a robust Streamlit app for student quizzes, powered by Gemini Flash 2.5 for question generation, Gemini embeddings for PDF notes, Pinecone for vector storage, and PyPDF for PDF processing.\n\n## Features\n- Teachers upload class notes (PDF) via command line.\n- Students log in with their name, roll number, and email.\n- Quiz is generated from teacher notes using Gemini.\n- Quiz types: MCQ, descriptive, true/false, and multi-correct MCQ.\n- Auto-grading and email results to students.\n- 2 attempts per student (tracked per session/roll number).\n- 20-minute timer per quiz attempt.\n- Robust handling of Gemini's JSON output.\n\n## Setup\n1. **Clone the repository and navigate to the project folder.**\n2. **Create a virtual environment and activate it:**\n   ```\n   python -m venv venv\n   venv\\Scripts\\activate  # On Windows\n   source venv/bin/activate  # On Mac/Linux\n   ```\n3. **Install dependencies:**\n   ```\n   pip install -r requirements.txt\n   ```\n4. **Set up your `.env` file:**\n   - Add your Gemini, Pinecone, and SMTP credentials as environment variables.\n\n5. **Upload teacher notes:**\n   - Run the `upload_notes.py` script to upload and embed PDF notes.\n      ```\n      python upload_notes.py BasicsOfStatistics.pdf\n      ```\n\n6. **Run the app:**\n   ```\n   streamlit run app.py\n   ```\n\n## Usage\n- Students fill in their details and start the quiz.\n- Each student can attempt the quiz twice per session.\n- Results are auto-graded and can be emailed.\n- Teachers can update notes by re-running the upload script.\n\n## Notes\n- Quiz attempt tracking is per session.\n- For persistent tracking, integrate a database and check attempts by roll number.\n- Improve backend system and creating teacher interface for better usability.\n- Add database to store student information on teacher side. \n\n## Requirements\n- Python 3.8+\n- See `requirements.txt` for all dependencies.\n\n## Screenshots\n\nBelow are screenshots of the main app screens:\n\n| Interface   | Screenshot                        |\n|-------------|-----------------------------------|\n| Login Page  | ![Login](screenshots/login.png)   |\n| Dashboard   | ![Dashboard](screenshots/dashboard.png) |\n| Quiz        | ![Quiz](screenshots/quiz.png)     |\n| Result      | ![Result](screenshots/result.png) |\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwizardoftrap%2Fquiz-maker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwizardoftrap%2Fquiz-maker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwizardoftrap%2Fquiz-maker/lists"}