Este projeto é um sistema de recrutamento que permite a criação, visualização, edição e exclusão de vagas de emprego, bem como a aplicação de candidatos a essas vagas. Ele consiste em um backend desenvolvido em Spring Boot e um frontend em Angular.
- Backend: Spring Boot, Spring Security - Java
- Frontend: Angular
- Banco de Dados: postgresql
- Segurança: Autenticação e Autorização via Spring Security (com usuários em memória)
Para executar este projeto, você precisará ter as seguintes ferramentas instaladas:
- Java 17
- Maven 3.6+
- Node.js 18+ (com npm)
- Angular CLI 16+
-
Clone o repositório:
git clone https://github.com/Poliih/recruitment cd recruitment -
Compile e execute o backend:
cd backend mvn clean install mvn spring-boot:run
O backend estará disponível em http://localhost:8081.
-
Navegue para a pasta do frontend:
cd frontend -
Instale as dependências:
npm install
-
Inicie o servidor de desenvolvimento:
ng serve
O frontend estará disponível em http://localhost:4200.
- GET
/api/jobs- Lista todas as vagas de emprego. - GET
/api/jobs/{id}- Obtém os detalhes de uma vaga de emprego específica. - POST
/api/jobs- Cria uma nova vaga de emprego. - PUT
/api/jobs/{id}- Atualiza os detalhes de uma vaga de emprego existente. - DELETE
/api/jobs/{id}- Exclui uma vaga de emprego. - POST
/api/jobs/{id}/apply- Aplica para uma vaga de emprego específica. - GET
/api/jobs/{id}/applications- Lista todas as aplicações para uma vaga de emprego específica. - DELETE
/api/jobs/applications/{id}- Exclui uma aplicação específica.
Representa uma vaga de emprego.
- id: Identificador único da vaga (Auto-incremento).
- title: Título da vaga (não pode ser nulo).
- description: Descrição da vaga (não pode ser nula).
Representa a aplicação de um candidato para uma vaga.
- id: Identificador único da aplicação (Auto-incremento).
- applicantEmail: E-mail do candidato (não pode ser nulo).
- applicantName: Nome do candidato (não pode ser nulo).
- job: Referência para a vaga para a qual o candidato está se aplicando.
- Home
/- Página inicial. - Vagas
/jobs- Exibe as vagas de emprego disponíveis. - Aplicar
/apply-job/{id}- Página de aplicação para uma vaga de emprego. - Editar Vagas
/edit-jobs- Página para criar e editar vagas de emprego.
Você pode testar o backend usando ferramentas como Postman ou cURL. Aqui está um exemplo de requisição cURL para listar todas as vagas de emprego:
curl -X GET http://localhost:8081/api/jobsPara testar o frontend, navegue até http://localhost:4200 em seu navegador e interaja com a interface de usuário.
-
Autenticação: O sistema utiliza autenticação básica com dois usuários em memória:
usercom senhauseradmincom senhaadmin
-
CSRF: A proteção CSRF está desabilitada para simplificação neste exemplo.
Contribuições são bem-vindas! Por favor, abra um pull request ou relate problemas através da seção de issues.




