Inicialmente, instale localmente as seguintes dependências:
- Instale o Docker;
- Instale o Docker Compose.
- A aplicação utiliza-se de autenticação por meio do firebase, logo, insira na pasta
src/config
o arquivo do ambiente de desenvolvimentofirebaseAuthConfig.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,
};
- 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
eMONGODB_PASSWORD
destinam-se ao acesso da base de dados com autenticação. Ver detalhes de configuração de backup abaixo.
- Na pasta principal do projeto, construa e inicialize a aplicação com o comando:
sudo docker-compose -f docker-compose.yml up --build
- O backend estará disponível em:
http://localhost:8000/
.
- Instale globalmente o pacote do eslint:
npm i -g eslint
; - Na raiz do projeto, verifique a corretude do código com
eslint . --ext .js
; ou - Configure uma extensão no seu editor de texto preferido (exemplo: VSCode - ESLINT);
- Abra o seu editor de texto na raiz do projeto
/Backend
e comece a desenvolver.
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:
- Preencha adequadamente as variáveis de ambiente do tópico "Arquivos de Configuração";
- Salve na pasta
/Backend/config/
o arquivorclone.conf
; - 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
- Para realizar a restauração de um backup, proceda com o comando:
mongorestore --gzip --archive=backup-scheduler-1594607580.gz --drop