Skip to content

alexanderaugusto/locus-api

Repository files navigation

Github Actions GitHub language count Repository size GitHub last commit License

✅ Locus API - Concluído ✅

SobreComo executarTecnologiasAutoresLicença

💻 Sobre o projeto

IMLocusovel API - é o backend do aplicativo Locus, onde está toda regra de negócia da aplicação. Nesta parte, fazemos toda conexão com banco de dados, utilizando um ORM (Sequelize), processamos informações mais sigilosas, como token de autenticação, etc. e disponbilizamos em formato de API Restful utilizando o Express para manuseio das rotas.

Esta API também está hospedada no Heroku no endereço https://locus-api.herokuapp.com/. Além disso, você pode acessar toda documentação das rotas em https://locus-api.herokuapp.com/api/docs.


🚀 Como executar o projeto

Este projeto é dividido em três partes:

  1. Frontend - Mobile
  2. Frontend - Web
  3. Backend (Neste repositório)

Pré-requisitos

Antes de começar, você vai precisar ter instalado em sua máquina as seguintes ferramentas: Git e Node.js.

Alem disso é necessário que você tenha algum banco de dados relacional rodando localmente ou em algum servidor para fazer a conexão com a api. Como dito anteriormente, esta api está disponível em https://locus-api.herokuapp.com/, rodando com um banco dados PostgreSQL, porém para rodar localmente é necessário que você configure o seu próprio banco de dados (somente crie o banco de dados, não é necessário criar as tabelas, isso será feito pelo nodejs). Recomendo que utilize o ElephantSQL, crie uma instâncie de banco de dados Postgres (é gratuito) e pegue as informações de acesso (username, password, name, hostname e port) para configurar no nodejs. Outra maneira, caso você tenha em sua máquina o MySQL, apenas crie um banco de dados nele e pegue as informações de acesso que serão utilizadas na execução do projeto.

Caso você já tenha estas ferramentas instaladas, clique aqui para seguir ao próximo passo.

Instalações

1) Windows:

No Windows, vamos instalar com o chocolatey

  • Instalar chocolatey: Primeiro, abra o powershell como administrador (ctrl + X ou clique com o botão direito do mouse no botão iniciar).

    # Rode esse comando para checar se você tem permissão para instalar dependências com o terminal.
    $ Get-ExecutionPolicy
    
    # Se o retorno for diferente de "Restricted pule para o próimo comando. SEnao, rode este comando:
    $ Set-ExecutionPolicy AllSigned
    
    # Finalmente, instale o chocolatey.
    $ Set-ExecutionPolicy Bypass -Scope Process -	
    Force; [System.Net.ServicePointManager]::SecurityProtocol = 
    [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex
    ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
    
    # Agora, teste a instalação executando no terminal (Não pode retornar nenhum erro):
    $ choco
  • Instalar nodejs e yarn:

    # Basta executar este comando para instalar o nodejs:
    $ choco install -y nodejs-lts yarn
    
    # Reinicie seu terminal e tente executar (todas as dependências devem retornar a versão do pacote):
    $ node -v
    $ npm -v
    $ yarn -v
2) Linux:
- Ubuntu (Debian):
  • Instalar Curl:

     # Verifique se você instalou o Curl:
     $ sudo  apt-get  install  curl
  • Instalar nodejs: Neste tutorial, a instalação é com curl, se você deseja instalar com um gerenciador de pacotes, tente isto: nvm.

    # Agora, se o curl estiver instalado, execute este comando:
    
    # Usando Ubuntu:
    $ curl -sL https://deb.nodesource.com/setup_12.x | 			
    sudo -E bash - sudo apt-get install -y nodejs
    
    # Usando Debian, with root 
    $ curl -sL https://deb.nodesource.com/setup_12.x | bash -
    apt-get install -y nodejs
  • Instalar yarn:

    # Configure o repositório yarn em seu sistema:
    $ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - echo 
      "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
    
    # Execute este comando para instalar o yarn:
    $ sudo apt update && sudo apt install --no-install-recommends yarn
    
    # Agora, verifique as instalações:
    $ node -v
    $ npm -v
    $ yarn -v
- Arch Linux:
  • Instalar nodejs e yarn:
    $ sudo pacman -S nodejs yarn 
    
    # ou     
    
    $ sudo pacman -S nodejs npm
3) Mac:

No mac, vamos instalar com o Homebrew.

  • Instalar Homebrew:

    # Basta executar este comando para instalar o homebrew:
    $ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
  • Instalar nodejs e yarn:

    # Com o homebew, vamos instalar o nodejs e yarn:
    $ brew install node
    $brew install yarn
    
    # Reinicie seu terminal e tente executar (todas as dependências devem retornar a versão do pacote):
    $ node -v
    $ npm -v
    $ yarn -v

Executando o projeto

🧭 Rodando a aplicação Backend
 # Clone este repositório
 $ git clone https://github.com/alexanderaugusto/locus-api.git

 # Acesse a pasta do projeto no seu terminal/cmd
 $ cd locus-api

 # Instale as dependências
 $ yarn install ou npm install

 # Antes de rodar o projeto, é necessário configurar um arquivo de variáveis ambiente (.env): na raiz do projeto crie um arquivo chamando .env e configure as seguinte variáveis de acesso ao banco de dados que você criou: 
 DEV_DB_USERNAME=<USERNAME_DO_BANCO_DE_DADOS>
 DEV_DB_PASSWORD=<SENHA_DO_BANCO_DE_DADOS>
 DEV_DB_NAME=<NOME_DO_BANCO_DE_DADOS>
 DEV_DB_HOSTNAME=<HOST_DO_BANCO_DE_DADOS>
 DEV_DB_PORT=<PORTA_DO_BANCO_DE_DADOS>
 # Se você configurou um banco de dados postgres:
 DEV_DB_TYPE=postgres
 # Se você configurou um banco de dados mysql:
 DEV_DB_TYPE=mysql 

 # Criando as migrations (tabelas) do banco de dados
 yarn sequelize db:migrate

 # Execute a aplicação
 $ yarn start ou npm start
 ou
 $ yarn dev ou npm dev # rodando em modo desenvolvimento (com nodemon)

 # Acesse http://localhost:5000 e veja a api em execução.
 # Caso queira ver a documentação das rotas, acesse http://localhost:5000/api/docs
 

🛠 Tecnologias

As seguintes ferramentas foram usadas na construção do projeto:

API (Node JS)

Veja o arquivo package.json


🦸 Autores


Alexander Augusto

Vanessa Swerts

📝 Licença

Este projeto esta sobe a licença MIT.

About

This repository contains the api rest of Locus

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •