Skip to content

Latest commit

 

History

History
73 lines (52 loc) · 3.29 KB

README.md

File metadata and controls

73 lines (52 loc) · 3.29 KB

Prasang Connect

PrasangConnect is a comprehensive and user-friendly event management application designed to enhance the overall event experience for users. This innovative platform seamlessly integrates the essential features of ticket booking, cancellation, and event listing, providing a one-stop solution for event enthusiasts and organizers alike.

It adopts a microservices architecture to ensure scalability, flexibility, and maintainability of the application. The system is decomposed into modular, independent services, each responsible for specific functionalities. This approach allows for efficient development, deployment, and scaling of individual components.

microservice bg-white drawio

Services Involved

API Gateway (Kong)

  • Acts as an entry point for external requests and serves as an API gateway.
  • Routes requests to appropriate microservices and manages load balancing.
  • Implements security measures such as authentication using JWT token generated by the user service.
  • Converts the REST user request to RPC call.

User Service (NodeJS)

  • Manages user profiles.
  • Manages authentication for user.
  • Generates JWT token for authorization if the user is successfully authenticated.

Event Service (NodeJS)

  • Manages the catalog of events available on the platform.
  • Provides APIs for event listing.
  • Microservice responsible for presenting a comprehensive view of upcoming events to users.

Ticket Service (Java)

  • Handles the ticket booking and cancellation functionalities.
  • Manages user reservations, processes transactions, and ensures ticket is successfully booked or not.
  • Manages the ticket status like booked, cancelled or pending.

Kafka Service (Kafka)

  • Facilitates different topics to conduct event driven architecture.

Notification Service (PHP)

  • Consumes events related to notifications, such as event updates and ticket status changes, from Kafka topics.
  • Sends email notification to user when ticket is successfully booked or cancelled.
  • Consults with third-party service, gmail to send mail.

Feedback Service (Go lang)

  • Creats a feedback loop between users and event organizers.
  • Feedback for an event is stated and given further to analytical service for further process.

Analytics Service (Python)

  • Provides analytics tools to provide detailed reports and visualizations, aiding event organizers in gaining deeper insights into user satisfaction and preferences.
  • Aggregates all the collected data into one place for further analysis.
  • Used for future planning and scale.

Setting up

  1. Install Docker on your machine.

    Kindly refer to the official docker documentation to install docker on you machine from here.

  2. Install Docker Compose.

    Here is a link of official documentation to install docker compose on your system.

  3. Clone the git repository.

    git clone https://github.com/akshaypatel67/microservice-application-design.git && cd microservice-application-design
  4. Building the project.

    docker-compose build 
  5. Run the project.

    docker-compose up