Contact
Vamos trabalhar juntos
Plataforma Colaborativa de Gerenciamento de Projetos

Plataforma Colaborativa de Gerenciamento de Projetos

Aplicacao web full-stack para gerenciamento de projetos em equipe com autenticacao JWT, controle de acesso por funcoes, dashboards em tempo real e pipeline CI/CD completo - 30.555 linhas de codigo, 12 user stories, 7 tabelas no banco.

Setembro 2025
~2 semanas
Lider de Projeto & Diretor Tecnico
Java 17Spring Boot 3.4Spring SecurityJWT (jjwt)Spring Data JPAHibernateMapStructLombokAngular 20TypeScript 5.9Angular MaterialRxJSPostgreSQL 15DockerDocker ComposeNginxGitHub ActionsDocker HubJUnit 5MockitoJaCoCoKarmaJasmineSwagger/OpenAPI

Linhas de Codigo

30,555

Java, TypeScript, HTML, SCSS, SQL

User Stories

12

Todas implementadas

Endpoints API

~55

Endpoints REST (CRUD)

Tabelas no Banco

7

PostgreSQL com triggers e indices

Apresentacao

Definicao e escopo do projeto

A Plataforma Colaborativa de Gerenciamento de Projetos e uma aplicacao web full-stack projetada para planejamento, acompanhamento e colaboracao de equipes em projetos. A plataforma permite criar projetos, convidar membros com funcoes diferenciadas, gerenciar tarefas com prioridades e status, e monitorar o progresso por meio de dashboards.

Desenvolvida como estudo de caso para o Bloco 3 do titulo RNCP Nivel 7 "Expert em Engenharia de Software" do Grupo ESIEA INTECH, o projeto cobre tres competencias principais: Desenvolvimento (C.10), Automacao (C.12) e Industrializacao (C.13).

A aplicacao implementa um sistema de autenticacao completo com tokens JWT, um modelo de permissoes por funcao (Administrador, Membro, Observador), notificacoes por email via MailHog, e um audit trail completo rastreando cada modificacao nas tarefas por meio de triggers no banco de dados.

Dominio

Gerenciamento de projetos, colaboracao em equipe - comparavel a ferramentas como Jira, Trello ou Asana, adaptado a um contexto profissional e educacional.

Usuarios Alvo

Equipes de desenvolvimento (B2B), gerentes de projeto e Product Owners para acompanhamento, observadores (clientes, stakeholders) em modo somente leitura.

Escopo Funcional
Autenticacao JWT (registro, login)
Gerenciamento de Projetos (CRUD, status)
Convite de Membros por Email (tokens)
Permissoes por Funcao (Admin, Membro, Observador)
Gerenciamento de Tarefas (prioridade, status, atribuicao)
Dashboard com Visoes por Status
Notificacoes por Email na Atribuicao
Audit Trail Completo (historico de tarefas)
Busca Global Multi-Entidade
Architecture (3-Tier SPA)

Objetivos, Contexto, Desafios e Riscos

Visao estrategica e restricoes

Objetivos
  • Desenvolver uma aplicacao funcional implementando as 12 user stories definidas na especificacao
  • Alcancar cobertura de testes >= 60% em instrucoes e branches, frontend e backend
  • Dockerizar a aplicacao completa (frontend, backend, banco de dados)
  • Configurar um pipeline CI/CD automatizando testes e deploy de imagens Docker no Docker Hub
  • Documentar o processo de deploy em um README completo
Contexto

O projeto foi desenvolvido no ambito da certificacao RNCP Nivel 7, com tecnologias impostas: Angular (frontend), Spring Boot + Java (backend), PostgreSQL ou MySQL (banco), Docker, Git e CI/CD.

A abordagem recomendada pelo curso foi desenvolvimento por funcionalidade (feature-driven), construindo cada feature de ponta a ponta (front + back). O projeto segue um cenario ficticio onde o desenvolvedor trabalha na Code Solutions, uma empresa de desenvolvimento de software. O CEO (John D.) atribui o projeto PMT, com user stories fornecidas por Nicolas (Product Owner) e diretrizes tecnicas por Mariana (Tech Lead).

Desafios

Validacao de Competencias

Validacao das competencias C.10, C.12 e C.13 do bloco de certificacao

Dominio Full-Stack

Demonstracao de dominio completo, do design do banco ao deploy no Docker Hub

Qualidade de Software

Cobertura de testes, arquitetura em camadas, documentacao API (Swagger)

Riscos Identificados

Integracao Angular + Spring Boot

Probabilidade media, impacto alto. Mitigado por arquitetura em camadas, DTOs e configuracao CORS.

Cobertura de Testes Insuficiente

Probabilidade media, impacto alto. Mitigado por JaCoCo (backend) e Karma/Jest (frontend) com limiares configurados.

Configuracao Docker Complexa

Probabilidade baixa, impacto medio. Mitigado por Docker Compose com healthchecks e multi-stage builds.

As Etapas - O que Fiz

Fases cronologicas e contribuicoes pessoais

Cronologia das Fases do Projeto
Phase 1
Fase 1 - Design
12-21 set. 2025
  • Analise dos requisitos e das 12 user stories
  • Design do schema do banco (7 tabelas, triggers, indices)
  • Relatorios detalhados de conformidade por user story
  • Criacao do diagrama do schema do banco (Draw.io)
Phase 2
Fase 2 - Desenvolvimento
15-24 set. 2025
  • Implementacao do backend Spring Boot (81 arquivos Java)
  • Implementacao do frontend Angular (69 arquivos TypeScript)
  • Integracao frontend-backend com interceptors HTTP e CORS
  • Dados de seed completos (20 usuarios, 28 projetos, 120+ tarefas)
Phase 3
Fase 3 - Testes
20-24 set. 2025
  • Testes unitarios backend (JUnit/Mockito): 20 arquivos de teste
  • Testes frontend (Karma/Jasmine): 11 arquivos spec
  • Testes de integracao: SpringWebTesting, UserStory, RoleBasedPermissions
  • Configuracao de cobertura JaCoCo (backend) e Karma (frontend)
Phase 4
Fase 4 - Industrializacao
22-24 set. 2025
  • Dockerfiles multi-stage para frontend e backend
  • Configuracao Docker Compose (dev + prod)
  • Pipeline GitHub Actions (5 jobs)
  • Configuracao Docker Hub para publicacao de imagens
Entity-Relationship Diagram (7 tables)
Database Objects
CI/CD Pipeline (GitHub Actions - 5 jobs)

Os Atores - As Interacoes

Estrutura da equipe e dinamica de colaboracao

O projeto foi realizado por Jose DA COSTA como lider de projeto e diretor tecnico, com a assistencia do Claude Code (IA da Anthropic) como ferramenta de desenvolvimento.

O desenvolvimento seguiu uma abordagem iterativa de prompt-driven development com aproximadamente 220 ciclos de instrucao-geracao-validacao-correcao. Jose forneceu as especificacoes, decisoes arquiteturais, escolhas de UI/UX, e realizou a garantia de qualidade por meio de testes manuais no navegador. O Claude Code cuidou da geracao de codigo, escrita de testes, configuracao DevOps e documentacao.

O arquivo `PROMPTS.md` (3.516 linhas, ~220 instrucoes distintas) registra o historico completo desta colaboracao, cobrindo todas as fases do design ao deploy.

Composicao da Equipe
J

Jose DA COSTA

Lider de Projeto & Diretor Tecnico

Lider de Projeto & Diretor Tecnico - Especificacoes, decisoes arquiteturais, design UI/UX, garantia de qualidade, testes manuais

C

Claude Code (IA)

Development Tool

Ferramenta de Desenvolvimento - Geracao de codigo, testes, configuracao DevOps, documentacao, correcoes de bugs

N

Nicolas (ficticio)

Product Owner

Product Owner - Fornece as 12 user stories (cenario do curso)

Fictional scenario
M

Mariana (ficticia)

Tech Lead

Tech Lead - Fornece as diretrizes tecnicas (cenario do curso)

Fictional scenario
Distribuicao das Contribuicoes

Os Resultados

Resultados mensuraveis e valor entregue

Conclusao das User Stories

Todas as 12 user stories implementadas

Funcionalidades Bonus (alem dos requisitos)
Modo escuro com persistencia localStorage
Busca global multi-entidade
Painel de administracao (usuarios, configuracoes)
Gerenciamento de perfil do usuario
Relatorios e visoes analiticas
Dialog de confirmacao reutilizavel
Multiplos perfis Spring (dev, local, docker, prod)
Metricas de Codigo por Linguagem
Backend Architecture
Frontend Architecture
Volumes de Dados de Seed
Para Mim

Este projeto reforcou minhas habilidades de desenvolvimento full-stack na stack Java/Angular. Foi minha primeira experiencia combinando Spring Security com JWT em um ambiente proximo da producao, e a implementacao de triggers no banco para audit trail automatico e um pattern que agora aplico em outros projetos.

