Skip to content

freitasc/githubFriendRecomendations

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Grafos1_GithubRecomendations

Número da Lista: X
Conteúdo da Disciplina: Grafos1

Alunos

Matrícula Aluno
18/0016563 Filipe Santana Machado
18/0014412 Cainã Valença de Freitas

Sobre

Single-page-application para recomendação de seguidores no Github.

O grafo de follows do github está em estrutura de lista de adjacência de forme que cada usuário possui uma lista de amigos.

A recomendação é feita através do algoritmo que atribui uma pontuação baseada na proximidade do usuário com os amigos de seus amigos.

Toda a lógica do algoritmo está em server/server.js, os dados são enviados prontos para o frontend.

Screenshots

image image Screenshot 2023-05-01 at 23 34 21

Instalação

Linguagem: Javascript
Framework: ReactJS

É necessário que exista um arquivo .env na raíz do repositório com as chaves da API do github

Neste tutorial existem instruções de como obter as chaves.

VITE_GITGUB_CLIENT_ID=xxxxxxxxxxxxx
VITE_GITHUB_SECRET=xxxxxxxxxxxxx
GITGUB_CLIENT_ID=xxxxxxxxxxxxx
GITHUB_SECRET=xxxxxxxxxxxxx

Para instalar o projeto basta utilizar Docker.

docker compose up --build

Nem sempre a instalação do vite irá funcionar, caso dê erro, uma possibilidade de workaround é instalar localmente os pacotes sem usar docker e depois inicializar o container.

Uso

Para utilizar o projeto basta utilizar Docker. Execute o container:

docker compose up

Acesse o endereço localhost:5173 no seu navegador.

Realize login com sua conta do Github.

E veja as recomendações de seguidores.

Após realizar o login, a página irá carregar os dados do grafo, isso pode levar alguns segundos...

Foi printado no console os objetos do grafo, caso queira analisar de perto...

About

Project that uses graphs for github followings recomendation

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 84.6%
  • CSS 12.6%
  • HTML 1.4%
  • Dockerfile 1.3%
  • Shell 0.1%