diff --git a/.gitignore b/.gitignore index 2c617d8..57f2dc5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,141 +1,41 @@ -# Do not upload folder, auto created at each run +# Custom pdf/ -# Byte-compiled / optimized / DLL files +# Python __pycache__/ *.py[cod] *$py.class - -# C extensions *.so -# Distribution / packaging -.Python +# Distribution build/ -develop-eggs/ dist/ -downloads/ -eggs/ -.eggs/ -lib/ -lib64/ -parts/ -sdist/ -var/ -wheels/ -share/python-wheels/ *.egg-info/ -.installed.cfg -*.egg -MANIFEST -# PyInstaller -# Usually these files are written by a python script from a template -# before PyInstaller builds the exe, so as to inject date/other infos into it. -*.manifest -*.spec - -# Installer logs -pip-log.txt -pip-delete-this-directory.txt - -# Unit test / coverage reports -htmlcov/ -.tox/ -.nox/ -.coverage -.coverage.* -.cache -nosetests.xml -coverage.xml -*.cover -*.py,cover -.hypothesis/ -.pytest_cache/ -cover/ - -# Translations -*.mo -*.pot - -# Django stuff: -*.log -local_settings.py -db.sqlite3 -db.sqlite3-journal - -# Flask stuff: -instance/ -.webassets-cache - -# Scrapy stuff: -.scrapy - -# Sphinx documentation -docs/_build/ - -# PyBuilder -.pybuilder/ -target/ - -# Jupyter Notebook -.ipynb_checkpoints - -# IPython -profile_default/ -ipython_config.py - -# pyenv -# For a library or package, you might want to ignore these files since the code is -# intended to run in multiple environments; otherwise, check them in: -# .python-version - -# pipenv -# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. -# However, in case of collaboration, if having platform-specific dependencies or dependencies -# having no cross-platform support, pipenv may install dependencies that don't work, or not -# install all needed dependencies. -#Pipfile.lock - -# PEP 582; used by e.g. github.com/David-OConnor/pyflow -__pypackages__/ - -# Celery stuff -celerybeat-schedule -celerybeat.pid - -# SageMath parsed files -*.sage.py - -# Environments +# Environment .env +.envrc .venv env/ venv/ ENV/ -env.bak/ -venv.bak/ -# Spyder project settings -.spyderproject -.spyproject +# Flask +instance/ +.webassets-cache -# Rope project settings -.ropeproject +# Database +db.sqlite3 +db.sqlite3-journal -# mkdocs documentation -/site +# Coverage +.coverage +.coverage.* +htmlcov/ -# mypy -.mypy_cache/ -.dmypy.json -dmypy.json +# IDE +.vscode/ +.idea/ -# Pyre type checker -.pyre/ - -# pytype static type analyzer -.pytype/ - -# Cython debug symbols -cython_debug/ +# OS +.DS_Store diff --git a/README.md b/README.md index d50bd27..be9641e 100644 --- a/README.md +++ b/README.md @@ -1,158 +1,28 @@ -# MLH Quizzet +# hikaruven +# Focus Unlock -This is a smart Quiz Generator that generates a dynamic quiz from any uploaded text/PDF document using NLP. This can be used for self-analysis, question paper generation, and evaluation, thus reducing human effort. - -[![Forks](https://img.shields.io/github/forks/PragatiVerma18/Fantastic-Falcons-1.0?style=social)](https://github.com/PragatiVerma18/Fantastic-Falcons-1.0/network/members) -[![Stars](https://img.shields.io/github/stars/PragatiVerma18/Fantastic-Falcons-1.0?style=social)](https://github.com/PragatiVerma18/Fantastic-Falcons-1.0/stargazers) -[![Watchers](https://img.shields.io/github/watchers/PragatiVerma18/Fantastic-Falcons-1.0?style=social)](https://github.com/PragatiVerma18/Fantastic-Falcons-1.0/watchers) -[![PRs](https://img.shields.io/github/issues-pr/PragatiVerma18/Fantastic-Falcons-1.0)](https://github.com/PragatiVerma18/Fantastic-Falcons-1.0/pulls) -[![Issues](https://img.shields.io/github/issues/PragatiVerma18/Fantastic-Falcons-1.0)](https://github.com/PragatiVerma18/Fantastic-Falcons-1.0/issues) -[![License](https://img.shields.io/github/license/PragatiVerma18/Fantastic-Falcons-1.0)](https://github.com/PragatiVerma18/Fantastic-Falcons-1.0/blob/master/LICENSE) -[![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](https://GitHub.com/PragatiVerma18/Fantastic-Falcons-1.0/graphs/commit-activity) -[![Open Source? Yes!](https://badgen.net/badge/Open%20Source%20%3F/Yes%21/blue?icon=github)](https://github.com/PragatiVerma18/Fantastic-Falcons-1.0/) +AI-powered learning platform that helps you study smarter. ## Features +- Paste any study text → generates 5 multiple-choice questions using OpenAI +- Interactive quiz with instant feedback and scoring +- Save past quiz results (score, date, percentage) +- View detailed past quiz answers & correct answers +- Save and manage study materials locally +- Responsive Bootstrap 5 design + modern indigo theme -- implements automatic question generation _(AQG) techniques_ - > **Automatic question generation (AQG)** is concerned with the construction of algorithms for producing questions from knowledge sources, which can be either structured (e.g. knowledge bases (KBs) or unstructured (e.g. text)) -- helps in **resource saving**(time, money and human effort) -- enables the **enrichment of the teaching** process, adapt learning to student knowledge and needs, as well as drill and practice exercises -- presents an _automatic mechanism_ to assemble exams or to adaptively select questions from a question bank +## Tech stack +- Backend: Flask (Python) +- AI: OpenAI GPT-4o-mini +- Frontend: HTML + Bootstrap 5 + JavaScript +- Storage: browser localStorage (no database yet) -## WorkFlow -![workflow](https://user-images.githubusercontent.com/42115530/95686207-1111e300-0c1a-11eb-993a-766967b91c92.png) - -## Demo Video - - MLH-Quizzet - - -## Technology Stack: - - - - -- **Frontend**: HTML, CSS, Vanilla JS -- **Backend**: Flask -- **IDE**: VS Code -- **Design**: Canva -- **Version Control**: Git and GitHub -- **Database**: Sqllite3 - -## How to Get Started? - -[![Requirements Up To Date](https://img.shields.io/badge/requirements-up%20to%20date-brightgreen)](https://github.com/PragatiVerma18/Fantastic-Falcons-1.0/blob/webapp/requirements.txt) -[![Python](https://img.shields.io/badge/python-v3.7-blue)](https://www.python.org/) - -### GitHub Repository Structure - -| S.No. | Branch Name | Purpose | -| ----- | ----------------------------------------------------------------------------- | ---------------------------------- | -| 1. | [master](https://github.com/PragatiVerma18/Fantastic-Falcons-1.0/tree/master) | contains the main code | -| 2. | [nlp](https://github.com/PragatiVerma18/Fantastic-Falcons-1.0/tree/nlp) | contains all machine learning code | -| 3. | [webapp](https://github.com/PragatiVerma18/Fantastic-Falcons-1.0/tree/webapp) | contains all frontend/backend code | - -### Setup - -- Fork and Clone the repo using - -``` -$ git clone https://github.com/PragatiVerma18/Fantastic-Falcons-1.0.git -$ cd Fantastic-Falcons-1.0 -``` - -- Change Branch to `webapp` using - -``` -$ git checkout webapp -``` - -- Setup Virtual environment - -``` -$ python3 -m venv env -``` - -- Activate the virtual environment - -``` -$ source env/bin/activate -``` - -- Install dependencies using - -``` -$ pip install -r requirements.txt -``` - -- Run Flask server using - -``` -$ python app.py -``` - -## Browser Support - -- **Firefox**: version 4 and up -- **Chrome**: any version -- **Safari**: version 5.2 and up -- **Internet Explorer/Edge**: version 8 and up -- **Opera**: version 9 and up - > **Note**: Support for modern mobile browsers is experimental. The website is not responsive in mobile devices until now. - -## MLH Fellowship( Fall 2020) - -> This is a hackathon project made by MLH Fellows(Fall 2020) - Pod 1.0.0 i.e. Fantastic Falcons - -[![MLH Fellowship](https://challengepost-s3-challengepost.netdna-ssl.com/photos/production/challenge_photos/001/113/145/datas/original.jpg)](https://github.com/MLH-Fellowship) - -## Team: - -> "Alone we can do so little; together we can do so much." - -| S.No. | Name | Role | GitHub Username:octocat: | -| ----- | ------------------ | ------------------ | ---------------------------------------------------- | -| 1. | Pragati Verma | Frontend Developer | [@PragatiVerma18](https://github.com/PragatiVerma18) | -| 2. | Kshitij Kotasthane | Backend Developer | [@kshitij86](https://github.com/kshitij86) | -| 3. | Vignesh S | ML | [@telescopic](https://github.com/telescopic) | - - -
-
- -![Fantastic Falcons](https://user-images.githubusercontent.com/42115530/95672625-0aef1880-0bc0-11eb-8db6-90f6e16af2c0.gif) - -## Contributors ✨ - -Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): - - - - - - - - - - -

Pragati Verma

💻

Kshitij Kotasthane

💻

Vignesh S

💻
- - - - - - - -This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! - -[![ForTheBadge uses-git](http://ForTheBadge.com/images/badges/uses-git.svg)](https://github.com/) -[![ForTheBadge uses-html](http://ForTheBadge.com/images/badges/uses-html.svg)](https://github.com/PragatiVerma18/Fantastic-Falcons-1.0/) -[![ForTheBadge uses-css](http://ForTheBadge.com/images/badges/uses-css.svg)](https://github.com/PragatiVerma18/Fantastic-Falcons-1.0/) -[![ForTheBadge uses-js](http://ForTheBadge.com/images/badges/uses-js.svg)](https://github.com/PragatiVerma18/Fantastic-Falcons-1.0/) - -[![forthebadge made-with-python](http://ForTheBadge.com/images/badges/made-with-python.svg)](https://www.python.org/) -[![ForTheBadge built-by-developers](http://ForTheBadge.com/images/badges/built-by-developers.svg)](https://github.com/PragatiVerma18/Fantastic-Falcons-1.0/) -[![ForTheBadge built-with-love](http://ForTheBadge.com/images/badges/built-with-love.svg)](https://github.com/PragatiVerma18/Fantastic-Falcons-1.0/) - ---- +## How to run locally +1. Clone repo +2. `cd focus-unlock` +3. `python -m venv env` +4. `source env/bin/activate` (Mac/Linux) or `env\Scripts\activate` (Windows) +5. `pip install flask openai` +6. Set your OpenAI key: + ```bash + export OPENAI_API_KEY="sk-..."