Coder Social home page Coder Social logo

clara-ribeiro / guardioes-api Goto Github PK

View Code? Open in Web Editor NEW

This project forked from proepidesenvolvimento/guardioes-api

0.0 0.0 0.0 5.8 MB

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

License: Apache License 2.0

Shell 0.13% JavaScript 23.36% Ruby 68.76% CSS 1.34% HTML 6.24% Dockerfile 0.17%

guardioes-api's Introduction

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.

guardioes-api's People

Contributors

gabrieldouurado avatar viniciuspuerto avatar renatobrittoaraujo avatar alvesitalo avatar tsrrodrigues avatar foxtrot40 avatar jps12 avatar gsmartins96 avatar eduardomdr avatar robsonramon avatar guilacerda avatar jonatas1n avatar proepidev avatar andrewlucasgs avatar emanuks avatar eduardo-yoshida avatar yoshida-eduardo avatar rochacarla avatar jpmota2208 avatar dependabot[bot] 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.