Esse repositório é referente à API usada no aplicativo Guardiões Da Saúde. Logo ela é responsável por todas as requests que são feitas no aplicativo assim como o armazenamento dos dados no banco de dados.
Veja mais em nossa página clicando aqui.
Usamos nessa API:
-
Crie um arquivo chamado 'master.key' na pasta '/config', esse arquivo deve conter uma chave para tudo funcionar corretamente. Você pode conseguir essa chave com algum desenvolvedor do projeto.
-
Crie um arquivo '.env' na pasta raiz do projeto, esse arquivo deve conter as seguintes variáveis de ambiente e seus valores:
TWITTER_API_CONSUMER_KEY=
TWITTER_API_CONSUMER_SECRET=
TWITTER_API_ACCESS_TOKEN=
TWITTER_API_ACCESS_TOKEN_SECRET=
MAILER_ADRESS=
MAILER_EMAIL=
MAILER_EMAIL_PASSWORD=
GODATA_KEY=
CSV_DATA_KEY=
METABASE_SITE_URL=
METABASE_SECRET_KEY=
O passo 2 pode ser pulado se sua intenção for apenas de rodar a API.
docker-compose build
docker-compose up -d
docker-compose up
Se o ambiente inicializou corretamente, agora basta migrar a base de dados com o comando a seguir:
docker-compose run web rake db:migrate
Teste se tudo está funcionando entrando em http://localhost:3001. Você deverá ver um JSON se tudo funciona normalmente.
Após a migração da base de dados, para o correto funcionamento de todos os features da API, você deve iniciar os cronjobs, para fazer isso:
sudo docker-compose run -d web bundle exec crono RAILS_ENV=development
Caso você tome o seguinte erro:
Rails - FATAL: database “myapp_development” does not exist
É preciso criar o banco de dados, então rode:
docker-compose run web rake db:create
E então tente de novo migra o banco de dados, caso dê erro, reinicie o processo.
Caso você tome o seguinte erro:
"/config/initializers/devise.rb: undefined method '[]' for nil:NilClass"
Significa que você está tentando levantar o ambiente sem a key citada acima.
O postgres é uma grande fonte de erros.
"Database '...' does not exist"
Basta criar a base de dados
docker-compose exec db bash
...
psql -U postgres
...
create database [nome da base de dados];
Primeiramente realize o setup do banco de dados de testes
bundle exec rake db:drop RAILS_ENV=test
bundle exec rake db:create RAILS_ENV=test
bundle exec rake db:schema:load RAILS_ENV=test
Basta escrever
rspec
E caso queria testar um modulo em específico
rspec spec/[pasta]/[arquivo]
Quando uma novo commit é feito, este sobre pro Travis, onde é rodada a bateria de testes para certificar que nada quebrou.
ProEpi, Associação Brasileira de Profissionais de Epidemiologia de Campo
Licensed under the Apache License 2.0.