Backend oficial do projeto Apps4Society (UFPB).
Este serviço é responsável por:
- Lógica de negócio
- Persistência de dados (PostgreSQL)
- Armazenamento de arquivos (MinIO)
- Exposição de endpoints REST (Spring Boot)
O sistema é composto por três repositórios:
-
👤 Front-end Usuário
https://github.com/a4s-ufpb/My-Trace-Table -
🖥️ Front-end Administrativo
https://github.com/a4s-ufpb/My-Trace-Table-Manager -
⚙️ Backend (API)
https://github.com/a4s-ufpb/My-Trace-Table-Manager-API
O projeto utiliza Docker Compose para subir automaticamente:
- PostgreSQL
- pgAdmin
- MinIO
- API (Spring Boot)
- Docker instalado
- Docker Compose instalado
Verifique com:
docker --version
docker compose versionO repositório possui o arquivo:
.env.example
- Copie o arquivo:
cp .env.example .env(No Windows, copie manualmente e renomeie para .env)
- Verifique se as variáveis principais estão assim:
POSTGRES_HOST=db
MINIO_URL=http://minio:9000Na raiz do projeto, execute:
docker compose up -d --buildIsso irá:
- Construir a imagem da API
- Subir o PostgreSQL
- Subir o pgAdmin
- Subir o MinIO
- Subir a API
- Rodar tudo em segundo plano (-d)
Após iniciar, os serviços estarão acessíveis em:
-
🚀 API
http://localhost:8080 -
🐘 pgAdmin
http://localhost:5050 -
📦 MinIO Console
http://localhost:9001 -
📦 MinIO API
http://localhost:9000
- Acesse:
http://localhost:5050
- Login:
Email: admin@ufpb.br
Senha: admin
- Criar novo servidor com:
- Host: db
- Porta: 5432
- Usuário: (definido no .env)
- Senha: (definida no .env)
Acesse:
http://localhost:9001
Use as credenciais definidas no .env.
O bucket será utilizado para armazenamento de arquivos do sistema.
A documentação interativa está disponível em:
http://localhost:8080/swagger-ui/index.html
Você pode:
- Visualizar endpoints
- Testar requisições
- Ver modelos de request/response
http://localhost:8080/v1
Para parar os serviços:
docker compose downPara remover volumes também:
docker compose down -vO projeto sobe automaticamente os seguintes serviços:
- db → PostgreSQL 16
- pgadmin → Interface visual do banco
- minio → Object Storage
- trace-api → Aplicação Spring Boot
Todos conectados na rede:
tracetable-network
- Subir a API (My-Trace-Table-Manager-API)
- Subir o front-end administrativo (My-Trace-Table-Manager)
- Subir o front-end do usuário (My-Trace-Table)
- A API depende do banco e do MinIO
- Os front-ends dependem da API
- A comunicação entre containers ocorre pela rede Docker