-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #132 from fga-eps-mds/develop
Preparação R1
- Loading branch information
Showing
111 changed files
with
5,785 additions
and
66 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,12 +1,19 @@ | ||
.DS_Store | ||
_Store | ||
|
||
node_modules | ||
|
||
lib/core/metadata.js | ||
lib/core/MetadataBlog.js | ||
|
||
src/comex_stat/assets/migrations/* | ||
docs/website/translated_docs | ||
docs/website/build/ | ||
docs/website/yarn.lock | ||
docs/website/node_modules | ||
docs/website/i18n/* | ||
**/__pycache__/ | ||
db.sqlite3 | ||
|
||
src/comex_stat/static/** | ||
|
||
*.pyc | ||
__pycache__ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,14 +1,53 @@ | ||
# .travis.yml | ||
sudo: required | ||
language: node_js | ||
node_js: | ||
- '8' | ||
branches: | ||
only: | ||
- master | ||
- '8' | ||
services: | ||
- docker | ||
|
||
env: | ||
- DOCKER_COMPOSE_VERSION=1.21.0 | ||
|
||
language: node_js | ||
before_install: | ||
- sudo rm /usr/local/bin/docker-compose | ||
- curl -L https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-`uname | ||
-s`-`uname -m` > docker-compose | ||
- chmod +x docker-compose | ||
- sudo mv docker-compose /usr/local/bin | ||
|
||
cache: | ||
yarn: true | ||
|
||
script: | ||
- git config --global user.name "${GH_NAME}" | ||
- git config --global user.email "${GH_EMAIL}" | ||
- echo "machine github.com login ${GH_NAME} password ${GH_TOKEN}" > ~/.netrc | ||
- cd docs/website && yarn install && GIT_USER="${GH_NAME}" yarn run publish-gh-pages | ||
- docker-compose up -d | ||
- docker-compose exec web flake8 --exclude='ipython_log.py*,migrations,templates, | ||
settings.py, manage.py' | ||
- sudo docker-compose exec web coverage run src/manage.py test | ||
- git config --global user.name "${GH_NAME}" | ||
- git config --global user.email "${GH_EMAIL}" | ||
- echo "machine github.com login ${GH_NAME} password ${GH_TOKEN}" > ~/.netrc | ||
- cd docs/website && yarn install && GIT_USER="${GH_NAME}" GIT_BRANCH=master yarn run publish-gh-pages | ||
|
||
before_script: | ||
- curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter | ||
- chmod +x ./cc-test-reporter | ||
- ./cc-test-reporter before-build | ||
|
||
# deploy: | ||
# - provider: heroku | ||
# app: api-comexstat | ||
# on: | ||
# master | ||
# api_key: | ||
# secure: gndgDVvj2SlJ+vX7BIcIoauDb4KX2pwucuokyQSjrM7L6X4UjNNJYXfzwetRpWhN4ha8AJtHlDiIPKTgB0yf8UcWZPjGjKQ3JexGm3tCLWQd/uTpFswksr/yXEkmwLwvZVA2ukM6JQ0/MRGGHsQXD5FInxOvdLFboNuslxpnCrbHG5YKRVxUKWOD6rkd7AP1A9n8z7iAYAAMyM0wowypLvhoshAeSTcK95b64oZ3TFbfoiuQ1NMwmflgfDAb5F408trYHdoc9gTkEa2tsddIYMrtIYRl1rX3Do0fpWOJ9r6H/5uZlff9dF1VIv2bRWzAwywz1ch2p20sKXfL1WZt2rb+s91jeUjKv8kDYBUxYjvyi7I5T3j06EsJyKnAfDAezKZ4yhsL+Jo4Et4drEvHB5K7cqjEVLbKN1hl2TKO48ydTkCS+uQ4TvYoYRafWLBFiWALOViDZMxCsChwjo82laX4VA0MGUB9/wp1PhSqHsohz6fuV9wt8FZ16QmyuOhBC3PwN/nmBr3cOMPl6EBVNGbMW0QLi2hajrsNCBeUhbTNh/tbqNxsw7zIKmz9v5OxszeF/AJdLn6EVnFhTD4PMP36XyfYK5jvfkr38oziC41qhTMaw1VMxqJcpEodXTgkun4o1GKgbtmPBhZZAc//X3MjomPv67784JqK6D/SSdo= | ||
# | ||
# - provider: heroku | ||
# app: api-comexstat-staging | ||
# on: | ||
# develop | ||
# api_key: | ||
# secure: gndgDVvj2SlJ+vX7BIcIoauDb4KX2pwucuokyQSjrM7L6X4UjNNJYXfzwetRpWhN4ha8AJtHlDiIPKTgB0yf8UcWZPjGjKQ3JexGm3tCLWQd/uTpFswksr/yXEkmwLwvZVA2ukM6JQ0/MRGGHsQXD5FInxOvdLFboNuslxpnCrbHG5YKRVxUKWOD6rkd7AP1A9n8z7iAYAAMyM0wowypLvhoshAeSTcK95b64oZ3TFbfoiuQ1NMwmflgfDAb5F408trYHdoc9gTkEa2tsddIYMrtIYRl1rX3Do0fpWOJ9r6H/5uZlff9dF1VIv2bRWzAwywz1ch2p20sKXfL1WZt2rb+s91jeUjKv8kDYBUxYjvyi7I5T3j06EsJyKnAfDAezKZ4yhsL+Jo4Et4drEvHB5K7cqjEVLbKN1hl2TKO48ydTkCS+uQ4TvYoYRafWLBFiWALOViDZMxCsChwjo82laX4VA0MGUB9/wp1PhSqHsohz6fuV9wt8FZ16QmyuOhBC3PwN/nmBr3cOMPl6EBVNGbMW0QLi2hajrsNCBeUhbTNh/tbqNxsw7zIKmz9v5OxszeF/AJdLn6EVnFhTD4PMP36XyfYK5jvfkr38oziC41qhTMaw1VMxqJcpEodXTgkun4o1GKgbtmPBhZZAc//X3MjomPv67784JqK6D/SSdo= | ||
|
||
after_script: | ||
- ./cc-test-reporter after-build -t lcov --debug --exit-code $TRAVIS_TEST_RESULT |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
FROM python:3.5 | ||
ENV PYTHONUNBUFFERED 1 | ||
|
||
RUN mkdir /code | ||
WORKDIR /code | ||
|
||
ADD . /code/ | ||
RUN pip install -r requirements.txt && \ | ||
chmod +x boot.sh | ||
|
||
CMD ["./boot.sh"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
The MIT License | ||
|
||
Copyright (c) 2018 ComexStat MDIC. | ||
|
||
Permission is hereby granted, free of charge, to any person obtaining a copy | ||
of this software and associated documentation files (the "Software"), to deal | ||
in the Software without restriction, including without limitation the rights | ||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
copies of the Software, and to permit persons to whom the Software is | ||
furnished to do so, subject to the following conditions: | ||
|
||
The above copyright notice and this permission notice shall be included in | ||
all copies or substantial portions of the Software. | ||
|
||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | ||
THE SOFTWARE. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
web: python src/manage.py runserver 0.0.0.0:$PORT |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
#!/bin/sh | ||
|
||
pip install -r requirements.txt | ||
cd src | ||
python manage.py makemigrations | ||
python manage.py migrate | ||
python manage.py runserver 0.0.0.0:8000 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
|
||
version: '3.5' | ||
|
||
services: | ||
|
||
db: | ||
image: postgres | ||
ports: | ||
- 5000:5432 | ||
|
||
web: | ||
build: . | ||
command: /bin/sh ./boot.sh | ||
volumes: | ||
- .:/code | ||
ports: | ||
- "8000:8000" | ||
depends_on: | ||
- db |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,7 +2,7 @@ | |
|
||
# Issue Relacionada | ||
|
||
# | ||
fixes # | ||
|
||
# Tipo de Mudanças | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,37 @@ | ||
|
||
# Comex Stat | ||
|
||
Dados abertos sobre o comércio exterior de bens e serviços no Brasil. | ||
[![Build Status](https://travis-ci.org/fga-eps-mds/2018.2-ComexStat.svg?branch=develop)](https://travis-ci.org/fga-eps-mds/2018.2-ComexStat) | ||
[![Maintainability](https://api.codeclimate.com/v1/badges/f8c2e994cae38bdd6ce7/maintainability)](https://codeclimate.com/github/fga-eps-mds/2018.2-ComexStat/maintainability) | ||
[![Test Coverage](https://api.codeclimate.com/v1/badges/f8c2e994cae38bdd6ce7/test_coverage)](https://codeclimate.com/github/fga-eps-mds/2018.2-ComexStat/test_coverage) | ||
|
||
## Sobre | ||
|
||
O ComexStat, vem com o objetivo de tornar mais fácil o acesso aos dados relacionados ao comércio exterior de bens, e posteriormente serviços no Brasil, proporcionando aos usuários a possibilidade de trabalhar com as informações desejadas de forma mais adequada as suas necessidades. | ||
|
||
## Documentação | ||
|
||
Para entender um pouco mais sobre o produto, acesse nossa [documentação](https://fga-eps-mds.github.io/2018.2-ComexStat). | ||
|
||
## Instalação | ||
|
||
Nesta seção está descrito cada passo necessário para a configuração e utilização da aplicação. | ||
|
||
#### Pré-requisitos | ||
* [Git](https://git-scm.com/) | ||
* [Docker](https://www.docker.com/get-docker) | ||
* [Docker-composer](https://docs.docker.com/compose/install/#install-compose) | ||
|
||
#### Configuração | ||
|
||
Clone o repositório no diretório desejado | ||
|
||
git clone https://github.com/fga-eps-mds/2018.2-ComexStat.git | ||
|
||
Utilize o seguinte comando para subir a aplicação | ||
|
||
docker-compose up | ||
|
||
A aplicação pode ser acessada através do localhost: | ||
|
||
localhost:8000 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,115 @@ | ||
--- | ||
id: definicaoArquitetura | ||
title: Definição Arquitetural | ||
--- | ||
|
||
## 1. Introdução | ||
|
||
A arquitetura que vamos utilizar será a de microsserviços. Os microsserviços são um | ||
estilo de arquitetura de aplicativo em que programas autônomos independentes, com uma | ||
única finalidade, podem se comunicar entre si por meio de uma rede. Normalmente, esses | ||
microsserviços podem ser implantados independentemente porque eles têm uma forte separação | ||
de responsabilidades por meio de uma especificação bem definida com compatibilidade reversível | ||
significativa para evitar a quebra súbita de dependência. | ||
|
||
Com base na arquitetura microserviços, foram definidas as seguintes tecnologias. | ||
|
||
## 2. Tecnologias que Serão Utilizadas | ||
|
||
Todas as tecnologias adotadas foram escolhidas em conjunto com o cliente, por meio | ||
de reuniões que fazermos semanalmente. | ||
|
||
### 2.1. Django | ||
|
||
O Django é um framework web na linguagem Python, que permite rápido desenvolvimento e | ||
design claro e objetivo de aplicações web.. | ||
|
||
O Django será utilizado no back-end do projeto por apresentar uma adequeda estrutura base | ||
para projetos, por ser a maior comunidade e ter maior aceitação entre os frameworks | ||
web Python, além de acarretar em um boa curva de aprendizado para a equipe. | ||
|
||
### 2.2. Angular | ||
|
||
Angular é um framework para construção da interfaces de usuário usando | ||
HTML, CSS e JavaScript, através de suas bibliotecas facilita o desenvolvimento | ||
de aplicações web. | ||
|
||
O Angular será aplicado como o front-end do projeto por ser um framework completo e por | ||
possuir diversos componentes disponíveis para as várias necessidades da aplicação. | ||
|
||
|
||
### 2.3. GraphQL | ||
|
||
GraphQL é uma linguagem de consulta para APIs, o GraphQL fornece uma descrição | ||
completa e compreensível dos dados contidos na API. | ||
|
||
Características principais: | ||
* Permite que o cliente especifique exatamente quais dados deseja obter. | ||
* Facilita a agregação de dados de várias fontes. | ||
* Usa um sistema de tipos para descrever dados. | ||
|
||
GraphQL foi escolhido por oferecer características arquiteturais que vão de | ||
acordo com a aplicação. | ||
|
||
### 2.4. PostgreSQL | ||
|
||
O PostgreSQL é um sistema de gerenciamento de banco de dados do tipo objeto-relacional | ||
(ORDBMS) com ênfase em extensibilidade e em padrões de conformidade. | ||
|
||
Como um servidor de banco de dados, sua principal função é armazenar dados de forma | ||
segura, apoiando as melhores práticas, permitindo a recuperação dos dados a pedido de | ||
outras aplicações de software. | ||
|
||
O PostgreSQL sará usado por ter muitos recursos destinados a ajudar os desenvolvedores | ||
a gerenciar e a proteger a integridade dos dados. | ||
|
||
## 3. Relacionamento das Tecnologias | ||
|
||
### 3.1. GraphQL com Django | ||
|
||
O ComexStat contará com a implementação do GraphQL e Python, para essa integração | ||
onde será utilizado a biblioteca Graphene. Será utilizado basicamente o query | ||
do GraphQL, para fazer buscas de informações do banco de dados. | ||
|
||
### 3.2. GraphQL com Angular | ||
|
||
O Apollo Client possui uma implementação em Angular para GraphQL. O Apollo Client foi | ||
projetado desde o início para facilitar a construção de componentes de interface | ||
do usuário que buscam dados com o GraphQL. | ||
|
||
O Apollo Client é flexível para a plataforma Angular, onde foi cuidadosamente | ||
desenvolvida para funcionar bem com todas as ferramentas usadas pelos | ||
desenvolvedores Angular. | ||
|
||
|
||
### 3.3. Diagrama | ||
|
||
![Diagrama_Representacao_Arquitetural](https://fga-eps-mds.github.io/2018.2-ComexStat/img/Representacao_Arquitetural.png) | ||
|
||
## 4. Arquitetura do Software | ||
|
||
Foi decidido junto ao cliente a posibilidade de uma arquitetura monolítica, visto | ||
que o escopo do projeto está bem acoplado e que vamos utilizar bibliotecas externas | ||
para as funcionalidades da aplicação. | ||
|
||
Uma arquitetura monolítica é o modelo unificado tradicional para o design de um | ||
programa de software. | ||
|
||
O software monolítico é projetado para ser independente, os componentes do programa | ||
são interconectados e interdependentes, em vez de fracamente acoplados, como é o | ||
caso dos programas de software modulares. Em uma arquitetura bem acoplada, cada | ||
componente e seus componentes associados devem estar presentes para que o código | ||
seja executado ou compilado. | ||
|
||
### 4.1. Diagrama | ||
|
||
![Diagrama-Monolitico](https://fga-eps-mds.github.io/2018.2-ComexStat/img/Diagrama-Monolitico.png) | ||
|
||
## 5. Referências | ||
|
||
> * GraphQL. Disponível em: <https://graphql.org/>. Acessado em 13/09/2018. | ||
> * GREIF, Sacha. Disponível em: <https://medium.freecodecamp.org/so-whats-this-graphql-thing-i-keep-hearing-about-baf4d36c20cf>. Acessado em 13/09/2018. | ||
> * AFONSO, Alexandre. Disponível em: <https://blog.algaworks.com/o-que-e-angular/>. Acessado em 13/09/2018. | ||
> * Edson. Disponível em: <https://www.devmedia.com.br/postgresql-tutorial/33025>. Acessado em 13/09/2018. | ||
> * PostgreSQL. Disponível em: <https://www.postgresql.org/about/>. Acessado em 13/09/2018. | ||
> * SCARPA, João Mateus. Disponível em: <https://blog.designa.com.br/padr%C3%B5es-de-arquitetura-de-software-voc%C3%AA-sabe-do-que-estamos-falando-4858967c4054>. Acessado em 19/09/2018. |
Oops, something went wrong.