A abordagem de prompt-driven development com ~220 iteracoes me ensinou a formular especificacoes tecnicas precisas e validar sistematicamente codigo gerado por IA - um workflow que aumentou significativamente minha produtividade nos projetos seguintes.

Para a Organizacao

O projeto demonstra dominio completo do ciclo de vida do software, do design do banco ao deploy no Docker Hub. Os dados de seed realistas (20 usuarios, 28 projetos, 120+ tarefas cobrindo todos os status e prioridades) proporcionam uma demonstracao ao vivo convincente.

A documentacao completa (README, 12 relatorios de conformidade por user story, Swagger auto-gerado, Makefile com 25+ comandos) estabelece um padrao profissional para a qualidade dos entregaveis.

O Dia Seguinte do Projeto

Evolucao pos-entrega e status atual

Logo apos a entrega, o projeto foi submetido como estudo de caso para o Bloco 3 da certificacao RNCP Nivel 7. O entregavel completo inclui codigo-fonte, imagens Docker no Docker Hub, 12 relatorios de conformidade detalhados e documentacao abrangente.

Status atual: O projeto esta arquivado como estudo de caso concluido. O codigo-fonte permanece disponivel no GitHub, e as imagens Docker ainda podem ser baixadas do Docker Hub. O dominio de producao (`pmt.codesolutions.com`) nunca foi configurado pois fazia parte do cenario ficticio.

Impacto duradouro: Varios patterns arquiteturais deste projeto foram reutilizados em trabalhos posteriores - particularmente a abordagem por triggers para audit trail, o fluxo de autenticacao JWT e a estrategia de build Docker multi-stage. O pattern de Makefile com 25+ comandos organizados tornou-se um modelo para projetos subsequentes.

Minha Reflexao Critica

Retrospectiva honesta e licoes aprendidas

O que Funcionou Bem
  • Completude funcional: todas as 12 user stories integralmente implementadas, mais 7 funcionalidades bonus
  • Arquitetura solida: separacao clara de responsabilidades (Controller/Service/Repository), tratamento centralizado de excecoes, interceptors HTTP
  • Banco de dados bem projetado: audit trail automatico via triggers, indices parciais para performance, constraints CHECK para integridade
  • Industrializacao completa: Docker Compose dev e prod, multi-stage builds, Makefile completo, pipeline CI/CD
  • Dados de seed realistas: 20 usuarios, 28 projetos com todos os status, 120+ tarefas - demonstracao convincente
Pontos de Melhoria
  • Historico Git minimalista: apenas 3 commits, todos no mesmo dia. Um historico mais granular com feature branches e commits atomicos demonstraria melhor o dominio de Git.
  • Testes E2E nao implementados: o pipeline CI/CD preve testes Playwright, mas estao desativados com comandos echo de substituicao.
  • Checks de cobertura desativados na CI: os limiares JaCoCo e Karma existem na configuracao mas sao ignorados no pipeline.
  • Sem linting configurado: o script lint do frontend retorna um placeholder. Sem ESLint nem Prettier.
  • Deploy em producao nao operacional: o job de deploy esta desativado. Nenhuma hospedagem real configurada.
O que Faria Diferente
  • Adotar uma estrategia Git madura com feature branches, PRs e conventional commits para demonstrar melhor a competencia C.12
  • Aplicar TDD para garantir naturalmente a cobertura e demonstrar uma abordagem mais rigorosa
  • Fazer deploy em uma plataforma gratuita (Railway, Fly.io, Render) para tornar a competencia C.13 mais convincente
  • Adicionar monitoring e observabilidade (Sentry ou similar) para reforcar o aspecto production-ready
Licoes Duradouras
1

A industrializacao e um investimento inicial que compensa: o tempo gasto com Docker, Makefile e CI/CD e rapidamente recuperado em confiabilidade e reprodutibilidade.

2

Triggers SQL para audit trail sao poderosos: a auditoria automatica via triggers PostgreSQL e uma abordagem elegante independente do codigo da aplicacao.

3

Arquitetura em camadas facilita os testes: a separacao limpa Controller/Service/Repository permite testar cada camada independentemente.

4

Dados de seed realistas sao essenciais: dados de demonstracao ricos e variados tornam a apresentacao de um projeto significativamente mais convincente.

Trajetoria relacionada

Experiencia profissional ligada a esta realizacao

Competencias aplicadas

Competencias tecnicas e humanas aplicadas

Galeria de imagens

Capturas e visuais do projeto