Skip to content

kytcrystal/microservice-project

Repository files navigation

microservice-project

Overview

Overview of the Project

TODOs

  • Implement HTTP endpoints in apartment service that just accept requests as per sample file

  • Implement HTTP endpoints in booking service

  • we can try to check if an apartment exist before allowing a booking (direct communication with the other service)

  • Connect apartment service to a database

  • Apartments - Bookings Message queue

    • Apartment post event (apartment added and deleted) to queue
    • Booking register for apartment events
    • When a new apartment is created, apartment service sends a rabbit mq message, booking service listen and create the apartment in it's own DB too
  • Booking post event to another queue (booking added, changed and cancelled)

  • Booking to post events into exchange

  • Search service -> javascript

    • needs to have a DB with apartments
    • needs to have a DB with bookings
    • needs to know which apartment exists and are available
    • should be able to search apartments using "from" date and "to" date
    • register for booking events
    • register for apartment events
    • Direct call from Search service to Apartment service, if apartments table is empty
    • Direct call from Search service to Booking service, if bookings table is empty
  • Dockerize applications

    • Apartments
    • Bookings
    • Search
    • Gateway
    • Configuration for yaml file for Gateway
  • Implement event sourcing for Booking service

  • Implement NoSQL DB for apartments DB

  • Docker multistage build

    • Gateway
    • Apartments
    • Bookings
  • In apartment, when adding new apartment, can check if id is passed in correctly. If yes, use that. If not, generate new UUID

  • Ensure error messages are set as JSON

Requirements

  • Go: 1.21.4
  • Docker

Useful Resources

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published