How chaitanyakrishnaeedara/quiz-app works
QuizApp is a console-based quiz and administration application. A user enters through the menu, registers or logs in, and is routed by role. Players select a category, answer shuffled questions, and receive a calculated, timestamped score that can be reviewed or ranked on the leaderboard. Admins manage questions, users, and score records. Services coordinate the workflows, repositories persist serialized data locally, and model classes represent the principal records. The workflow is supported by the README and sampled services; unsampled menu details are not expanded beyond documented capabilities.
Main entry points: MenuService.java Console menus · UserService.java User operations · QuizService.java Quiz workflow · Main.java Application entry
Components 19
Console entry
- Application entry
src/app/Main.java - Console menus
src/service/MenuService.java
Identity and roles
- Authentication
src/service/AuthService.java - User operations
src/service/UserService.java - User record
src/model/User.java - Access roles
src/model/Role.java
Quiz and results
- Quiz workflow
src/service/QuizService.java - Question operations
src/service/QuestionService.java - Question record
src/model/Question.java - Score operations
src/service/ScoreService.java - Score record
src/model/Score.java
Local persistence
- Question repository
src/repository/QuestionRepo.java - User repository
src/repository/UserRepo.java - Score repository
src/repository/ScoreRepo.java - Question data
questions.dat - User data
users.dat - Score data
scores.dat
Other components
- Player
- Administrator
Connections 18
- Player → Application entry: starts app
- Administrator → Application entry: starts app
- Application entry → Console menus: starts session
- Console menus → Authentication: authenticates
- Authentication → User operations: checks users
- Console menus → User operations: registers users
- Console menus → User operations: manages users
- Console menus → Quiz workflow: starts quiz
- Console menus → Question operations: manages questions
- Console menus → Score operations: reads scores
- Quiz workflow → Question operations: loads questions
- Quiz workflow → Score operations: saves result
- Question operations → Question repository: delegates CRUD
- User operations → User repository: delegates users
- Score operations → Score repository: delegates scores
- Question repository → Question data: serializes questions
- User repository → User data: serializes users
- Score repository → Score data: serializes scores