This project started as an end of study project and was build using Angular and NodeJs. But it wasn't well design and not responsive. We decided to re-design the entire project and use a microserive architecture and Develope the frontend from scratch using ReactJs. For better performance. We tryed to follow Attribute-driven design (ADD) methodology when creating the software architecture because it takes into account the quality attributes of the software. Our knowladge of ADD came from the book Designing Software Architectures: A Practical Approach. This is our first experience in implemention ADD in a project. An we may have missed some concept.
Our Main focus in this project is to deliver a hight quality product and create a well designed system using the technologie and following the best practices. \ In the following, we will be detailing each the design iterations done and the decision made at each step.
This repo contain the backend of the system.
The Frontend is in another repo.
- Make sure to use the latest node version 14+
- Only run the two services below, the other will be added later
- To import the Api form postmen, use this link: https://www.getpostman.com/collections/26c6a22a2f8d823ce2bc
Don't forget to set those env variable:
PORT=3004;DEBUG=scheduling-service:*
then run the server using npm start
Same as the prev service
PORT=3003;DEBUG=subscription-service:*
Those two services work together to provide dynamic routing of services url. To see the different available routes see: http://localhost:8080/actuator/routes (after running all services).
For example to execute a get all client request using the proxy: GET:http://localhost:8080/subscription-service/client