Skip to content

hotel reservation system with micro services architecture

Notifications You must be signed in to change notification settings

kavishkamk/hotel-reservation-alpha

Repository files navigation

Hotel Reservation System

Architecture Diagram

Architectur

Event Flow Diagram

Event flow

install shared libreary (@alpha-lib/shared-lib)

  • install with yarn
    yarn add @alpha-lib/shared-lib
  • install with npm
    npm install @alpha-lib/shared-lib

About the application

  • Micro Services Architecture
  • MVC model for develop each service
  • Mono Repos for manage the projects
  • MERN stack for development (TypeScript backend)
  • NATS Streaming Server (Event Bus) for event handling
  • Ingress-Nginx as Ingress Controller and Loadbalancer
  • Skaffold for automate development
  • publish npm package as shared library for the project
  • Use docker hub for image publish
  • bull.js for handle expiration service
  • use Redis Server for expiration service
  • use mongoDB as a database
  • Cluster IP service for internal communication
  • use docker for containerized the each service
  • kubernetes for manage containers
  • use Google kubernetes engine for host micro services and use it as a development cluste then convert to production cluster
  • Default error handling
  • Backend validation
  • Authentication and Autherization (JWT token, email verifications)
  • Front end hosted on vercel
  • Configure a domain for backend cluster
  • Configure a SSL certificate to serve through ingress-nginx