Skip to content

Explanation

elmiratjee edited this page Jan 22, 2021 · 4 revisions

The DeX infrastructure is based on 2 servers, a staging server and a production server. The servers are both configured and based on containerization. For the containerization, Docker is being used.

On both of the servers, there is a docker network setup where all is running. The network consists of 3 different networks called the following:

  • mssql-network
  • proxy
  • rabbitmq-network

On the network there are different docker containers running for the environment, the following containers are running inside both of the servers:

  • db
  • rabbitmq
  • api
  • identity
  • notificationservice
  • frontend

In the database, the information is being stored like usernames which users are using to login into DeX. The rabbitmq is a message broker which is making sure that when you update a project a message is being sent out to the notificationservice where everyone who follows the project gets an email.

The API is the link between the frontend and the database, so when you fill in a project or whether you login to the website a call is being made from the frontend to the database.

The identity server is used to identify people when logging into DeX, they will perform a check with the database or in other cases with another authorization method in our case the school API. The frontend is hosted on an Nginx server. On this Nginx server, Angular is being hosted.

For more information on the Infrastructure, you check the following link: https://docs.google.com/document/d/14MRzEvYGu_FGnyyBmFMcgi06-isC5yQk4xlFbE0QEQg/edit?usp=sharing