-
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
- Go: 1.21.4
- Docker