Skip to content

Commit

Permalink
[MERGE] Sprint 13
Browse files Browse the repository at this point in the history
Sprint 13
  • Loading branch information
matheusbsilva authored Jun 11, 2018
2 parents 6a6f003 + 33f9dde commit fbbe1dc
Show file tree
Hide file tree
Showing 11 changed files with 655 additions and 307 deletions.
5 changes: 2 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,12 @@
[![Maintainability](https://api.codeclimate.com/v1/badges/7fc5f5cd8fcb47c363f8/maintainability)](https://codeclimate.com/github/fga-gpp-mds/2018.1-TropicalHazards-BI/maintainability)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)


## Sobre

<p align="justify"> O Tropical Hazards Business Intelligence é um sistema cujo a finalidade é auxiliar os pesquisadores e profissionais de saúde do Núcleo de Medicina Tropical da UnB, permitindo o gerenciamento e compartilhamento de dados e indicadores referentes às doenças tropicais. O sistema foi projetado de modo a permitir que os profissionais possam fazer análises estatísticas, compartilhar informações gerenciadas em dashboards e disponibilizar esses dados para o público.</p>
<p align="justify"> O Observ é uma plataforma online de observatórios de dados científicos com suporte à geração de mapas e gráficos. É intuitivo e colaborativo. O objetivo do sistema é auxiliar os pesquisadores e pessoas interessadas em análise de dados e estatísticas. Permite o gerenciamento e compartilhamento de dados e indicadores do seu projeto de pesquisa, seja qual for o escopo do seu trabalho. Com o Observ você pode fazer análises estatísticas, compartilhar informações gerenciadas em dashboards e disponibilizar esses dados para o público.</p>

## Deploy
[Homolog](http://159.65.190.38)
[Homolog](http://159.203.102.150)

## Documentação

Expand Down
2 changes: 1 addition & 1 deletion TropicalHazards_BI/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = env("DEBUG", default=False)

ALLOWED_HOSTS = ['localhost', '0.0.0.0', '159.65.190.38', 'back']
ALLOWED_HOSTS = ['localhost', '0.0.0.0', '159.203.102.150', 'back']

# Application definition

Expand Down
108 changes: 40 additions & 68 deletions dashboards/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,25 @@
pytestmark = pytest.mark.django_db


@pytest.fixture
def create_user(client):
user = User.objects.create(username='username',
email='email', is_staff=True)
user.set_password('password')
user.save()
client.login(username='username', password='password')
return user


@pytest.fixture
def create_dashboard(client, create_user):
user = create_user
project = mommy.make(Project, user=user)
dashboard = mommy.make(Dashboard, user=user, project=project)
url = reverse('dashboards:dashboard-detail', kwargs={'pk': dashboard.id})
return project, dashboard, url


def test_get_dashboard_return_200(client):
url = reverse('dashboards:dashboards')
response = client.get(url)
Expand All @@ -26,14 +45,9 @@ def test_list_dashboards_return_list_dashboards(client):
assert response.data[0]['name'] == dashboard.name


def test_post_dashboard_is_valid_return_201(client):
def test_post_dashboard_is_valid_return_201(client, create_user):
url = reverse('dashboards:dashboards')
user = User.objects.create(username='username',
email='email', is_staff=True)
user.set_password('password')
user.save()
client.login(username='username', password='password')

user = create_user
project = mommy.make(Project, user=user)
data = {'user': user.id, 'name': "namedashboard", 'project':
project.id}
Expand All @@ -44,14 +58,9 @@ def test_post_dashboard_is_valid_return_201(client):
assert response.status_code == 201


def test_post_dashboard_is_not_valid_return_400(client):
def test_post_dashboard_is_not_valid_return_400(client, create_user):
url = reverse('dashboards:dashboards')
user = User.objects.create(username='username',
email='email', is_staff=True)
user.set_password('password')
user.save()
client.login(username='username', password='password')

user = create_user
project = mommy.make(Project, user=user)
data = {'user': user.id, 'name': " ", 'project':
project.id}
Expand All @@ -62,14 +71,9 @@ def test_post_dashboard_is_not_valid_return_400(client):
assert response.status_code == 400


def test_post_dashboard_persist_db(client):
def test_post_dashboard_persist_db(client, create_user):
url = reverse('dashboards:dashboards')
user = User.objects.create(username='username',
email='email', is_staff=True)
user.set_password('password')
user.save()
client.login(username='username', password='password')

user = create_user
project = mommy.make(Project, user=user)
data = {'user': user.id, 'name': "dashboardname", 'project':
project.id}
Expand All @@ -81,62 +85,37 @@ def test_post_dashboard_persist_db(client):
assert dashboards.count() == 1


def test_get_dashboard_detail_return_200(client):
user = User.objects.create(username='username',
email='email', is_staff=True)
user.set_password('password')
user.save()
client.login(username='username', password='password')

project = mommy.make(Project, user=user)
dashboard = mommy.make(Dashboard, user=user, project=project)
url = reverse('dashboards:dashboard-detail', kwargs={'pk': dashboard.id})
def test_get_dashboard_detail_return_200(client, create_user,
create_dashboard):
project, dashboard, url = create_dashboard
response = client.get(url)

assert response.status_code == 200
assert response.data['id'] == dashboard.id


def test_get_dashboard_detail_return_404(client):
user = User.objects.create(username='username',
email='email', is_staff=True)
user.set_password('password')
user.save()
client.login(username='username', password='password')

def test_get_dashboard_detail_return_404(client, create_user):
url = reverse('dashboards:dashboard-detail', kwargs={'pk': 1})
response = client.get(url)

assert response.status_code == 404


def test_put_dashboard_detail_return_200(client):
user = User.objects.create(username='username',
email='email', is_staff=True)
user.set_password('password')
user.save()
client.login(username='username', password='password')

project = mommy.make(Project, user=user)
dashboard = mommy.make(Dashboard, user=user, project=project)
url = reverse('dashboards:dashboard-detail', kwargs={'pk': dashboard.id})
def test_put_dashboard_detail_return_200(client, create_user,
create_dashboard):
user = create_user
project, dashboard, url = create_dashboard
data = {'user': user.id, 'name': "namedashboard", 'project':
project.id}
json_data = json.dumps(data)
response = client.put(url, data=json_data, content_type='application/json')
assert response.status_code == 200


def test_put_dashboard_detail_return400(client):
user = User.objects.create(username='username',
email='email', is_staff=True)
user.set_password('password')
user.save()
client.login(username='username', password='password')

project = mommy.make(Project, user=user)
dashboard = mommy.make(Dashboard, user=user, project=project)
url = reverse('dashboards:dashboard-detail', kwargs={'pk': dashboard.id})
def test_put_dashboard_detail_return400(client, create_user,
create_dashboard):
user = create_user
project, dashboard, url = create_dashboard
data = {'user': user.id, 'name': " ", 'project':
project.id}
json_data = json.dumps(data)
Expand All @@ -145,16 +124,9 @@ def test_put_dashboard_detail_return400(client):
assert response.status_code == 400


def test_delete_dashboard_detail_return_204(client):
user = User.objects.create(username='username',
email='email', is_staff=True)
user.set_password('password')
user.save()
client.login(username='username', password='password')

project = mommy.make(Project, user=user)
dashboard = mommy.make(Dashboard, user=user, project=project)
url = reverse('dashboards:dashboard-detail', kwargs={'pk': dashboard.id})
def test_delete_dashboard_detail_return_204(client, create_user,
create_dashboard):
project, dashboard, url = create_dashboard
response = client.delete(url, content_type='application/json')

assert response.status_code == 204
6 changes: 3 additions & 3 deletions docs/development_docs/doc_visao.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@
<a name="proposito"></a>
## 1.1 Propósito

<p align = "justify">O documento de visão tem como objetivo demonstrar uma visão completa sobre o <em>Webapp</em> Tropical Hazards BI deixando claro o seu escopo, funcionalidade e objetivo da aplicação.</p>
<p align = "justify">O documento de visão tem como objetivo demonstrar uma visão completa sobre o <em>Webapp</em> Observ deixando claro o seu escopo, funcionalidade e objetivo da aplicação.</p>

<a name="escopo"></a>
## 1.2 Escopo
Expand Down Expand Up @@ -218,7 +218,7 @@ BATISTA, Matheus; ARAÚJO, Igor; WILLER, Guilherme; OLIVEIRA, Vinícius; BARCELO


<tr>
<td><strong><em>O Tropical Hazards</em></strong> </td>
<td><strong><em>O Observ</em></strong> </td>
<td>É um Web App.</td>
</tr>

Expand Down Expand Up @@ -295,7 +295,7 @@ BATISTA, Matheus; ARAÚJO, Igor; WILLER, Guilherme; OLIVEIRA, Vinícius; BARCELO


<tr>
<td> <strong>Pesquisadores/Interessados</strong> </td>
<td> <strong>Pesquisadores/Interessados em análise e estatística</strong> </td>
<td> Pesquisadores relacionados a área de doenças tropicais </td>
</tr>

Expand Down
81 changes: 81 additions & 0 deletions docs/metodology/sprints/sprint_13/sprint_13_review.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
# Review/Retrospectiva [Sprint 13]()

## Status das Histórias



### Rastreabilidade de impedimentos



## Retrospectiva

## Indicadores

### Produtividade

#### Commits/dia


### Velocity

### Evolução de Conhecimento
#### Quadro de Habilidades


### Burndown de riscos
O Burndown de riscos avalia a evolução dos riscos selecionados pela equipe durante o decorrer do projeto. Mais detalhes sobre os riscos selecionados podem ser encontrados no documento de [Riscos](https://github.com/fga-gpp-mds/2018.1-TropicalHazards-BI/blob/master/docs/wiki/riscos.md)

Devido ao acompanhamento do gráfico não ter sido realizado nas outras sprints, as atualizações gerais do burndown de riscos estão refletidas neste documento. O risco 5 foi removido por não estar coerente com o contexto da disciplina, sendo um fator externo que não deveria afetar o desenvolvimento do projeto. Com a arquitetura do projeto definida e o fluxo de DevOps estabelecido, o R04 foi atualizado para refletir um novo risco arquitetural, voltado para a necessidade da coerência das novas funcionalidades implentadas em relação ao padrão arquitetural definido.

<img src="https://i.imgur.com/ylzeUJC.png" class="responsive-img">

<table class="responsive-table highlight bordered">
<thead>
<tr>
<td>Risco</td>
<td>Descrição</td>
</tr>
</thead>
<tbody>
<tr>
<th>R01</th>
<td>Projeto não atender os requisitos</td>
</tr>
<tr>
<th>R02</th>
<td>Inexperiência com a tecnologia de desenvolvimento</td>
</tr>
<tr>
<th>R03</th>
<td>Comunicação falha entre os membros</td>
</tr>
<tr>
<th>R04</th>
<td>Equipe de desenvolvimento não seguir a arquitetura</td>
</tr>
<tr>
<th>R06</th>
<td>Falta de compromentimento</td>
</tr>
<tr>
<th>R07</th>
<td>Baixa Produtividade</td>
</tr>
<tr>
<th>R08</th>
<td>Conhecimento desnivelado</td>
</tr>
<tr>
<th>R09</th>
<td>Membro abandonar a disciplina</td>
</tr>
<tr>
<th>R10</th>
<td>Dificuldade de aprendizado ao trabalhar com tecnologias diferentes ao mesmo tempo</td>
</tr>
</tbody>
</table>


## Análise do Scrum Master
Loading

0 comments on commit fbbe1dc

Please sign in to comment.