Skip to content

A scalable and modular quiz application built using Java Spring Boot Microservices architecture. This project demonstrates core microservice concepts including service discovery with Eureka, inter-service communication with Feign, API gateway with Spring Cloud Gateway.

Notifications You must be signed in to change notification settings

mahmoudnader150/Quiz-app-Microservices

Repository files navigation

Quiz App Microservices

This repository contains a microservices-based Quiz Application, split into several independent Spring Boot services:

Services Overview

1. question-service

Handles all operations related to quiz questions.

  • Main packages:
    • Controller: Manages HTTP endpoints for questions.
    • Dao: Data access layer for questions.
    • Service: Business logic for question management.
    • model: Data models (e.g., Question, QuestionWrapper, Response).
  • Entry point: QuestionServiceApplication.java

2. quiz-service

Manages quizzes, including quiz creation and question assignment.

  • Main packages:
    • Controller: Endpoints for quiz operations (QuizController, QuizDto).
    • Dao: Data access for quizzes.
    • Service: Quiz business logic.
    • model: Models for quizzes and responses.
  • Entry point: QuizServiceApplication.java

3. quizapp

Acts as the main application, possibly aggregating other services.

  • Main packages:
    • Controller: Endpoints for both questions and quizzes.
    • Dao: Data access for questions and quizzes.
    • Service: Business logic for both domains.
    • model: Shared models.
  • Entry point: QuizappApplication.java

4. service-registery

Implements service discovery using Eureka.

  • Entry point: ServiceRegisteryApplication.java

How to Run

Each service is a standalone Spring Boot application.
To run a service:

cd <service-folder>
./mvnw spring-boot:run

Example:

cd question-service
./mvnw spring-boot:run

Development

  • Java (Spring Boot)
  • Maven for build management
  • Eureka for service discovery

Folder Structure

  • question-service/ - Question microservice
  • quiz-service/ - Quiz microservice
  • quizapp/ - Main application (API gateway or aggregator)
  • service-registery/ - Eureka service registry

Application Screens

Below are example screens from the application:

Screen 1 Screen 2

About

A scalable and modular quiz application built using Java Spring Boot Microservices architecture. This project demonstrates core microservice concepts including service discovery with Eureka, inter-service communication with Feign, API gateway with Spring Cloud Gateway.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages