Gestão Vagas API é uma API Rest, que foi desenvolvida com de gerenciamento para cadastramento de empresa e suas vagas de emprego e candidatos para o preenchimento das mesmas. Com possibilidades de cadastramento de vagas, aplicação do candidato e filtro de busca pelo mesmo, exibição do currículo do candidato e listagem de informações das vagas. Desenvolvido utilizando as tecnologias Java e seu framework Spring, com banco de dados MySQL e H2 Database e cobertura de testes com JUnit, tornando a aplicação flexível e robusta.
Gestão Vagas API é uma API Rest, que foi desenvolvida com de gerenciamento para cadastramento de empresa e suas vagas de emprego e candidatos para o preenchimento das mesmas. Com possibilidades de cadastramento de vagas, aplicação do candidato e filtro de busca pelo mesmo, exibição do currículo do candidato e listagem de informações das vagas. Desenvolvido utilizando as tecnologias Java e o framework Spring, com banco de dados MySQL e H2 Database e cobertura de testes com JUnit, autenticação usando o Spring Security, token JWT, encriptação de senhas utilizando BCrypt e documentação desenvolvida pelo Swagger, tornando a aplicação flexível e robusta.
- Realizar o cadastro de um usuário representando a empresa
- Cadastro de vaga por um usuário com perfil de empresa
- Realizar o cadastro do usuário com perfil de candidato
- Listar as vagas cadastradas da empresa para um usuário com perfil de empresa responsável
- Listar o currículo da usuário com perfil de candidato
- Listar as vagas disponíveis para o usuário com perfil de candidato por um filtro
- Aplicar o usuário com perfil de candidato a uma vaga
- Autenticação de usuário utilizando JWT Token
- Exibição de informações do próprio usuário em sessão ativa
- Adicionando mapeamento de CORS
- Modelo de domínio complexo
- Projeção com SQL nativo
- Cobertura de testes
- Docker-compose com imagem para um banco de dados PostgreSQL
- Java
- Spring
- Spring Web
- Spring Boot DevTools
- Spring Data JPA
- Spring Bean Validation
- JUnit
- JWT
- BCrypt
- Swagger
- MySQL
- PostgreSQL
- H2 Database
- Docker
Método | Endpoint | Resumo | Autenticação | Role |
---|---|---|---|---|
POST | /companies/auth | Responsável por autenticar o usuário com perfil de empresa, gerando o Bearer Token JWT | Sim | * |
POST | /companies | Responsável por realizar o cadastro de um usuário representando a empresa | Não | * |
GET | /companies | Responsável por listar todas as vagas pertencentes a empresa | Sim | COMPANY |
POST | /companies/jobs | Responsável por realizar o cadastro de vaga por um usuário com perfil de empresa | Sim | COMPANY |
POST | /candidates/auth | Responsável por autenticar o usuário com perfil de candidato, gerando o Bearer Token JWT | Sim | * |
GET | /candidates | Responsável por listar o currículo da usuário com perfil de candidato | Sim | CANDIDATE |
POST | /candidates | Responsável por realizar o cadastro do usuário com perfil de candidato | Não | * |
GET | /candidates/jobs | Responsável por listar as vagas disponíveis para o usuário com perfil de candidato informando um query param como filtro | Sim | CANDIDATE |
POST | /candidates/jobs/apply | Responsável por aplicar o usuário com perfil de candidato a uma vaga, informando o ID | Sim | CANDIDATE |
GET | /swagger-ui/index.html | Responsável por servir a documentação dos recursos da API | Sim | * |
GET | /h2-console | Responsável por acesso ao H2 Database | Não | * |
# Clone este repositório:
$ git clone https://github.com/CleilsonAndrade/gestao-vagas-api.git
$ cd ./gestao-vagas-api
# Instalar as dependências:
$ mvn clean install
# Executar:
$ mvn spring-boot:run
Esse projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Feito com 💜 by CleilsonAndrade