abakumova / parking-esi

Project - Parking management - Java, Spring Boot, Kafka, VueJs

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Parking Management (Team 7)

Stack:

  • Java 17
  • Spring Boot (Hibernate, Security)
  • VueJs

Technologies:

  • Eureka
  • API Gateway
  • Load balancing
  • Kafka
  • JWT
  • PostgreSQL
  • Docker
  • Resilient microservices pattern - Circuit Breaker in Booking service

Services:

  • Eureka - http://localhost:8761/
  • User Management
  • Booking
  • Location (Update API key in application.properties)
  • Parking Management
  • Analytics
  • Payment
  • Kafka - 9092

Swagger (OpenAPI) available for each service:

  • http://localhost:{port}/swagger-ui/index.html#/
  • Some services need jwt token for making requests - Use User Management first - (auth-controller register or authenticate endpoints to receive token) - copy access_token and paste it to Authentication field in Swagger

Run:

  • Docker compose docker-compose up
  • Run Eureka
  • Run all other services
  • Run VueJs (install dependencies) - npm run serve

Kafka

  • booking-topic
    docker exec --interactive --tty broker kafka-console-consumer --bootstrap-server broker:9092 --topic booking-topic --from-beginning
Topic Name Producer Consumer Object Exchanged Action
booking-topic Booking Analytics BookingDto No action

Contributors:

University of Tartu 2023

About

Project - Parking management - Java, Spring Boot, Kafka, VueJs


Languages

Language:Java 67.5%Language:Vue 19.2%Language:JavaScript 7.5%Language:CSS 3.9%Language:Dockerfile 1.7%Language:HTML 0.2%