Sistema de gestão de vagas de emprego desenvolvido em Java com Spring Boot, seguindo boas práticas de arquitetura, segurança e organização de código.
- Sobre o Projeto
- Tecnologias Utilizadas
- Como Rodar o Projeto
- Boas Práticas Adotadas
- Estrutura do Projeto
- UML do Projeto
- Contribuição
- Licença
O Gestão de Vagas é uma API RESTful para cadastro, autenticação e gerenciamento de candidatos, empresas e vagas de emprego. O projeto foi desenvolvido com foco em segurança, separação de responsabilidades e escalabilidade.
- Java 17+
- Spring Boot
- Spring Security
- JWT (JSON Web Token)
- Lombok
- JPA/Hibernate
- Banco de Dados relacional (ex: PostgreSQL, H2)
- Maven
-
Clone o repositório:
git clone https://github.com/seu-usuario/gestao_vagas.git cd gestao_vagas -
Configure o banco de dados em
src/main/resources/application.properties. -
Instale as dependências e rode a aplicação:
./mvnw spring-boot:run
-
Acesse a API em:
http://localhost:8080
- Uso de DTOs: Separação entre entidades de banco e objetos de transferência de dados.
- Injeção de Dependência com
@Autowirede@Service. - Validação de dados com Bean Validation (
@Valid,@NotBlank, etc). - Tratamento global de exceções.
- Segurança com JWT e filtros personalizados.
- Organização em camadas (Controller, Service/UseCase, Repository, Entity, DTO).
- Documentação clara e código comentado.
- Padrão RESTful nos endpoints.
src/
main/
java/
br/com/danielcosta/gestao_vagas/
modules/
candidate/
company/
providers/
security/
exceptions/
resources/
application.properties
Contribuições são bem-vindas!
Abra uma issue ou envie um pull request.
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
