Welcome to Quizzler, the trivia quiz application designed to make learning fun and efficient! As a student, I often wished for a tool that could enhance my study sessions with engaging content. Quizzler transforms mundane revision into an interactive experience, utilizing natural language processing (NLP) techniques to analyze and present trivia questions dynamically. Built with Python and Tkinter, and powered by the Open Trivia Database API, this app enables users to learn quickly while enjoying the challenge of trivia.
- Dynamic Question Retrieval: Uses the Open Trivia Database API to fetch diverse trivia questions in real-time, employing NLP to parse and present questions effectively.
- User-Friendly Interface: Built with Tkinter, ensuring intuitive navigation for users of all ages.
- Score Tracking: Monitors user performance, providing instant feedback and utilizing sentiment analysis to enhance the learning experience.
- Modular Design: Organized code structure allows for easy updates, ensuring adaptability for future enhancements.
To get started with Quizzler, follow these steps:
- Clone the Repository:
git clone https://github.com/TejasUpadhyayy/Quizzler.git
- Navigate to Project Directory:
cd Quizzler
- Install Dependencies:
pip install -r requirements.txt
- Run the Application:
python main.py
.
├── data/ # Contains trivia data files
├── quiz_brain.py # Core logic for quiz functionality
├── question_model.py # Data model for quiz questions
├── ui.py # User interface setup using Tkinter
├── main.py # Main script to run the application
├── README.md # Project documentation
└── requirements.txt # Dependencies needed for the full project
- Launch the Application: Execute
main.py
to start the application. - Answer Questions: Engage with true/false questions, making quick selections.
- Track Your Score: The application dynamically updates and displays your score, using NLP techniques to provide tailored feedback based on user performance.
- Enhanced Question Categories: Implement support for multiple categories and subcategories, allowing users to tailor their quiz experience.
- Adaptive Difficulty Levels: Introduce algorithms that adjust question difficulty based on user performance, using machine learning techniques to enhance engagement.
- Interactive Question Formats: Expand the application to support multiple-choice questions and timed challenges, utilizing NLP to analyze user responses and improve question quality.
Contributions to Quizzler are highly encouraged! Here’s how you can get involved:
- Fork the Repository: Create your own copy of the project.
- Branch for Your Feature: Make sure to create a new branch for your feature or bug fix:
git checkout -b feature/YourFeatureName
- Make Your Changes: Implement your improvements or new features, ensuring your code is well-documented.
- Commit Your Changes: Write clear, concise commit messages describing your changes:
git commit -m "Add new feature or fix bug"
- Push to Your Branch:
git push origin feature/YourFeatureName
- Create a Pull Request: Submit your changes for review. Provide a detailed description of what you’ve implemented and why it’s beneficial.
- Developer: Tejas Upadhyay, Mobashir Ali, Aadarsh Dubey, Hardik Sharma, Ritesh Sahoo
- GitHub: Project