Agenda
,
Carpooling
and Rental
are three services for scalable and extensible social networks.
The development is based on the DEVI approach. See the thesis for all explanations.
Foundation
comes from a previous thesis (see the repository for more details).
The files .env
and docker-compose.yml
have all the information required to generate the Docker images.
To clone the project and include each module, enter:
git clone --recurse-submodules https://github.com/adwid/MasterThesis
Then, go inside the directory.
Run the following script to install all Node.js dependencies:
./install.sh
Eventually, to build all Docker images (this takes several minutes):
address=$(ifconfig | grep -E "([0-9]{1,3}\.){3}[0-9]{1,3}" | grep -v 127.0.0.1 | awk '{ print $2 }' | cut -f2 -d: | head -n1)
sed -i -E "s/(HOST=([0-9]+\.)+[0-9]+)/HOST=$address/" .env
sudo docker-compose pull && sudo docker-compose build --parallel
N.B.: The output will not be clearly legible because the images are built in parallel.
To follow the build of each image, remove the option --parallel
(this operation will obviously take more time).
To run all microservices, enter the following command:
sudo docker-compose up
The three services will be then available.
It is possible to test the three modules thanks to the following command:
mocha test_all_modules.js