- 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 do 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
- 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
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 |
# Clone este repositório:
$ git clone https://github.com/devictoralmeida/smart-match.git
$ cd ./smart-match
# Instalar as dependências:
$ mvn clean install
# Crie os containers:
$ docker-compose up -d
# Executar:
$ mvn spring-boot:run