Giter Club home page Giter Club logo

perfil-parlamentar's Introduction

Perfil Parlamentar

Build Status

Documentação da API

Sobre o projeto

O Perfil Parlamentar exibe informações sobre as pessoas que compõem a Câmara dos Deputados e o Senado do congresso brasileiro.

Desenvolvimento

O projeto foi desenvolvido utilizando a arquitetura PEAN (Postgres Express Angular e Node).

Instale o docker e o docker-compose.

Inicialização do banco de dados

No repositório de dados do projeto siga as instruções do README para inicializar o banco de dados usando docker.

Configuração das variáveis de ambiente

Faça uma cópia arquivo variables.env.sample para o arquivo variables.env e preencha com as chaves para as variáveis de ambiente.

Iniciando docker

Após a definição das variáveis e com o banco de dados executando via docker. Rode com o docker executando:

docker-compose up

Pronto, o desenvolvimento já pode ser iniciado!

A api estará disponível em: localhost:5000/api O frontend estará disponível em: localhost:4200

Caso for preciso reconstruir as imagens (backend e frontend) basta fazer:

docker-compose up --build

Limitação: Alterações no arquivo package.json (do frontend ou do backend) exigem um rebuild (reconstrução) da imagem com o comando citado acima.

Comandos úteis

Caso você queira parar os containers e remover os volumes execute:

docker-compose down --volumes

Para visualizar os containers rodando:

docker ps

Para executar comandos num shell dentro do container:

docker exec -it <container_id> sh

Para matar um container

docker kill <container_id>

Desenvolvimento sem Docker

Configuração das variáveis de ambiente

É necessário exportar as variáveis de ambiente para que o projeto possa ser executado. Essa é a lista de variáveis necessárias:

  • SECRET_OR_KEY
  • POSTGRESURI
  • FACEBOOK_APP_ID
  • FACEBOOK_APP_SECRET
  • GOOGLE_APP_ID
  • GOOGLE_APP_SECRET

Para exportar use, como exemplo, o comando abaixo (no terminal):

export SECRET_OR_KEY="umsupersegredo"

Obs: a variável POSTGRESURI deve ter o seguinte formato postgres://<username>:<password>@postgres:5432/vozativa

Instalação de dependências

Para o backend

npm install

Para o frontend

npm run client-install

Execução do projeto

Para execução do backend

npm run server

Para execução do frontend

npm run client

Testes

Os testes são escritos usando chai e rodam via docker-compose.

Executar testes

npm test

perfil-parlamentar's People

Contributors

dandaramcsousa avatar gileadekelvin avatar hadrizia avatar jeffersonrpn avatar nazareno avatar paul0vinicius avatar sergiomario avatar

Watchers

 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.