Skip to content

mia-ajuda/Backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

dadfa3c · Sep 27, 2023
Aug 25, 2022
Aug 24, 2022
Jul 14, 2020
May 14, 2020
Sep 27, 2023
Apr 3, 2020
Jul 1, 2020
Apr 15, 2023
Aug 14, 2020
Jul 28, 2021
Aug 7, 2022
Jul 6, 2022
May 20, 2020
Aug 7, 2022
Aug 24, 2022
Aug 24, 2022
Aug 23, 2022
Feb 18, 2023

Repository files navigation

Logo Mia Ajuda

Rode o Backend com Docker

Dependências

Inicialmente, instale localmente as seguintes dependências:

  1. Instale o Docker;
  2. Instale o Docker Compose.

Arquivos de Configuração

  1. A aplicação utiliza-se de autenticação por meio do firebase, logo, insira na pasta src/config o arquivo do ambiente de desenvolvimento firebaseAuthConfig.js. O arquivo de configuração obtido do firebase deve apresentar a seguinte fisionomia:
const config = {
  type: '',
  project_id: '',
  private_key_id: '',
  private_key: '',
  client_email: '',
  client_id: '',
  auth_uri: '',
  token_uri: '',
  auth_provider_x509_cert_url: '',
  client_x509_cert_url: '',
};

const databaseURL = '';

module.exports = {
  config,
  databaseURL,
};
  1. Crie um arquivo .env na raiz do projeto e preencha as seguintes variáveis de ambiente:
LATITUDE_ENV=
LONGITUDE_ENV=
SENTRY_DSN=
NODE_ENV=development
DATABASE_URL=mongodb://mongo/miaAjudaDB
MONGODB_USERNAME=
MONGODB_PASSWORD=
  • O preenchimento do serviço de monitoramento de erros (Sentry) é opcional.
  • A latitude e a longitude serão utilizadas para popular exemplos de pedido de ajuda próximos a essa coordenada.
  • As variáveis de ambiente MONGODB_USERNAME e MONGODB_PASSWORD destinam-se ao acesso da base de dados com autenticação. Ver detalhes de configuração de backup abaixo.

Inicialização do Projeto

  1. Na pasta principal do projeto, construa e inicialize a aplicação com o comando:
sudo docker-compose -f docker-compose.yml up --build
  1. O backend estará disponível em: http://localhost:8000/.

Configuração do ESLint

  1. Instale globalmente o pacote do eslint: npm i -g eslint;
  2. Na raiz do projeto, verifique a corretude do código com eslint . --ext .js; ou
  3. Configure uma extensão no seu editor de texto preferido (exemplo: VSCode - ESLINT);
  4. Abra o seu editor de texto na raiz do projeto /Backend e comece a desenvolver.

Backup da Base de Dados

A aplicação realiza backups da base "miaAjudaDB" regularmente às 04h da manhã. O serviço guarda um total de 14 backups locais e sempre salva o backup no Google Drive. Para isso ser possível, proceda com as instruções:

Configuração do Backup

  1. Preencha adequadamente as variáveis de ambiente do tópico "Arquivos de Configuração";
  2. Salve na pasta /Backend/config/ o arquivo rclone.conf;
  3. Em produção, inicie os serviços de backend, banco e backup com:
sudo docker-compose -f docker-compose.yml -f docker-compose.prod.yml up

Restauração do Backup

  1. Para realizar a restauração de um backup, proceda com o comando:
mongorestore --gzip --archive=backup-scheduler-1594607580.gz --drop