Pular para o conteúdo principal

Como usar

Esta pagina mostra duas formas de usar o MeasureSoftGram: a interface de linha de comando (msgram) para extrair e calcular metricas, e como subir o sistema completo (backend e frontend) em ambiente local.

A CLI msgram

A CLI e distribuida como o pacote msgram no PyPI e depende dos pacotes msgram-core e msgram-parser, instalados automaticamente como dependencias.

Instalacao via PyPI

Use Python 3.10 ou superior. E recomendado trabalhar dentro de um ambiente virtual:

python3 -m venv .venv
source .venv/bin/activate
pip install msgram

Para ver todos os comandos disponiveis:

msgram -h

Instalacao a partir do codigo-fonte

Se preferir rodar a partir do repositorio (por exemplo, para contribuir):

git clone https://github.com/fga-eps-mds/2026.1-MeasureSoftGram-CLI.git
cd 2026.1-MeasureSoftGram-CLI
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

O requirements.txt instala a aplicacao em modo editavel (-e .), entao o comando msgram fica disponivel no terminal apos a instalacao.

Fluxo basico

Crie o arquivo de configuracao padrao no diretorio atual:

msgram init

Isso gera o arquivo .msgram/msgram.json. Para listar a configuracao:

msgram list

Extraia metricas a partir de arquivos JSON de analise (por exemplo, exportados do SonarQube ou SonarCloud):

msgram extract -sp analytics-raw-data -ep .msgram

O argumento -sp aponta para o diretorio com os arquivos JSON de entrada e o -ep define onde os arquivos .metrics extraidos serao salvos.

Calcule os valores do modelo a partir das metricas extraidas:

msgram calculate -ep .msgram -cp .msgram -o csv

O -ep aponta para as metricas extraidas, o -cp para a pasta com o msgram.json e o -o define o formato de saida.

Para ver as opcoes de um comando especifico:

msgram <comando> -h

Como subir o sistema

O sistema completo e composto pelo backend (Service) e pelo frontend (Front). A forma mais simples de coloca-los no ar em ambiente local e via Docker Compose.

Backend (Service)

Clone o repositorio do Service:

git clone https://github.com/fga-eps-mds/2026.1-MeasureSoftGram-Service.git
cd 2026.1-MeasureSoftGram-Service

O repositorio traz uma pasta env-vars-example/ com os modelos das variaveis de ambiente. Antes do primeiro start, copie o exemplo para a pasta env-vars/ (que nao e versionada por conter credenciais):

cp -R env-vars-example env-vars

Os valores padrao do exemplo ja funcionam para desenvolvimento local. Ajuste apenas o que precisar. Em seguida, suba os containers:

docker compose up

Para rodar em segundo plano, use docker compose up -d. Com o backend no ar, a API fica disponivel em http://localhost:8080/ e a documentacao Swagger na rota /swagger/.

Frontend (Front)

Em outro terminal, clone e suba o frontend:

git clone https://github.com/fga-eps-mds/2026.1-MeasureSoftGram-Front.git
cd 2026.1-MeasureSoftGram-Front

Siga o README do repositorio do Front para instalar as dependencias e iniciar a aplicacao, apontando-a para a URL do backend que voce subiu.

Problemas comuns

Se o comando msgram nao for encontrado, verifique se o ambiente virtual esta ativado:

python --version
which python
which msgram

Se aparecer um erro de modulo nao encontrado, as dependencias provavelmente nao foram instaladas no ambiente atual. Ative o ambiente virtual e instale novamente:

source .venv/bin/activate
pip install -r requirements.txt