AI-Powered Quiz Platform built with Spring Boot Microservices
AI-powered quiz generation platform built using Spring Boot Microservices, Spring AI, RabbitMQ, and Keycloak Authentication.
Smart AI-Based Quiz Generator is a scalable backend system that automatically generates quizzes using Artificial Intelligence.
The platform demonstrates modern backend architecture used in production systems, including:
- Microservices architecture
- Event-driven communication
- AI integration
- Secure authentication
- Cloud-native service design
- Dynamically generates quiz questions using Spring AI
- Topic-based quiz creation
- Automated question generation
- Intelligent quiz building
- Keycloak OAuth2 authentication
- JWT-based request validation
- Role-based access control (RBAC)
- RabbitMQ messaging
- Asynchronous communication between microservices
- Decoupled and scalable system design
- Spring Cloud Gateway
- Service Discovery using Eureka
- Centralized Configuration with Config Server
Acts as the single entry point for all client requests.
Responsibilities:
- Routing client requests
- JWT token validation
- Forwarding requests to appropriate microservices
Handles:
- Quiz creation
- Quiz management
- Fetching quizzes
- Quiz metadata management
Responsible for:
- Managing quiz categories
- Organizing quiz topics
- Category-based classification
Handles AI integration.
Responsibilities:
- Integrates Spring AI
- Dynamically generates quiz questions
- Communicates asynchronously via RabbitMQ
Implemented using Eureka.
- Registers all microservices
- Enables dynamic service discovery
Provides centralized configuration management for all microservices.
| Layer | Technology |
|---|---|
| Backend | Java 21, Spring Boot |
| Architecture | Microservices |
| Cloud | Spring Cloud |
| Service Discovery | Eureka |
| API Gateway | Spring Cloud Gateway |
| Messaging | RabbitMQ |
| AI Integration | Spring AI |
| Security | Keycloak OAuth2 |
| Build Tool | Maven |
Smart-AI-Based-Quiz-Generator
β
βββ api-gateway
βββ category-service
βββ quiz-service
βββ questions-generator
βββ config-server
βββ service-registry
β
βββ README.md
1οΈβ£ User logs in via Keycloak
2οΈβ£ Keycloak generates a JWT token
3οΈβ£ Client sends the token with API requests
4οΈβ£ API Gateway validates the token
5οΈβ£ Request is routed to the appropriate microservice
- REST APIs between microservices
- RabbitMQ queues
- Event-driven messaging between services
git clone https://github.com/GiriGourav/Smart-AI-Based-Quiz-Generator.gitcd Smart-AI-Based-Quiz-GeneratorStart these services first:
config-server
service-registry
category-service
quiz-service
questions-generator
api-gateway
- Docker containerization
- Kubernetes deployment
- Redis caching
- Distributed tracing (Zipkin / Sleuth)
- CI/CD pipeline
- Frontend dashboard
- API documentation using Swagger / OpenAPI
Gourav Giri
Backend Developer
Java β’ Spring Boot β’ Microservices
GitHub:
https://github.com/GiriGourav
If you find this project useful, please star the repository β
This project is licensed under the MIT License.