2025-12-16 13:50:14 +00:00
# Servers Manager
2025-12-15 23:17:59 +00:00
2025-12-16 13:50:14 +00:00
Plataforma interna para catalogar servidores corporativos e facilitar consultas rápidas pelo time de desenvolvimento/analistas. Inclui backend em Spring Boot (JWT + refresh token em cookies) e frontend React/Vite consumindo os endpoints.
2025-12-15 23:17:59 +00:00
2025-12-16 13:50:14 +00:00
## Estrutura
- `backend/` : API em Spring Boot 4 (Java 21), JWT stateless, cookies para auth.
- `frontned/` : Front em React + Vite (TS), login integrado via cookies.
- `postman_collection.json` : Coleção para testar autenticação e CRUDs de usuários/servidores.
2025-12-15 23:17:59 +00:00
2025-12-16 13:50:14 +00:00
## Requisitos
- JDK 21
- Node 20+ (Yarn ou npm)
2025-12-15 23:17:59 +00:00
2025-12-16 13:50:14 +00:00
## Rodando local
1. **Backend**
2025-12-15 23:17:59 +00:00
```bash
2025-12-16 13:50:14 +00:00
cd backend
2025-12-15 23:17:59 +00:00
./gradlew bootRun
2025-12-16 13:50:14 +00:00
```
Variáveis úteis: `JWT_SECRET` (>=32 chars), `DB_*` (Postgres). Por padrão usa `localhost:8080` .
2. **Frontend**
```bash
cd frontned
cp .env.example .env # ajuste VITE_BACKEND_URL se necessário
yarn install # ou npm install
yarn dev # ou npm run dev
```
Acesse `http://localhost:5173` .
3. **Testar via Postman**
Importe `postman_collection.json` . Rode "Auth / Login" para setar cookies e seguir para os demais endpoints.
2025-12-15 23:17:59 +00:00
2025-12-16 20:37:41 +00:00
## Executar com Docker
1. Crie um `.env` na pasta `frontend/` se precisar sobrescrever variáveis (opcional).
2. Construa e suba tudo (Postgres + backend + frontend):
```bash
docker compose up --build
```
3. Endpoints expostos:
- API: `http://localhost:8080`
- Swagger UI: `http://localhost:8080/swagger-ui.html`
- Frontend: `http://localhost:4173`
Variáveis sensíveis (ex.: `JWT_SECRET` , credenciais do banco) podem ser ajustadas diretamente no `docker-compose.yml` ou via arquivos `.env` .
2025-12-16 13:50:14 +00:00
## Documentação específica
- Backend: `backend/README.md`
- Frontend: `frontned/README.md`