Skip to content

Software engineering project of computer science degree program at Sapienza University a.y. 2023/2024

Notifications You must be signed in to change notification settings

StefanoBollella/Software_Ing_Project_2024

Repository files navigation

Software Engineering Project

Logo

Project for the software engineering class of the third year of "informatica" degree at the Sapienza university in Rome, a.y. 2023/2024. The chosen project is a simulator of a backend of an e-commerce site.

Developed by:

  • Jofeth Abello 2016241
  • Stefano Bollella 2025438
  • Matteo Boccongelli 1908956

Run

Manual startup

To run the program first initialize the databases by launching the file located at the level of the classes:

./init-dbs.sh

once the database is initialized, an initialization bash script; e.g. init-script.sh can be found in the respective folder of each runnable component, execute the file to run the component.

This project uses redis streams for the communication between parts, so if there is an error during connection, make sure redis is running.

To make sure that redis is running:

redis-cli ping # a pong should be printed
systemctl status redis # on linux to check if redis service is active

If you wish to run the components independently via a command line, please follow the structure used in the "init-script.sh" files, since most components require input arguments

All at once startup

Using the system-init.sh, you can skip running init-dbs.sh.

To run all at once, use:

./system-init.sh

attention: this script uses gnome terminal to open multiple terminals at once where the various parts are run. if you do not have gnome terminal it will not work. Or you can use another terminal emulator but you must check if the arguments are the same or have the same meaning.

Run all monitors

Inside the implementation/monitors directory you can run each monitor with their respective script. You can also run all the monitors simultaneously by running:

./monitors-init.sh

Credits

Redis

To simulate communication between client-side and server-side of the various components, the model uses redis streams.

yaml parser

This project uses a yaml parser that can be found at the following github link.

time

The project uses functions given to us by the professor of our course of Software Engineering, Enrico tronci. the code in question resides inside the Clock class (for now).

Tests

Google Tests was used to test the program during development.

About

Software engineering project of computer science degree program at Sapienza University a.y. 2023/2024

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published