Skip to content

Alkxs/Quizzle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


TheraFit - Quizzle App

Logo

Welcome to Quizzle: A fun, interactive quiz app that challenges your knowledge based on your preferred options. Test your knowledge and have fun while learning something new!

Table of contents

Overview

Project Details

Quizzle is an interactive quiz app that allows you to challenge yourself with a customizable quiz experience. The app fetches questions from the Open Trivia API based on your selected category, difficulty, type of questions, and number of questions. With a visually appealing interface and a smooth user experience, Quizzle is perfect for testing your knowledge and learning something new.

Features:

  • Customizable quiz experience
  • Multiple categories, difficulty levels, and question types
  • Fetches data from the Open Trivia API
  • Appealing loader for a smooth user experience
  • Real-time answer checking and score calculation

(back to top)

Demo

Quizzle GIF

(back to top)

Screenshot

Show Images
Main page Questions page Answers page

(back to top)

Links

(back to top)

Process

Technologies

Client Side:

  • HTML
  • CSS
  • JavaScript
  • React
  • React Libraries:
    • html-entities
    • nanoid
    • react-dom

(back to top)

Why Quizzle:

Quizzle was developed as a fun and interactive way to challenge one's knowledge and learn new things in the process. I observed that traditional quiz formats could be rigid and limited in terms of user engagement, often lacking customization and a visually appealing interface. Quizzle aims to address these shortcomings by offering a personalized quiz experience tailored to each user's preferences.

With Quizzle, users can choose from a wide range of categories, difficulty levels, and question types, creating an engaging quiz experience that caters to their interests and abilities. By fetching data from the Open Trivia API, the app ensures a vast and ever-growing repository of questions to keep users intrigued and coming back for more.

In addition to providing a fun and educational experience, Quizzle also demonstrates my technical skills as a developer. This project showcases my ability to work with APIs, create visually appealing interfaces, and develop user-friendly applications.

By creating Quizzle, I aimed to blend education and entertainment, offering users a captivating way to test their knowledge and learn new facts. This project highlights my passion for creating engaging user experiences and showcases my commitment to developing applications that are both enjoyable and beneficial for a diverse range of users.

(back to top)

What I learned

While developing Quizzle, I gained valuable experience and insights into various aspects of web development. Some key learnings from this project include:

  • Working with APIs: I learned how to fetch data from the Open Trivia API, handle API requests and responses, and manipulate the data to create a customized quiz experience for users.

  • State Management: I honed my skills in managing application state and handling user interactions, such as selecting answers, keeping track of scores, and displaying real-time feedback to the user.

  • UI/UX Design: I gained experience in designing visually appealing and user-friendly interfaces, focusing on user experience and ensuring that the application is easy to navigate and enjoyable to use.

  • Responsive Design: I practiced creating a responsive design that adapts to different devices and screen sizes, ensuring that Quizzle is accessible and functional across various platforms.

  • Testing and Debugging: I gained experience in writing tests and debugging the application to ensure it is robust and free of bugs, enhancing its reliability and overall quality.

These learnings not only contributed to the successful development of Quizzle but also served to broaden my knowledge and skillset as a developer, better preparing me for future projects and challenges.

(back to top)

Optimizations

Design

  • Improved User Interface: Streamline the user interface to make it more visually appealing and easier to navigate. This could include reorganizing menus, refining typography, and enhancing visual elements such as icons and images.

  • Accessibility: Implement accessibility best practices, including proper use of semantic HTML, and keyboard navigation, to make the application more inclusive and user-friendly for all users, including those with disabilities.

Functionality

  • Customizable Quizzes: Allow users to create custom quizzes with personalized categories, difficulty levels, and question types, providing a more tailored experience that caters to individual interests and preferences.

  • Leaderboards: Implement a leaderboard system where users can compete against each other, view their rankings, and track their progress over time, encouraging friendly competition and motivating users to improve their knowledge.

  • User Accounts: Integrate user accounts and authentication to enable users to save their progress, preferences, and quiz history, providing a more personalized and consistent experience across multiple sessions.

Efficiency/Code Improvement

  • Code Refactoring: Review and refactor the existing codebase to ensure best practices are followed, remove redundant code, and improve overall code maintainability and readability.

  • Performance Optimization: Optimize the application's performance by implementing techniques such as lazy loading, caching, and minimizing API calls. This would result in faster load times and a smoother user experience.

  • Testing & Debugging: Implement a comprehensive suite of automated tests to ensure the application is robust and free of bugs. This includes unit tests, integration tests, and end-to-end tests to cover all aspects of the application.

By focusing on these optimizations, Quizzle can be further improved in terms of design, functionality, and efficiency, resulting in a more polished and user-friendly application that effectively serves the needs of users and encourages knowledge expansion.

(back to top)

Getting started

Before you set up Quizzle on your local machine, ensure you have the following prerequisites:

  • Node.js (version 14 or higher)
  • npm (version 6 or higher) or yarn (version 1 or higher)

Once you have the prerequisites, follow these steps:

  1. Fork the repository: Click the "Fork" button at the top-right corner of the TheraFit GitHub repository page to create a personal copy of the repository under your GitHub account.

  2. Clone the repository: Clone the Quizzle repository using the following command:

git clone https://github.com/your_username/Quizzle.git

  1. Install dependencies: Navigate to the Quizzle directory and run npm install or yarn install to install the required dependencies:
cd Quizzle
npm install

or

cd Quizzle
yarn install

  1. Run the application: In the Quizzle directory, run the following command to start the application in development mode:
npm run dev

or

yarn dev

The application should now be running on http://localhost:5173. You can now start using Quizzle and make any desired changes to the codebase.

(back to top)

License

TheraFit is licensed under the MIT License. See the LICENSE file for details.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published