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.
- 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
Gif demonstrando como rodar a aplicação:
OBS: para executar o projeto é necessário ter um servidor MySQL instalado e rodando
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
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)
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
-
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
emprocess.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.