The Microservices Quiz Application is a distributed system designed to build and manage quizzes using a scalable microservices architecture.
This project separates core functionalities such as quiz management, question handling, and routing into independent services, enabling better scalability, maintainability, and real-world system design.
- 📝 Quiz creation and management
- ❓ Question service for handling quiz questions
- 🌐 API Gateway for routing requests
- 🧭 Service Registry for service discovery
- 🎨 Basic frontend for interaction
- 🗄️ Database integration (SQL-based)
- 🔐 Authentication & Authorization
- 📊 Result tracking system
- 📈 Analytics dashboard
This project follows Microservices Architecture, where each service is independently developed and deployed.
-
API Gateway
- Entry point for all client requests
- Routes requests to respective services
-
Service Registry
- Handles service discovery (Eureka)
-
Quiz Service
- Manages quiz creation and operations
-
Question Service
- Handles question-related operations
-
Frontend
- User interface for interacting with the system
- Backend: Java, Spring Boot
- Microservices: Spring Cloud (Eureka, Gateway)
- Frontend: HTML/CSS/JS (update if React/Angular)
- Database: MySQL
- Build Tool: Maven
- Version Control: Git & GitHub
microservices-quizApp/
│ ├── api-gateway/ # API Gateway service
├── service-registry/ # Eureka Server
├── quiz-service/ # Quiz management service
├── question_service/ # Question handling service
├── frontend/ # UI layer
│ ├── quizdb.sql # Database schema
├── TestingPlan.md # Testing documentation
├── README.md
- Java (JDK 8+)
- Maven
- MySQL
- Git
git clone https://github.com/Nikhitha999-nikki/microservices-quizApp.git
cd microservices-quizAppImport quizdb.sql into MySQL
Update DB credentials in application.properties
Note: Open a separate terminal from the project root for each service.
1️⃣ Start Service Registry
mvn -f service-registry/pom.xml spring-boot:run2️⃣ Start API Gateway
mvn -f api-gateway/pom.xml spring-boot:run3️⃣ Start Services
mvn -f quiz-service/quiz-service/pom.xml spring-boot:runmvn -f question_service/question_service/pom.xml spring-boot:run4️⃣ Start Frontend
cd frontend
npm install
npm run devAPI Gateway → http://localhost:8080
Eureka Dashboard → http://localhost:8761
We welcome contributors of all levels 🚀
Pick an issue from Issues tab
follow clean code practices
Submit PR with proper description
Phase 1
Core services setup ✅
Phase 2
Service communication & stability
Phase 3
Authentication & user module
Phase 4
Deployment & scaling
Nikhitha (Project Kernel - NSoC 2026)
If you like this project, give it a ⭐ and contribute!