CivicLife is a Spring Application made for the Tecniche e architetture avanzate per lo sviluppo del software exam in the master's degree in computer science at UniTO. It is a toy application that offers to a citizen the ability to manage his civic life. With these application 3 main operations could be performed:
- Retrieve personal information about:
- administered and certified vaccines;
- state bonuses such as the educational ones that can bring some privileges to students in performing some activities;
- Create/Subscribe/Unsubscribe/Delete civic initiatives. Indeed the people can use the application to create initiative and organize with each other about civic issue that they care about such as:
- volunteering
- increase social events in a neighborhood
- etc.
- Voting
All the documentation that we have produced is in the documentation folder. Here you can find the incremental project reviews slides and all the other files associated with the project that we have updated since november.
The application has a microservice architecture made with Spring and React. Without boring you much here this is an image that sumps up some ideas:
To test the application with some default data you can use the following link to a postman collection and click on run collection
in the drop down menu that appears after pressing the three dot icon in your Postman desktop app. The POST methods that will be run by doing so are the ones containing the data expressed in the data folder. Obviously you have to start and run the application before, and so...
The application could run as a docker or kubernetes project. All the microservices images and the frontend image will be downloaded from the Docker Hub repository
To run all the containers all you have to do is to go to the code folder and do the following command:
docker compose up
and then:
docker compose down --rmi all --volumes
to stop all the containers and remove the containers, networks, volumes, and images created by the up command.
To run all the pods each within its own node, go to the k8s folder and run:
minikube start
kubectl apply -f .
To see everything running use:
kubectl get all
Then, to stop and delete all:
kubectl delete all --all