Skip to content

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.

License

Notifications You must be signed in to change notification settings

CleilsonAndrade/gestao-vagas-api

Repository files navigation

Gestão Vagas API

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.

📒 Índice

📃 Descrição

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.

📌 Requisitos Funcionais

  • 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 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

Features

  • 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

💻 Tecnologias

  • Java
  • Spring
  • Spring Web
  • Spring Boot DevTools
  • Spring Data JPA
  • Spring Bean Validation
  • JUnit
  • JWT
  • BCrypt
  • Swagger
  • MySQL
  • PostgreSQL
  • H2 Database
  • Docker

📍 Endpoints

Endpoint Resumo Autenticação
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
POST /companies/jobs Responsável por realizar o cadastro de vaga por um usuário com perfil de empresa 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 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 CANDIDATE
POST /candidates/jobs/apply Responsável por aplicar o usuário com perfil de candidato a uma vaga, informando o ID CANDIDATE
GET /swagger-ui/index.html Responsável por servir a documentação dos recursos da API
GET /h2-console Responsável por acesso ao H2 Database

🚀 Instalaçã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

📝 Licença

Esse projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.


Feito com 💜 by CleilsonAndrade

About

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.

Topics

Resources

License

Stars

Watchers

Forks