Sobre | Equipe | Tecnologias | Backlogs | User Stories | Protótipo |
Devido o alto volume de informações trocadas via e-mail, devido a pandemia do covid-19, fazendo com que muitas informações importantes passassem a ser recebidas/lidas fora do seu tempo apropriado, diante desse cenário, faz-se necessário o desenvolvimento de uma aplicação capaz de divulgar de forma controlada e seletiva os avisos gerais ou específicos dos cursos da Fatec para docentes ou discentes.
Integrantes da Equipe | Função | Github | |
---|---|---|---|
Fabricio Cesar Maciel Henriques | PO | Github | |
Rafael Peressoni Waltrick | SM | Github | |
Mary Ellen Rodrigues | DT | Github | |
Natalia Bessa de Moura | DT | Github | |
Nicolas Lima de Holanda Galindo | DT | Github | |
Raniel Francisco Santos de Paula | DT | Github | |
Rodrigo Ribeiro dos Santos | DT | Github |
PO - Product Owner
SM - Scrum Master
DT - Developers Team
Abaixo uma cópia dos requisitos propostos para o desenvolvimento do API para o semestre corrente.
Requisitos Funcionais | Funcionalidades Solicitadas Conforme Proposta do Projeto |
---|---|
RF #01 | Envio de informações para divulgação via sistema |
RF #02 | Possibilidade de anexar documentos (e.g.: PDFs, Docs, etc). |
RF #03 | Visualização de informações de divulgação via sistema de modo seletivo (filtro por data, interessados, curso, etc.). |
RF #04 | Acesso às informações do sistema através de perfis de usuário/papeis (adm, usuário comum, coordenador de curso, etc.) |
|
Requisitos Não Funcionais | Funcionalidades Solicitadas Conforme Proposta do Projeto |
---|---|
RNF #01 | Desenvolver o back end com a linguagem Python 3+ e o microframework Flask. |
RNF #02 | Utilizar o sistema gerenciador de banco de dados MariaDB/MySQL/PostGresSQL. |
RNF #03 | Utilizar HTML 5 para arquitetura da informação da aplicação. |
RNF #04 | Utilizar CSS 3 para especificação do layout e demais características de renderização da interface com o usuário. |
RNF #05 | Utilizar o GitHub para controle de versão dos artefatos de projeto. |
RNF #06 | Interface com navegação intuitiva (e.g. acesso à informação com poucos “cliques”). |
RNF #07 | Sistema responsivo. |
RNF #08 | Utilizar JavaScript no front end (obs: pode fazer uso de frameworks). |
O Product Backlog esta sendo desenvolvido conforme a demanda, considerando as funcionalidades solicitadas e a priorização requeridas pelo cliente, podendo haver mudanças na priorização ao longo do desenvolvimento do projeto, seja por fatores técnicos ou solicitação do cliente.
Item | Descrição | Como |
---|---|---|
01 | Protótipo Navegável | Criação dos modelos de telas e navegabilidade |
02 | FrontEnd | Funcionalidades para botões, checkbox, filtros, elementos visuais |
03 | BackEnd | Habilitação dos filtros, recebimento de mensagens, permisões de envio, cadastro usuários |
04 | Teste Funcionais | Testes com usuários |
Abaixo relacionamos o backlog da Sprint 1
Item | Descrição | Como |
---|---|---|
01 | Organização da equipe | Distribuição tarefas |
02 | Levantamento de Requisitos | Perguntas ao P2 |
03 | Wireframe | Desenvolvimento com o Figma |
04 | Protótipo Navegável | Construção em HTML + CSS |
05 | Organização do repositório | Criação e organização pastas GitHub |
Backlog da Sprint 2
Item | Descrição | Como |
---|---|---|
01 | Organização da equipe | Distribuição tarefas |
02 | Levantamento de Requisitos | Perguntas ao P2 |
03 | Layout Responsivo | Ajustes nos Códigos do HTML e CSS |
04 | Protótipo Navegável | Implementação com Flask e Python |
05 | Banco de Dados | Implementação Inicial com MySQl |
Backlog da Sprint 3
Item | Descrição | Como |
---|---|---|
01 | Organização da equipe | Distribuição tarefas |
02 | Levantamento de Requisitos | Perguntas ao P2 |
03 | Cadastro de Usuários | Ajustes em alguns campos de cadastro |
04 | Recebimento de Mensagens | Organização do layout de visualização |
05 | Construção de elementos de filtro e pesquisa | Implementação da função pesquisar e tela |
Backlog da Sprint 4
Item | Descrição | Como |
---|---|---|
01 | Função Anexar | Implementação da função Anexar arquivos |
02 | Filtro | Implementação do filtro de mensagens |
03 | Definição de Hierarquia | Hierarquia por permissões |
04 | Teste de Usabilidade | Teste de cadastros,postagens e pesquisa |
05 | Criação da tela admin e suas funções | Tela de gerenciamento do admin e funções |
Após a primeira rodada de análise de requisitos do Cliente P2, segue proposta de interface gráfica do protótipo navegável, contendo :
- Layout de páginas : Home, Login, Cadastro, Tela Cheia e Tela de Visualização.:heavy_check_mark:
- Código HTML das páginas.:heavy_check_mark:
- Código CSS.:heavy_check_mark:
- Botões habilitados para navegação via hiperlink.:heavy_check_mark:
- Sugestões de checkbox, filtros, campo de pesquisa.:heavy_check_mark:
De acordo com o primeiro Feedback, realizamos os seguintes incrementos, baseados no requisitos do cliente e na ordem de prioridades
- Páginas com código Phyton e Flask.:heavy_check_mark:
- 50% das páginas responsivas ✔️
- Melhoria no design dos elementos de tela ✔️
- Alguns elementos já habilitados, como botões, checkbox. ✔️
- Implementação da aplicação no Servidor Azure ✔️
Já para a Sprint 3, estamos planejando a entregas das funcionalidades abaixo:
- Cadastro dos usuários ✔️
- Recebimento de mensagens e organização de visualização ✔️
- Construção dos elementos de filtros e pesquisa ✔️
- Criação da Tela de Pesquisa ✔️
Na Sprint 4, pretendemos fazer os ultimos ajustes e implementações e entrar na fase de testes do software e enviar para aprovação ao cliente
- Implementação da função Anexar ✔️
- Implementação final dos filtros ✔️
- Definição de hierarquia de permissões ✔️
- Criação de tela Admin e suas funções ✔️
- Teste de usabilidade ✔️
Abaixo segue User Story que levantamos até o momento com base nas perguntas e respostas com o cliente P2.
User Story | Quem | O que | Para |
---|---|---|---|
#01 | Cliente P2 | Protótipo navegável | Visualização da interface de cadastro e das informações a serem divulgadas. |
#02 | Cliente P2 | Funcionalidades do sistema | Visualizar informações, postar informações, etc. |
#03 | Cliente P2 | Cadastro Usuário | O adm pode cadastrar os usuários ou estes podem se cadastrar utilizando dados do SIGA (a definir). |
#04 | Cliente P2 | Validação do Cadastro | Que a verificação partisse por parte de outro sistema que tenha acesso aos dados da faculdade. |
#05 | Cliente P2 | Acesso a usuario comum | Visualizar informações, filtrar, marcar como lidas/excluir. |
#06 | Cliente P2 | Diferença de acessos | Capacidade de postar ou não uma informação destinada a uma categoria de usuários. |
#07 | Cliente P2 | Funcionalidades | Cada categoria de usuário tivessem determinadas funcionalidades dentro do sistema |
Para acessar no navegador, acesse: http://13.82.228.75:5000/ ou se preferir, instale a aplicação seguindo o tutorial abaixo:
OBS: Para conectar a base dados, será necessário algumas alterações no MySQL Workbench:
user: root
definir o host como: localhost
definir a senha como : fatec2021
Crie uma pasta e realize um clone do repositório
git clone https://github.com/marynhaSjc/API-Gfour---Fatec-SJC.git
Abra sua IDE e crie o ambiente virtual Python:
python3 -m venv env
Entrar no diretório e ativar o ambiente virtual
cd venv/Scripts/activate
Voltar no diretório do programa
c:\API-Gfour---Fatec-SJC\
Atualizar o pip
c:\API-Gfour---Fatec-SJC\python.exe -m pip install --upgrade pip
Executar o seguinte comando para instalar as dependências necessárias.
c:\API-Gfour---Fatec-SJC\pip install -r requirements.txt
Rodar a aplicação
c:\API-Gfour---Fatec-SJC\python app.py
Para criar o usuário "Admin" no primeiro uso:
http://127.0.0.1:5000/create
Por Padrão:
Usuário: Admin
Senha: fatec2021
Antes de realmente desenvolver o projeto, foi idealizado um layout pela equipe com base em perguntas feitas ao cliente, foi criado um protótipo em HTML, CSS (que possibilitava algumas interações na interface).