... | ... | @@ -19,9 +19,251 @@ Esta seção é dedicada a apresentar o escopo do projeto e os documentos refere |
|
|
|
|
|
## Mapeamento de Histórias de Usuário
|
|
|
|
|
|
TBD
|
|
|
As *user stories* foram agrupadas em épicos, que são:
|
|
|
* Cadastro e Login
|
|
|
* Eventos
|
|
|
* Interação com eventos
|
|
|
* Geolocalização
|
|
|
* Painel Administrativo
|
|
|
### Cadastro e Login
|
|
|
|
|
|
<details>
|
|
|
<summary><b>US01</b> – Criar conta</summary>
|
|
|
|
|
|
> Como usuário, gostaria realizar o cadastro no sistema para que futuramente possa efetuar login.
|
|
|
|
|
|
**Critérios de aceitação:**
|
|
|
|
|
|
1. Dado que estou na tela de login, quando clico no botão de "Cadastre-se", então sou direcionado à tela de criação de conta.
|
|
|
2. Dado que eu estou na tela de criação de conta, então consigo inserir obrigatoriamente nome, e-mail, senha, cpf/cnpj, telefone e tipo de usuário.
|
|
|
3. Dado que eu estou na tela de criação de conta, então tenho que selecionar uma das duas opções, conta Doador e conta Entidade.
|
|
|
4. Dado que estou na tela de criação de conta:
|
|
|
- quando tocar no botão “Mostrar” no campo de senha, então o conteúdo do campo de senha deve ficar visível;
|
|
|
- quando tocar no botão “Ocultar” no campo de senha, então o conteúdo do campo de senha deve ficar escondido.
|
|
|
5. Dado que estou na tela de criação de conta e algum campo está vazio ou com dados inválidos, quando tocar no botão “Cadastrar-se”, então é exibida uma mensagem de erro junto a cada campo vazio/inválido e permaneço na mesma tela e uma conta não é criada.
|
|
|
6. Dado que estou na tela de criação de conta e todos os campos estão preenchidos com dados válidos, quando tocar no botão “Cadastrar-se”, então sou direcionado à tela de listagem de eventos cadastrados.
|
|
|
</details>
|
|
|
|
|
|
<details>
|
|
|
<summary><b>US02</b> – Fazer login</summary>
|
|
|
|
|
|
> Como usuário, gostaria de realizar o login no sistema, para que eu criar e/ou participar de eventos.
|
|
|
|
|
|
**Critérios de aceitação:**
|
|
|
|
|
|
1. Dado que estou na tela de lista de eventos e não realizei login no sistema, quando clicar em um evento ou clicar em criar evento ou clicar no ícone de perfil, então devo ser redirecionado à tela de login.
|
|
|
2. Dado que estou na tela de login, então consigo inserir obrigatoriamente o e-mail e a senha da minha conta.
|
|
|
3. Dado que estou na tela de login e os campos estão preenchidos e no formato correto, quando clicar no botão “Logar”, então um indicador de carregamento é exibido e minhas credenciais são validadas:
|
|
|
- quando minhas credenciais forem válidas, então sou direcionado à tela de lista de eventos;
|
|
|
- quando minhas credenciais não forem válidas, então uma mensagem de erro “E-mail ou senha incorretos, tente novamente” é exibida.
|
|
|
|
|
|
4. Dado que estou na tela de login, quando clicar no botão “Criar conta”, então sou levado à tela de cadastro.
|
|
|
</details>
|
|
|
|
|
|
<details>
|
|
|
<summary><b>US05</b> – Visualizar perfil do usuário</summary>
|
|
|
|
|
|
> Como usuário, gostaria de visualizar meu perfirl, para saber com qual conta estou utilizando o sistema.
|
|
|
|
|
|
**Critérios de aceitação:**
|
|
|
|
|
|
1. O perfil do usuário deve conter os dados informados no cadastro.
|
|
|
2. A foto do usuário deve estar visível na tela de perfil.
|
|
|
</details>
|
|
|
|
|
|
### Eventos
|
|
|
|
|
|
<details>
|
|
|
<summary><b>US03</b> – Criar evento</summary>
|
|
|
|
|
|
> Eu como Doador/Voluntário gostaria de criar um evento para doar um bem ou serviço que possuo.
|
|
|
|
|
|
**Critérios de aceitação:**
|
|
|
|
|
|
1. Dado que eu esteja logado, quando eu clicar em “Criar Evento”, então eu devo ser redirecionado para a tela de criação de evento.
|
|
|
2. Dado que eu não esteja logado, quando eu clicar em “Criar Evento”, então eu devo ser redirecionado para a tela de login.
|
|
|
3. Dado que eu esteja na tela de criação de evento, então eu devo inserir obrigatoriamente o título, a descrição, o endereço, uma data final e uma imagem para o evento.
|
|
|
4. Dado que eu esteja na tela de criação de evento, então eu posso adicionar uma ou mais atividades que devem ser completadas para a finalização do evento.
|
|
|
- o prazo da atividade pode ser editado, mas não deve ultrapassar a data final do evento;
|
|
|
5. Dado que eu esteja na tela de criação de evento, as informações obrigatórias estejam preenchidas corretamente, quando eu clicar no botão “Criar Evento”, então eu devo ser redirecionado para a tela inicial e uma mensagem dizendo "Evento criado com sucesso" deve ser exibida.
|
|
|
6. Dado que eu esteja na tela de criação de evento, as informações obrigatórias estejam preenchidas corretamente, quando eu clicar no botão “Cancelar”, então eu devo ser redirecionado para a tela inicial.
|
|
|
</details>
|
|
|
|
|
|
<details>
|
|
|
<summary><b>US04</b> – Listar eventos em aberto</summary>
|
|
|
|
|
|
> Eu como usuário gostaria de ver a lista eventos em aberto para que possa encontrar eventos para interagir.
|
|
|
|
|
|
**Critérios de aceitação:**
|
|
|
|
|
|
1. Dado que eu entre no sistema, quando eu estiver na tela de home, então gostaria de visualizar todos os eventos listados.
|
|
|
</details>
|
|
|
|
|
|
<details>
|
|
|
<summary><b>US06</b> – Visualizar detalhes de um evento.</summary>
|
|
|
|
|
|
> Eu como Usuário gostaria de visualizar os detalhes do evento para obter mais informações sobre suas atividades.
|
|
|
|
|
|
**Critérios de aceitação:**
|
|
|
|
|
|
1. O usuário deve estar logado para ver os detalhes do evento.
|
|
|
2. Dado que eu esteja logado, e na tela de lista de eventos, quando eu clicar em um evento para ver seus detalhes então eu devo ser redirecionado para a tela de detalhes.
|
|
|
3. Dado que eu esteja na tela de detalhes do evento, então eu devo conseguir enxergar as informações do evento assim como suas atividades e localização no mapa.
|
|
|
4. Dado que eu esteja na tela de detalhes de evento, então eu posso participar do evento, me responsabilizando por uma ou mais atividades.
|
|
|
5. Dado que eu esteja na tela de geolocalização e clicar em um evento no mapa, eu sou redirecionado para a tela de detalhes do mesmo.
|
|
|
</details>
|
|
|
|
|
|
<details>
|
|
|
<summary><b>US07</b> – Buscar eventos.</summary>
|
|
|
|
|
|
> Eu como Usuário gostaria de buscar um evento pelo título do evento.
|
|
|
|
|
|
**Critérios de aceitação:**
|
|
|
|
|
|
1. O Usuário deve poder buscar um evento especifico por título.
|
|
|
- o usuário deve poder digitar um título no campo de "Pesquisa" e trouxesse somente os eventos que tivessem naquela busca.
|
|
|
- não é necessário que o usuário esteja logado para fazer a busca de eventos.
|
|
|
</details>
|
|
|
|
|
|
<details>
|
|
|
<summary><b>US12</b> – Listar eventos criados pelo usuário.</summary>
|
|
|
|
|
|
> Eu como Usuário gostaria de listar os eventos criados por mim para verificar o progresso das atividades dos mesmos.
|
|
|
|
|
|
**Critérios de aceitação:**
|
|
|
|
|
|
1. Dado que eu entre no sistema, quando eu estiver na tela de home, então gostaria de filtrar os eventos para visualizar somente os criados por mim.
|
|
|
- como usuário eu preciso estar logado no aplicação para visualizar todos os eventos criados por mim.
|
|
|
2. Dado que eu entro no sistema, quando eu estiver na tela de home, então eu gostaria de buscar um evento especifico criado por mim por nome.
|
|
|
- como usuário gostaria de digitar um nome no campo de "Pesquisa" e trouxesse somente os eventos que tivessem naquela busca.
|
|
|
</details>
|
|
|
|
|
|
<details>
|
|
|
<summary><b>US13</b> – Listar eventos nos quais o usuário participa.</summary>
|
|
|
|
|
|
> Eu como Usuário gostaria de listar os eventos nos quais estou participando para verificar o progresso do mesmo..
|
|
|
|
|
|
**Critérios de aceitação:**
|
|
|
|
|
|
1. Dado que eu entre no sistema, quando eu estiver na tela de home, então gostaria de visualizar todos os eventos em que estou participando.
|
|
|
- como usuário eu preciso estar logado no aplicação para visualizar todos os eventos disponíveis.
|
|
|
2. Dado que eu entro no sistema, quando eu estiver na tela de home, então eu gostaria de buscar um evento especifico no qual estou participando por nome.
|
|
|
- como usuário gostaria de digitar um nome no campo de "Pesquisa" e trouxesse somente os eventos que tivessem naquela busca.
|
|
|
</details>
|
|
|
|
|
|
### Interação com eventos
|
|
|
|
|
|
<details>
|
|
|
<summary><b>US08</b> – Participar de um evento.</summary>
|
|
|
|
|
|
> Eu como Usuário gostaria de participar de um evento, para que possa responsável por uma ou mais de suas atividades.
|
|
|
|
|
|
**Critérios de aceitação:**
|
|
|
|
|
|
1. Dado que eu esteja na tela de detalhes de um evento, eu devo poder clicar em "Participar" para começar a participar do evento.
|
|
|
- como usuário eu preciso estar logado no aplicação para participar de um evento.
|
|
|
2. Dado que eu estou participando do evento, o botão de participar se torna o botão de cancelar.
|
|
|
</details>
|
|
|
|
|
|
|
|
|
<details>
|
|
|
<summary><b>US09</b> – Cancelar participação em um evento.</summary>
|
|
|
|
|
|
> Eu como Usuário gostaria cancelar minha participação em um evento.
|
|
|
|
|
|
**Critérios de aceitação:**
|
|
|
|
|
|
1. Dado que eu esteja na tela de detalhes de um evento o qual participo, eu devo poder clicar em "Cancelar Participação" para parar de participar do evento.
|
|
|
- como usuário eu preciso estar logado no aplicação para parar de participar de um evento.
|
|
|
2. Dado que eu deixo de participar do evento, o botão de cancelar se torna o botão de participar.
|
|
|
</details>
|
|
|
|
|
|
<details>
|
|
|
<summary><b>US17</b> – Criar atividade dentro de um evento.</summary>
|
|
|
|
|
|
> Eu como usuário gostaria de criar uma atividade dentro de um evento cujo qual participo, para que eu ou outros usuários possam participar.
|
|
|
|
|
|
**Critérios de aceitação:**
|
|
|
|
|
|
1. Um usuário só pode criar uma atividade se estiver participando do evento.
|
|
|
</details>
|
|
|
|
|
|
<details>
|
|
|
<summary><b>US18</b> – Deletar uma atividade dentro de um evento.</summary>
|
|
|
|
|
|
> Eu como usuário gostaria de deletar uma atividade de um evento.
|
|
|
|
|
|
**Critérios de aceitação:**
|
|
|
|
|
|
1. O usuário só pode deletar a atividade que ele mesmo criou.
|
|
|
2. O criador do evento pode deletar qualquer atividade do evento.
|
|
|
</details>
|
|
|
|
|
|
|
|
|
<details>
|
|
|
<summary><b>US19</b> – Participar de uma atividade dentro de um evento.</summary>
|
|
|
|
|
|
> Eu como usuário gostaria de participar de uma atividade dentro de um evento cujo qual participo, para contribuir com o evento.
|
|
|
|
|
|
**Critérios de aceitação:**
|
|
|
|
|
|
1. Um usuário deve estar participando do evento para participar de uma atividade.
|
|
|
2. Ao cancelar a participação em um evento, o usuário deixa de ser o responsável pela atividade.
|
|
|
</details>
|
|
|
|
|
|
### Geolocalização
|
|
|
|
|
|
<details>
|
|
|
<summary><b>US10</b> – Visualizar eventos no mapa.</summary>
|
|
|
|
|
|
> Eu como usuário gostaria de visualizar no mapa todos os eventos disponíveis (em aberto).
|
|
|
|
|
|
**Critérios de aceitação:**
|
|
|
|
|
|
1. Dado que eu clico no mapa da tela de detalhes eu devo ser redirecionado para o Google Maps.
|
|
|
2. Dado que eu estou na tela do mapa, devo conseguir ver todos os eventos em aberto.
|
|
|
3. Dado que eu estou na tela inicial do aplicativo, se eu clicar no botão do mapa no menu inferior, devo ser redirecionado para o mapa.
|
|
|
</details>
|
|
|
|
|
|
|
|
|
<details>
|
|
|
<summary><b>US11</b> – Mostrar rota até o evento.</summary>
|
|
|
|
|
|
> Eu como usuário gostaria de poder visualizar a rota para a localização do evento.
|
|
|
|
|
|
**Critérios de aceitação:**
|
|
|
|
|
|
1. Dado que eu clico no mapa da tela de detalhes eu devo ser redirecionado para o Google Maps.
|
|
|
2. A rota deve ser feita através do Google Maps.
|
|
|
3. Dado que eu estou na tela inicial do aplicativo, se eu clicar no botão do mapa no menu inferior, devo ser redirecionado para o mapa.
|
|
|
</details>
|
|
|
|
|
|
### Painel Administrativo
|
|
|
|
|
|
<details>
|
|
|
<summary><b>US15</b> – Aceitar solicitações de cadastro.</summary>
|
|
|
|
|
|
> Eu como administrador do sistema gostaria de aceitar/recusar solicitação de cadastro de entidades.
|
|
|
|
|
|
**Critérios de aceitação:**
|
|
|
|
|
|
1. Administradores devem possuir acesso a uma tela onde ficam listadas as solicitações de cadastro de entidades.
|
|
|
2. A entidade só tem acesso às funções do aplicativo depois de aceito pelo admin.
|
|
|
</details>
|
|
|
|
|
|
<details>
|
|
|
<summary><b>US16</b> – Decidir quem receberá o item a ser doado.</summary>
|
|
|
|
|
|
> Eu como administrador do sistema gostaria de escolher quem irá receber o bem a ser doado em caso de mais de uma pessoa estar interessada.
|
|
|
|
|
|
**Critérios de aceitação:**
|
|
|
|
|
|
1. O admin deve ver uma lista com todas as solicitações de doação ativas.
|
|
|
2. Ao clicar em uma doação o admin entra na tela de detalhes da solicitação.
|
|
|
3. Na tela de detalhes o admin pode escolher entre os candidatos quem receberá a doação.
|
|
|
</details>
|
|
|
|
|
|
## 6. Cronograma
|
|
|
## Cronograma
|
|
|
|
|
|
Além das datas principais de cada sprint, as sprints de desenvolvimento (1, 2, 3 e 4) também contam um cronograma para a realização das principais atividades do time, como limite para a abertura de merge requests, período de integrações ao fim da sprint e período para a execução de testes funcionais manuais.
|
|
|
|
... | ... | |