Skip to content

rodrigoruan/HVEX

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Github Search - HVEX

Neste projeto foi realizado o desenvolvimento de uma aplicação para consulta de usuários a partir da API do Github.

A aplicação tem o intuito de procurar usuários do Github a partir de seus respectivos nomes / email, além de permitir o usuário se cadastrar e fazer login.

Alt Text

⚙️ Funcionalidades

  • Cadastrar um novo usuário no banco de dados
  • Entrar na aplicação utilizando um usuário existente
  • Pesquisar usuários pelo seu nome / email do Github

🔧 Instruções para rodar a aplicação

Gif demonstrando como rodar a aplicação:

Alt Text

OBS: para executar o projeto é necessário ter um servidor MySQL instalado e rodando

Download MySQL


1° Clone o repositório a partir de seu terminal:

  git clone git@github.com:rodrigoruan/HVEX.git

2° Acesse seu MySQL e rode o código do arquivo createdb.sql

BD

3° Acesse a pasta server e renomeie o arquivo '.env.dev' para '.env', coloque suas informações do MySQL (host, user, password e database). exemplo de configuração:

host=localhost      // host no MySQL
user=root           // usuário no MySQL
password=password   // Senha no MySQl
database=HVEX       // Banco de dados criado no 2° passo
SECRET=HVEXSECRET   // SECRET para o JWT (FIXO)

envfile

4° Instale as dependencias na pasta server e inicie a aplicação:

  cd server && npm install && npm start

5° Acesse a pasta client e instale as dependencias:

  cd client && npm install && npm start

🛠️ Bibliotecas / Linguagens

  • React - O React é uma biblioteca JavaScript de código aberto com foco em criar interfaces de usuário em páginas web.

  • axios - Axios é um cliente HTTP baseado-em-promessas para o node. js e para o navegador.

  • react-router-dom - O React Router é uma lib completa para controle de rotas.

  • react-loading - O React-Loading é uma lib com componentes de loading para o React.

  • eslint - ESLint é uma ferramenta de análise de código estática para identificar padrões problemáticos encontrados no código JavaScript.

  • stylelint - O StyleLint funciona analisando o seu CSS e avisando se alguma regra configurada for violada.

  • MySQL - O MySQL é um sistema de gerenciamento de banco de dados, que utiliza a linguagem SQL como interface.

  • Node - Node.js é um software de código aberto, multiplataforma, baseado no interpretador V8 do Google e que permite a execução de códigos JavaScript fora de um navegador web.

  • dotenv - Carrega variáveis de ambiente de um arquivo .env em process.env

  • cors - CORS - Cross-Origin Resource Sharing (Compartilhamento de recursos com origens diferentes) é um mecanismo que usa cabeçalhos adicionais HTTP para informar a um navegador que permita que um aplicativo Web seja executado em uma origem (domínio) com permissão.

  • express - Express.js é um framework para Node.js que fornece recursos mínimos para construção de servidores web.

  • jsonwebtoken - JWT (JSON Web Token) é um método padrão da indústria para realizar autenticação entre duas partes por meio de um token assinado que autentica uma requisição web.

  • bcrypt - bcrypt é um método de criptografia do tipo hash para senhas baseado no Blowfish.

  • Joi - O Joi usa uma linguagem descritiva para criar schemas de validação.

Contato

Linkedin | Gmail

Releases

No releases published

Packages

No packages published