Skip to content

Latest commit

 

History

History
50 lines (35 loc) · 1.45 KB

README.md

File metadata and controls

50 lines (35 loc) · 1.45 KB

QuizQueue Project

Overview

QuizQueue is a microservices-based application designed to manage quizzes, flashcards, notifications, and user accounts. The project is built using Spring Boot and Spring Cloud, leveraging various technologies such as OAuth2 for authentication, Kafka for messaging, and Elasticsearch for search capabilities.

Prerequisites

  • Java 21 or newer
  • Maven
  • Docker (for running services via Docker Compose)

Architecture

  • Distributed system (Zookeeper, Kafka, Spring-cloud)
  • Load Balancer, Gateway, Circuit breaker, Pub/Sub
  • MVC, Repository pattern, Builder pattern

Insight tech

  • Redis
  • NoSQL

Docker

  • Thanks elkozmon for the opensource Zookeeper UI.
  • You guys can find him here Github-repo
  • Easily run this project as follows:
    docker compose up -d
  • And use this to view the UI at localhost:9000 Zookeeper-UI

All ports in used

  • Zookeeper: 2181
  • RabbitMQ: 5672
  • Gateway: 8080
  • Flashcard: 8081
  • Account: 8082
  • Notification: 8083
  • Configuration: 8888
  • Authen/Authorize: 9000
  • Elastic Search: 9200
  • Kafka: 9092

Kafka Architecture

Kafka

  • Use Kafka console producer for bitnami/image (Alternative, we can use Offset Explorer)
    docker exec -it {container-id} /bin/kafka-console-producer --bootstrap-server kafka:9092 --topic {topic-name}