Este é o Trabalho Prático da disciplina de Técnicas de Programação 1 da UnB.
O objetivo do sistema é automatizar os principais processos relacionados aos colaboradores em uma organização de recursos humanos, oferecendo uma interface interativa e relatórios completos.
O projeto utiliza Maven e segue uma arquitetura MVC com camadas organizadas:
projeto-tp1/
├── documentação/ # Armazena relatórios do projeto
├── empacotados/ # Armazena executáveis do projeto. Se deseja executar sem precisar compilar o projeto, utilize os executáveis aqui encontrados
├── src/main/java/
│ └── app/humanize/
│ ├── controller/ # Controladores JavaFX (lógica da UI)
│ ├── exceptions/ # Exceções customizadas (ex: CpfInvalidoException)
│ ├── model/ # Classes de Domínio (Usuario, Funcionario, Vaga, etc.)
│ ├── repository/ # Camada de Persistência (Leitura/Escrita de CSV)
│ ├── service/ # Camada de Aplicação (Lógica de Negócio)
│ │ ├── formatters/ # Padrão Strategy: Formatadores (PdfFormatter, CsvFormatter)
│ │ ├── relatorios/ # Padrão Strategy: Geradores de dados (RelatorioListaUsuarios)
│ │ └── validacoes/ # Serviços de validação (ValidaCpf, ValidaEmail)
│ ├── util/ # Classes utilitárias (UserSession, ScreenController)
│ ├── Launcher.java # Ponto de entrada do app
│ └── Main.java # Classe principal da aplicação JavaFX
│
├── src/main/resources/
│ ├── bundles/ # Arquivos de tradução
│ ├── css/ # StyleSheets do css
│ ├── fotos_perfil/ # Fotos de perfil dos usuários
│ ├── uploads/ # (Reservado para uploads de documentos/currículos)
│ └── view/ # Telas da aplicação (arquivos FXML)
│
├── pom.xml # Dependências e build do Maven
└── README.md # Esta documentação
- 🔐 Autenticação com diferentes níveis de acesso: Administrador, Gestor, Recrutador e Funcionário.
- 👨💼 Gestão de candidatos — cadastro, atualização, exclusão e listagem.
- 📝 Gerenciamento de vagas e entrevistas.
- 💰 Controle financeiro — folha de pagamento e relatórios.
- 🧾 Gestão de prestadores e contratos.
- 📊 Geração de relatórios em PDF e CSV.
- 🎨 Interface intuitiva com JavaFX.
- E muito mais...
- Java 22 → Linguagem principal
- JavaFX → Interface gráfica
- Maven → Gerenciamento de dependências
- Git Flow → Gerenciamento de branches
# Clonar o repositório
git clone https://github.com/davilb64/projeto-tp1.git
# Entrar na pasta do projeto
cd projeto-tp1
# Compilar o projeto
mvn clean install
# Executar "src/main/java/app/humanize/Launcher.java"| Etapa | Descrição | Prazo | Responsáveis |
|---|---|---|---|
| Etapa 1 | Estrutura inicial | 23/09/2025 | Todos |
| Etapa 2 | Design e Modelagem | 07/10/2025 | Todos |
| Etapa 3 | Implementaçao da Logica | 28/10/2025 | Cada membro por módulo |
| Etapa 4 | Integração e Navegabilidade | 11/11/2025 | Todos |
| Etapa 5 | Entrega final e apresentação | 25/11/2025 | Todos |
| Aluno | Módulo | GitHub |
|---|---|---|
| Aluno 1 | Administração e Gestão | Davi Lopes |
| Aluno 2 | Candidatura | Valquíria Machado |
| Aluno 3 | Recrutamento | Ricado Rian |
| Aluno 4 | Financeiro | Samara Gomes |
Este projeto é distribuído sob a licença MIT.
Sinta-se livre para modificar e utilizar, desde que mantenha os créditos.
- Utilize Git Flow para criar features, releases e hotfixes.
Feito com ❤️ pelo Grupo 07 — UnB, 2025.