Sistema completo para gestão de processos internos, com foco em produtividade, colaboração e rastreabilidade.
Permite criar, editar, comentar e acompanhar processos com controle de status, urgência e histórico.
Este projeto é fullstack, composto por Angular 19 no frontend e Spring Boot 3 (Java 21) no backend, com persistência em PostgreSQL e infraestrutura via Docker.
This is a challenge by Coodesh
- Angular 19
- RxJS
- Nginx (SPA routing + static assets)
- Spring Boot 3.4
- Java 21
- Spring Security + OAuth2 Resource Server
- Spring Data JPA
- Flyway (migrations)
- PostgreSQL
- Lombok
- MapStruct
- Springdoc OpenAPI (Swagger UI)
- Docker + Docker Compose
- Healthchecks configurados
- Rede interna isolada
- Nginx configurado para manter rotas do Angular no frontend
backoffice-process-manager/
│
├── backend/ # API REST com Spring Boot
│ ├── src/main/java/... # Código Java
│ ├── pom.xml # Configuração Maven
│ └── Dockerfile
│
├── frontend/ # Aplicação Angular
│ ├── src/ # Componentes, páginas, serviços
│ ├── angular.json
│ ├── package.json
│ ├── nginx.conf # Configuração para SPA no Nginx
│ └── Dockerfile
│
├── docker-compose.yml # Orquestração dos serviços
└── README.md
- Frontend SPA: Angular 19 com roteamento client-side, servido via Nginx.
- Backend REST: Spring Boot com autenticação via OAuth2 Resource Server e JWT.
- Banco de Dados: PostgreSQL com versionamento via Flyway.
- Infraestrutura: Docker Compose com rede isolada e dependências entre serviços.
- Comunicação: Frontend consome a API via HTTP, protegida por token OAuth2.
docker-compose up --build- Frontend → http://localhost:4200
- Backend → http://localhost:8080
- Banco de Dados → PostgreSQL (porta 5432)
- Autenticação via OAuth2 (Google e Microsoft)
- Listagem de processos com paginação e filtros
- Criação e edição de processos
- Comentários em processos com resposta encadeada
- Controle de status e urgência
- Histórico de criação e atualização
- Modal de confirmação para ações críticas
cd frontend
npm run buildSaída em frontend/dist/.
cd backend
./mvnw clean packageSaída em backend/target/.
A API REST está documentada com Springdoc:
- Swagger UI →
http://localhost:8080/swagger-ui.html - OpenAPI JSON →
http://localhost:8080/v3/api-docs - Redoc →
http://localhost:8080/redoc
Use um .gitignore adequado para projetos Angular, Java e Docker.
Gere em toptal.com/developers/gitignore
Wesley Brito
📧 wesleymuniz20@gmail.com
🔗 GitHub