In this project I tried to implement Port and Adapter architecture and somehow do DDD practices. By the way the code need some refactoring.
All test cases are implemented. Unit, integration and some system tests are written.
ArchUnit library is used to check the dependency between hexagon layers.
I designed UI part with the help of Spring MVC and Thymeleaf, but I regret. I could do it easier with
client side technologies such as react js. By the way error handling is not implemented well.
Because I was far from UI development.
Application has 3 pages:
- http://localhost:8080/appointment/times:
Page for taking appointment by patients. They can filter times by date and then take a time. - http://localhost:8080/appointment/clinic
In this page the doctor can open the times for his patients by providing the start and end time.
Also, he can see the previously created times and filter them by date.
He also can remove the not taken times which already created. - http://localhost:8080/appointment/patient
In this page, patient can view their appointment by providing their phone number.