Skip to content

vivekraj7773/quiz-app-java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

Quiz Application

Project Overview

This is a Quiz Application developed in Java Swing featuring four subject categories: C, C++, Java, and C#. It supports user registration, login, scoring, and provides a graphical user interface. The backend is managed using MySQL for user authentication and data storage.

Modules Description

1. User Management

  • Register.java: Allows new users to register by providing a username and password. It validates inputs and securely stores user data in the MySQL database.
  • Login.java: Enables existing users to log in by authenticating credentials against the database. Displays an error message on invalid login.

2. Main Menu

  • Menu.java: Displays subject choices to users after login, showing categories C, C++, Java, and C# via graphical buttons.
  • Proceeds to the selected quiz on button click.

3. Quiz Modules

  • Each subject has a dedicated quiz class:
    • Cquiz.java
    • Cpp.java
    • Java.java
    • Chash.java
  • Each quiz contains 10 multiple-choice questions.
  • A timer is provided for each question.
  • User answers are compared to correct answers and scored accordingly.

4. Scoring and Feedback

  • Score.java: Displays the total score and personalized feedback at the end of the quiz.
  • Feedback varies based on the user's performance.
  • Provides options to retry the quiz or exit.

Data Flow and Interaction

Module Input Output Interaction
Register Username, Password Success/Error Inserts a new user into DB and gives GUI feedback
Login Username, Password Menu/Error Checks credentials and proceeds if valid
Menu Username Quiz Selection Displays subject options and starts chosen quiz
Quiz MCQ answers Score Displays, records, and evaluates answers
Score Quiz score Feedback Shows score, feedback message, retry/exit options

Technology Stack

  • Java Swing for the graphical user interface
  • MySQL for user authentication and data storage
  • MVC-like structure separating Interface (Swing), Logic (Java classes), and Data (MySQL)

Features

  • Registration with validation to prevent duplicate and empty entries
  • Secure login with database validation
  • User-friendly graphical interface with subject selection and feedback screens
  • Supports multiple programming language quizzes
  • Provides user feedback to motivate or guide based on performance
  • Timer feature adds challenge to each quiz question

How to Use

  1. Clone the repository.
  2. Set up the MySQL database as per the configuration in the source code.
  3. Import the project into a Java IDE and build/run the application.
  4. Register a new user, log in, and start the quiz.

License

This project is for educational and learning purposes.


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages