Get-A-Room example application using Domain Driven Design and Clean Architecture. Written in TypeScript and deployed to AWS with a serverless stack.
MIT License
This project provides a Domain Driven Design & Clean Architecture-informed, multi-service event-driven architecture to run a simple room reservation application.
Go to https://ddd.mikaelvesavuori.se for the book that introduces DDD and our example codebase (this one!).
This README only sets the overall stage. Please refer to the respective README.md
files for each microservice in the code
directory.
The expensive and outdated room booking system at your company has been making life miserable for pretty much everyone there. Your team has volunteered to replace the system with a cost-efficient custom implementation, with a target of doing so within the space of one week. To drive down cost and maintenance you've already settled on using serverless cloud technologies as the core components. Now comes the real question: How do you design the system?
You've just had a brainstorming session and a requirements workshop together with stakeholders from the business and office management side of things, as well as with some front end developers in the company.
For now, these are the identified requirements:
When it comes to integration work:
code
: Source codedata-modeling
: JSON files that at least roughly attempt to show requests and responses etc.diagrams
: Diagrams for the solutionIn the interest of time and energy, certain features of a full solution are excluded from the scope of this exercise. We shouldn't spend time on details like worrying for conflicting names and multiple time zones, as that is not what we are focusing our cognitive effort on here, and the precise scope has to do with an implementation in one location.