Coder Social home page Coder Social logo

backend-mia-ajuda's Introduction

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

backend-mia-ajuda's People

Contributors

balbinoo avatar danillogs avatar darmsdd avatar dependabot[bot] avatar devsalula avatar ebmm01 avatar ed-vl avatar gabrieldvpereira avatar guibrbs avatar joberthrogers18 avatar juniopereirab avatar kisobral avatar leosilvagomes avatar lhtaira avatar lucassoaresouza avatar phe0 avatar rcleydsonr avatar sabanai104 avatar sudjoao avatar thiagohdaqw avatar welisonr avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.