O Search Facul é uma plataforma que tem como propósito facilitar a busca de informações sobre faculdades e cursos. O estudante pode em uma única plataforma:
- Buscar por informações de cursos em uma cidade;
- Buscar por informações de um curso específico;
- Buscar por cursos em uma faculdade específica.
Este repositório contêm a API do projeto Search Facul que tem como objetivo colocar em prática os conhecimentos adquiridos durante a graduação em Engenharia de Computação pelo INATEL, dos conhecimentos adquiridos sobre desenvolvimento web e mobile nos cursos da COD3R e eventos disponibilizados pela Rocketseat e pela Alura.
As seguintes tecnologias foram utilizadas na construção do projeto:
- Express
- CORS
- Nodemon
- PostgreSQL
- Knex.js
- Celebrate
- Jest
- Cross-env
- Jwt-Simple
- Dotenv
- SuperTest
- Travis CI
- Bcrypt
Veja o arquivo package.json
- Editor: Visual Studio Code
- Teste de API: Insomnia
Antes de começar, você vai precisar ter instalado em sua máquina as seguintes ferramentas:
Git, Node.js e PostgreSQL.
Para rodar localmente é necessário que você crie o seu banco de dados (não é necessário criar as tabelas).
Aqui vai uma sugestão de como criar um banco de dados com o PostgreSQL:
- Faça o download no site oficial;
- Adicione-o no PATH do sistema para que o comando psql esteja disponível;
- Executar os seguintes comandos:
psql -U postgres # Será requisitado a senha que voce digitou ao instalar o postgres # Com isso poderá digitar comandos SQL CREATE DATABASE <NOME_DO_BANCO>; # Substitua <NOME_DO_BANCO> pelo nome de sua escolha # Crie um banco de dados para o caso de teste CREATE DATABASE <NOME_DO_BANCO_TESTE>; # Substitua <NOME_DO_BANCO_TESTE> pelo nome de sua escolha
Obs: Essa não é a única maneira de criar um database, recomendo uma olhada no ElephantSQL.
# Clone este repositório
$ git clone https://github.com/Brendhon/SearchFacul_API.git
Logo após isso, crie um arquivo (.env) na raiz do projeto e coloque nele as informações de acesso (username, password e name) no formato demostrado abaixo:
DB_NAME=<NOME_DO_BANCO>
DB_USERNAME=<USERNAME_DO_BANCO>
DB_PASSWORD=<SENHA_DO_BANCO>
DB_NAME_TEST=<NOME_DO_BANCO_TESTE>
Recomendações:
- Um editor para trabalhar com o código como VSCode
- (Opcional) No arquivo .env insira um segredo de sua escolha, a variável deve ser escrita da seguinte forma:
AUTH_SECRET=<SECRET>
# Na raiz do projeto execute:
# Instale as dependências
$ npm install
# Execute as migrations
$ npx knex migrate:latest
Com isso o projeto já estará pronto para ser executado.
# Execute a aplicação em modo de desenvolvimento
$ npm run dev
# O servidor iniciará na porta:3333
# Execute os testes
$ npm test
# Será gerada uma pasta (coverage) contendo uma página com os dados dos testes de forma mais detalhada