MicroFreshener is a web-based prototype that enables to identify bad architectural smells that possibly violate principles of microservices, and to select suitable refactorings to resolve them.
MicroFreshener
has a web-based interface that allows to:
- Draw and edit the architectures of microservices
- Manage teams and their owned nodes
- Analyse the architecture to identify architectural smells
- Apply refactorings
MicroFreshener
can be used either as admin
or team member
.
- You can login as administrator by typing
admin
in the login page - You can login as a team member by typing the exact name of your team in the login page
In order to run MicroFreshener
you should run both the server and the client (for local use only).
In order to use MicroFreshener
you should first download the repository:
git clone https://github.com/di-unipi-socc/microFreshener.git
Enter the server directory.
cd server
Create a virtual environment and install the Python dependencies. Python3.8+ is needed.
virtualenv -p="/usr/bin/python3.8" venv
source venv/bin/activate
pip install -r requirements.txt
If you're using Windows, type this instead.
python -m venv venv
Set-ExecutionPolicy Unrestricted -Scope Process
.\venv\Scripts\Activate.ps1
pip install -r requirements.txt
Apply migrations (if this doesn't work, try running it after you already run the server once)
python manage.py migrate
Run the local server
python manage.py runserver
// expose the server to a specific port
python manage.py runserver 0.0.0.0:8000
The client is an Angular web application.
cd client
Install the project dependencies.
npm install
Then, serve the client with a local server by typing
sudo ng serve
or
sudo npm start
In case of ERR_OSSL_EVP_UNSUPPORTED
error, type export NODE_OPTIONS=--openssl-legacy-provider
before ng serve
.
Open the bowser on http://localhost:4200/.
Make sure to install the following dependencies:
pip install websocket
pip install docopt
pip install texttable
pip install dockerpty
pip install websocket-client
Create the docker network
docker network create web
Build the image
docker-compose -f docker-compose.prod.yml build
docker-compose -f docker-compose.prod.yml up
Open the bowser on http://localhost:80.