Skip to content

mateus-lm/guardioes-api

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Guardiões da Saúde API

License

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.

Tecnologias

Usamos nessa API:

Como levantar o ambiente

O que fazer antes

  1. 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.

  2. 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.

Levantando

Sem logs do rails

docker-compose build
docker-compose up -d

Com logs do rails

docker-compose up

O que fazer depois

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

Erros

Rails

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.

Key

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.

Postgres

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];

Testes

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]

Continuous Integration

Quando uma novo commit é feito, este sobre pro Travis, onde é rodada a bateria de testes para certificar que nada quebrou.

License & copyright

ProEpi, Associação Brasileira de Profissionais de Epidemiologia de Campo

Licensed under the Apache License 2.0.

About

API for app "Guardiões da Saúde"

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 69.3%
  • JavaScript 23.0%
  • HTML 6.1%
  • CSS 1.3%
  • Other 0.3%