O Linketinder é um sistema de contratação de funcionários inspirado no Linkedin e no Tinder, desenvolvido em Groovy. Ele permite cadastrar candidatos (Pessoa Física) e empresas (Pessoa Jurídica) com suas respectivas informações e competências. Além disso, oferece a funcionalidade de encontrar candidatos compatíveis com as competências desejadas.
- foi desenvolvido um microservice de cadastro disponivel nesse repositório: https://github.com/Gabriel-Almeida00/linketinder_microservices
- Listar empresas cadastradas
- Listar candidatos cadastrados
- Cadastrar novo candidato (Pessoa Física)
- Cadastrar nova empresa (Pessoa Jurídica)
- Encontrar match de candidatos com base nas competências desejadas
Uma nova funcionalidade foi adicionada ao Linketinder, permitindo que candidatos e empresas possam curtir vagas e perfis de maneira similar ao sistema de curtidas do aplicativo Tinder. Quando um candidato curte uma vaga, e a empresa correspondente curte o perfil do candidato de volta, ocorre um evento de match, abrindo a possibilidade de comunicação e troca de informações entre as duas partes.
-
Candidato curte uma vaga:
- O candidato pode curtir uma vaga disponível, demonstrando interesse na posição.
-
Empresa curte um candidato:
- Se a empresa também curtir o perfil do candidato, ocorre um evento de match.
-
Match:
- Quando ocorre um match entre um candidato e uma empresa, a funcionalidade de match é ativada.
- As informações sobre o match são registradas internamente na aplicação.
Internamente na aplicação, os matches são representados através da classe Curtida
, que contém referências tanto ao candidato quanto à empresa envolvidos no matc
Inicialmente o projeto foi feito com maven mas mudou para gradle apartir do commit : https://github.com/Gabriel-Almeida00/ZG-HERO-Project/commit/ec9a86053a36ed6dde1be7e67d165d93c8515fa5
Na Atual versão do projeto foi desenvolvida uma API sem framework, foi necesario o tomcat e Servlet
- versão Ultimate Intellij , é possível consguir a versão com a licença de estudante : https://www.jetbrains.com/pt-br/community/education/#students
- Tomcat na versão 8 https://tomcat.apache.org/tomcat-8.5-doc/index.html baixar e descompactar em alguma pasta.
- configurar o tomcat no intellij > https://www.jetbrains.com/idea/guide/tutorials/working-with-apache-tomcat/using-existing-application/ e https://www.youtube.com/watch?v=ThBw3WBTw9Q&t=343s
- criar endpoins com servlet > https://www.youtube.com/watch?v=ThBw3WBTw9Q&t=343s. neste projeto apartir desse commit na pasta controllers tem exemplo de como implemnetar API com servlet > https://github.com/Gabriel-Almeida00/ZG-HERO-Project/commit/49ac78ffecb19da94a309215614d67fd1b690b9e
- bibiotecas adicionadas no build.gradle
compileOnly group: 'javax.servlet', name: 'javax.servlet-api', version: '4.0.1' implementation group: 'javax.annotation', name: 'javax.annotation-api', version: '1.3.2'
-
Certifique-se de ter o Groovy instalado em sua máquina. Você pode baixá-lo aqui e seguir as instruções de instalação.
-
Clone o repositório do projeto: git clone https://github.com/seu-usuario/linketinder.git
-
Navegue para o diretório do projeto: cd linketinder
-
Execute o programa: groovy Main.groovy
-
Siga as instruções no terminal para usar as diferentes funcionalidades do programa.
Este repositório contém a modelagem de banco de dados para o Linketinder, um aplicativo de matchmaking entre candidatos e empresas. O banco de dados foi implementado usando PostgreSQL e o modelo foi criado usando a ferramenta dbdiagram.io.
- foi implementado o banco de dados nesse projeto com o padrão dao
O modelo de entidade-relacionamento (MER) para o banco de dados do Linketinder foi projetado para acomodar os perfis de candidatos, empresas, competências, formações, experiências e vagas. A modelagem inclui relações entre essas entidades, permitindo a interação entre candidatos e empresas por meio de curtidas em vagas e perfis.
O modelo pode ser visualizado em detalhes no arquivo linketinder_model.png.
Script sql para criação:(https://github.com/Gabriel-Almeida00/ZG-HERO-Project/blob/main/src/sql/linketinder.pdf.
Este documento descreve a lógica de matches implementada no sistema Linketinder, utilizando duas tabelas intermediárias para representar as curtidas entre candidatos e vagas, bem como entre empresas e candidatos.
A lógica de matches no Linketinder envolve a criação de curtidas tanto por parte dos candidatos em vagas quanto por parte das empresas em candidatos. A partir dessas curtidas, é possível identificar matchs e permitir que as partes entrem em contato.
A identificação de matchs ocorre quando tanto o candidato quanto a empresa têm um interesse mútuo. Isso é verificado através de uma consulta SQL que junta as duas tabelas intermediárias, verificando se há correspondência nas curtidas.
O banco de dados foi implementado usando o sistema de gerenciamento de banco de dados PostgreSQL. O PostgreSQL é uma escolha sólida para sistemas relacionais, oferecendo robustez, escalabilidade e recursos avançados.
Se você quiser contribuir para o projeto, fique à vontade para abrir um pull request. Qualquer ajuda é bem-vinda!