Giter Club home page Giter Club logo

cleilsonandrade / gestao-vagas-api Goto Github PK

View Code? Open in Web Editor NEW
4.0 1.0 0.0 229 KB

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: MIT License

Java 97.27% SQL 2.73%
java junit lombok maven spring spring-boot sql jpa hr human-re human-resources job-vacancy api jwt spring-security docker docker-compose backend

gestao-vagas-api's Introduction

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

gestao-vagas-api's People

Contributors

cleilsonandrade avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.