... | @@ -3,4 +3,313 @@ |
... | @@ -3,4 +3,313 @@ |
|
|
|
|
|
## User Stories
|
|
## User Stories
|
|
|
|
|
|
|
|
<details>
|
|
|
|
<summary>
|
|
|
|
1. Como uma escola, eu gostaria de poder acessar o site para fazer um agendamento de visita ao museu, para facilitar o processo de reserva.
|
|
|
|
<br>
|
|
|
|
Critérios de aceitação:
|
|
|
|
</summary>
|
|
|
|
|
|
|
|
<ul>
|
|
|
|
<li> A escola deve ser capaz de inserir as informações da escola, do responsável e da visita no formulário de agendamento. </li>
|
|
|
|
<li> O site deve fornecer uma confirmação clara de que o agendamento foi feito com sucesso após o envio do formulário. </li>
|
|
|
|
</ul>
|
|
|
|
</details>
|
|
|
|
|
|
|
|
|
|
|
|
<details>
|
|
|
|
<summary>
|
|
|
|
2. Como uma escola, eu gostaria de ver no formulário os dias disponíveis para agendamento de uma visita.
|
|
|
|
<br>
|
|
|
|
Critérios de aceitação:
|
|
|
|
</summary>
|
|
|
|
|
|
|
|
<ul>
|
|
|
|
<li> O formulário deve exibir uma lista dos dias disponíveis para agendamento de visitas. </li>
|
|
|
|
<li> A lista de dias disponíveis deve ser atualizada dinamicamente com base nas configurações de dias de funcionamento do museu definidas no sistema. </li>
|
|
|
|
</ul>
|
|
|
|
</details>
|
|
|
|
|
|
|
|
|
|
|
|
<details>
|
|
|
|
<summary>
|
|
|
|
3. Como uma escola, eu gostaria de agendar uma visita em um determinado turno para poder organizar melhor meus alunos.
|
|
|
|
<br>
|
|
|
|
Critérios de aceitação:
|
|
|
|
</summary>
|
|
|
|
|
|
|
|
<ul>
|
|
|
|
<li> Agendar uma visita no turno da manhã. </li>
|
|
|
|
<li> Agendar uma visita no turno da tarde. </li>
|
|
|
|
</ul>
|
|
|
|
</details>
|
|
|
|
|
|
|
|
|
|
|
|
<details>
|
|
|
|
<summary>
|
|
|
|
4. Como um usuário do site, eu gostaria que o sistema avaliasse os dados do agendamento para garantir que todas as informações necessárias sejam fornecidas corretamente.
|
|
|
|
<br>
|
|
|
|
Critérios de aceitação:
|
|
|
|
</summary>
|
|
|
|
|
|
|
|
<ul>
|
|
|
|
<li> O site deve validar se todos os campos obrigatórios estão preenchidos corretamente. </li>
|
|
|
|
<li> O site deve exibir uma mensagem de erro clara caso algum campo seja preenchido incorretamente ou esteja faltando. </li>
|
|
|
|
<li> O site deve impedir que o formulário seja enviado até que todas as informações necessárias sejam fornecidas corretamente. </li>
|
|
|
|
<li> O backend deve verificar se todos os campos obrigatórios foram preenchidos corretamente. </li>
|
|
|
|
<li> O backend deve rejeitar agendamentos com informações inválidas ou incompletas e informar ao usuário o motivo da rejeição. </li>
|
|
|
|
</ul>
|
|
|
|
</details>
|
|
|
|
|
|
|
|
|
|
|
|
<details>
|
|
|
|
<summary>
|
|
|
|
5. Como secretário do museu, eu gostaria que a interface fosse restrita apenas a usuários autorizados, para que apenas usuários credenciados possam ver os agendamentos.
|
|
|
|
<br>
|
|
|
|
Critérios de aceitação:
|
|
|
|
</summary>
|
|
|
|
|
|
|
|
<ul>
|
|
|
|
<li> A interface do sistema administrativo deve ser protegida por autenticação e autorização. </li>
|
|
|
|
<li> Somente usuários com as permissões adequadas devem ter acesso à interface do sistema administrativo.</li>
|
|
|
|
</ul>
|
|
|
|
</details>
|
|
|
|
|
|
|
|
|
|
|
|
<details>
|
|
|
|
<summary>
|
|
|
|
6. Como Secretário do museu, gostaria de poder confirmar os agendamento, para ter controle dos agendamentos.
|
|
|
|
<br>
|
|
|
|
Critérios de aceitação:
|
|
|
|
</summary>
|
|
|
|
|
|
|
|
<ul>
|
|
|
|
<li> Aceitar uma solicitação de agendamento. </li>
|
|
|
|
<li> A escola receber o email de confirmação do agendamento. </li>
|
|
|
|
</ul>
|
|
|
|
</details>
|
|
|
|
|
|
|
|
|
|
|
|
<details>
|
|
|
|
<summary>
|
|
|
|
7. Como secretário do museu, eu gostaria de poder visualizar todos os agendamentos.
|
|
|
|
<br>
|
|
|
|
Critérios de aceitação:
|
|
|
|
</summary>
|
|
|
|
|
|
|
|
<ul>
|
|
|
|
<li> O sistema administrativo deve exibir uma lista de todos os agendamentos em ordem cronológica. </li>
|
|
|
|
<li> O sistema administrativo deve exibir informações importantes sobre cada agendamento, como a escola, a data, o turno e o número de pessoas. </li>
|
|
|
|
</ul>
|
|
|
|
</details>
|
|
|
|
|
|
|
|
|
|
|
|
<details>
|
|
|
|
<summary>
|
|
|
|
8. Como Secretário do museu, eu gostaria de poder visualizar todos os agendamentos de uma escola específica para facilitar a localização de informações específicas.
|
|
|
|
<br>
|
|
|
|
Critérios de aceitação:
|
|
|
|
</summary>
|
|
|
|
|
|
|
|
<ul>
|
|
|
|
<li> O sistema administrativo deve permitir a seleção de uma escola específica para filtrar os agendamentos. </li>
|
|
|
|
<li> O sistema administrativo deve exibir somente os agendamentos da escola selecionada. </li>
|
|
|
|
</ul>
|
|
|
|
</details>
|
|
|
|
|
|
|
|
|
|
|
|
<details>
|
|
|
|
<summary>
|
|
|
|
9. Como um Secretário do museu, eu gostaria de poder alterar a quantidade de pessoas permitidas por dia para gerenciar o fluxo de visitantes.
|
|
|
|
<br>
|
|
|
|
Critérios de aceitação:
|
|
|
|
</summary>
|
|
|
|
|
|
|
|
<ul>
|
|
|
|
<li> O sistema administrativo deve permitir a configuração da quantidade máxima de pessoas que podem visitar o museu em um único dia. </li>
|
|
|
|
<li> Os dados do sistema administrativo devem refletir no formulário. </li>
|
|
|
|
</ul>
|
|
|
|
</details>
|
|
|
|
|
|
|
|
|
|
|
|
<details>
|
|
|
|
<summary>
|
|
|
|
10. Como secretário do museu, eu gostaria de poder alterar os dias de funcionamento do museu para que as informações sobre disponibilidade sejam sempre atualizadas.
|
|
|
|
<br>
|
|
|
|
Critérios de aceitação:
|
|
|
|
</summary>
|
|
|
|
|
|
|
|
<ul>
|
|
|
|
<li> O sistema administrativo deve permitir a definição dos dias e horários de funcionamento do museu.</li>
|
|
|
|
<li> O sistema administrativo deve impedir que as escolas agendem visitas em dias em que o museu não estará aberto. </li>
|
|
|
|
</ul>
|
|
|
|
</details>
|
|
|
|
|
|
|
|
|
|
|
|
<details>
|
|
|
|
<summary>
|
|
|
|
11. Como secretário do museu, eu gostaria de clicar no card de um agendamento para visualizar todos os dados existentes.
|
|
|
|
<br>
|
|
|
|
Critérios de aceitação:
|
|
|
|
</summary>
|
|
|
|
|
|
|
|
<ul>
|
|
|
|
<li> O sistema administrativo deve permitir selecionar um agendamento na tela de lista de agendamentos.</li>
|
|
|
|
<li> O sistema administrativo deve permitir a visualização completa das informações de cada agendamento. </li>
|
|
|
|
</ul>
|
|
|
|
</details>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Requisitos
|
|
## Requisitos
|
|
|
|
|
|
|
|
### Formulário:
|
|
|
|
|
|
|
|
1. O formulário deve permitir que uma escola possa efetuar um agendamento.
|
|
|
|
|
|
|
|
<details>
|
|
|
|
<summary> 2. O formulário deve refletir as alterações do backend: </summary>
|
|
|
|
<ul>
|
|
|
|
<li> Pessoas por dias </li>
|
|
|
|
<li> Dias que o museu não abre </li>
|
|
|
|
</ul>
|
|
|
|
</details>
|
|
|
|
|
|
|
|
<details>
|
|
|
|
<summary> 3. O formulário deve validar os dados de agendamento: </summary>
|
|
|
|
<ul>
|
|
|
|
<li> CNPJ da escola </li>
|
|
|
|
<li> CPF do responsável </li>
|
|
|
|
<li> Telefone da escola e responsável </li>
|
|
|
|
</ul>
|
|
|
|
</details>
|
|
|
|
|
|
|
|
<details>
|
|
|
|
<summary> 4. O formulário deve permitir que a escola digite os dados da escola: </summary>
|
|
|
|
<ul>
|
|
|
|
<li> Nome da instituição </li>
|
|
|
|
<li> CNPJ </li>
|
|
|
|
<li> Endereço </li>
|
|
|
|
<li> Número </li>
|
|
|
|
<li> CEP </li>
|
|
|
|
<li> Bairro </li>
|
|
|
|
<li> Cidade </li>
|
|
|
|
<li> Estado </li>
|
|
|
|
<li> País </li>
|
|
|
|
<li> Telefone </li>
|
|
|
|
<li> E-mail da instituição </li>
|
|
|
|
</ul>
|
|
|
|
</details>
|
|
|
|
|
|
|
|
<details>
|
|
|
|
<summary> 5. O formulário deve permitir que a escola digite os dados do responsável: </summary>
|
|
|
|
<ul>
|
|
|
|
<li> Nome do responsável </li>
|
|
|
|
<li> CPF </li>
|
|
|
|
<li> Telefone </li>
|
|
|
|
<li> E-mail </li>
|
|
|
|
</ul>
|
|
|
|
</details>
|
|
|
|
|
|
|
|
<details>
|
|
|
|
<summary> 6. O formulário deve permitir que a escola digite os dados da visita: </summary>
|
|
|
|
<ul>
|
|
|
|
<li> Data de preferência </li>
|
|
|
|
<li> Número de visitantes </li>
|
|
|
|
<li> Turno </li>
|
|
|
|
</ul>
|
|
|
|
</details>
|
|
|
|
|
|
|
|
<details>
|
|
|
|
<summary> 7. O formulário deve ter uma notificação visível que o agendamento foi confirmado: </summary>
|
|
|
|
<ul>
|
|
|
|
<li> Texto com instruções sobre a confirmação do agendamento </li>
|
|
|
|
<li> Data da visita </li>
|
|
|
|
<li> Turno </li>
|
|
|
|
<li> Número de alunos </li>
|
|
|
|
<li> Número de responsáveis </li>
|
|
|
|
<li> Opção para realizar novo agendamento que leva para a página inicial de agendamentos </li>
|
|
|
|
<li> Opção de finalizar que fecha a aba do navegador </li>
|
|
|
|
</ul>
|
|
|
|
</details>
|
|
|
|
|
|
|
|
<br>
|
|
|
|
|
|
|
|
### Backend:
|
|
|
|
|
|
|
|
<details>
|
|
|
|
<summary> 1. O sistema deve validar os dados de agendamento: </summary>
|
|
|
|
<ul>
|
|
|
|
<li> CNPJ da escola </li>
|
|
|
|
<li> CPF do responsável </li>
|
|
|
|
<li> Telefone da escola e responsável </li>
|
|
|
|
</ul>
|
|
|
|
</details>
|
|
|
|
|
|
|
|
2. O sistema deve armazenar os dados das escolas que solicitarem agendamento.
|
|
|
|
|
|
|
|
<details>
|
|
|
|
<summary> 3. O sistema deve permitir visualizar os agendamentos: </summary>
|
|
|
|
<ul>
|
|
|
|
<li> Nome da escola </li>
|
|
|
|
<li> Data </li>
|
|
|
|
<li> Turno </li>
|
|
|
|
<li> Número de alunos </li>
|
|
|
|
</ul>
|
|
|
|
</details>
|
|
|
|
|
|
|
|
4. O sistema deve permitir filtrar os agendamentos por escola.
|
|
|
|
|
|
|
|
5. O sistema deve permitir alterar a quantidade de pessoas por dia.
|
|
|
|
|
|
|
|
6. O sistema deve permitir alterar os dias de funcionamento do museu.
|
|
|
|
|
|
|
|
7. O sistema deve enviar email de confirmação à escola.
|
|
|
|
|
|
|
|
<details>
|
|
|
|
<summary> 8. O sistema deve entregar os dados de um agendamento. </summary>
|
|
|
|
<ul>
|
|
|
|
<li> Requisição que entrega dados para Gedit. </li>
|
|
|
|
</ul>
|
|
|
|
</details>
|
|
|
|
|
|
|
|
<br>
|
|
|
|
|
|
|
|
### Administração:
|
|
|
|
|
|
|
|
1. A interface deve ser protegida por uma autenticação de email e senha.
|
|
|
|
|
|
|
|
<details>
|
|
|
|
<summary> 2. A interface deve permitir visualizar os agendamentos: </summary>
|
|
|
|
<ul>
|
|
|
|
<li> Nome da escola </li>
|
|
|
|
<li> Data </li>
|
|
|
|
<li> Turno </li>
|
|
|
|
<li> Número de alunos </li>
|
|
|
|
<li> Número de responsáveis </li>
|
|
|
|
</ul>
|
|
|
|
</details>
|
|
|
|
|
|
|
|
<details>
|
|
|
|
<summary> 3. A interface deve permitir visualizar todos os agendamentos de uma escola e para cada agendamento mostrar: </summary>
|
|
|
|
<ul>
|
|
|
|
<li> Data </li>
|
|
|
|
<li> Turno </li>
|
|
|
|
<li> Número de alunos </li>
|
|
|
|
</ul>
|
|
|
|
</details>
|
|
|
|
|
|
|
|
<details>
|
|
|
|
<summary> 4. A interface deve permitir alterar a quantidade de pessoas por dia: </summary>
|
|
|
|
<ul>
|
|
|
|
<li> Alterar valores em um calendário. </li>
|
|
|
|
<li> Número máximo permitido por data 2000 (limite não bloqueante) </li>
|
|
|
|
</ul>
|
|
|
|
</details>
|
|
|
|
|
|
|
|
<details>
|
|
|
|
<summary> 5. A interface deve permitir alterar os dias de funcionamento do museu: </summary>
|
|
|
|
<ul>
|
|
|
|
<li> Habilitar e desabilitar um dia em um calendário </li>
|
|
|
|
</ul>
|
|
|
|
</details> |