Projeto 3: Livre
Entrega
12/11 (domingo)
Commits até as 23:59
Grupos de 3 ou 4 (Não é permitido realizar o projeto individualmente ou em dupla)
Entrega via Github Classroom
Github Classroom
Link do Github Classroom: Projeto 3
Caso grupo vá trabalhar com projeto frontend e backend separados, acesse o link a seguir: Projeto 3 - Frontend
Continuação do Projeto 2
Caso seu grupo vá continuar o desenvolvimento do projeto 2, você NÃO deve utilizar o repositório do projeto 2. Você deve copiar os arquivos do projeto 2 para o repositório do projeto 3.
O objetivo deste projeto é aplicar os conhecimentos de tecnologias web em algum projeto do seu interesse. Você pode desenvolver uma interface web interativa para alguma API, um web crawler/scrapper em conjunto com uma análise dos dados, um web service RESTful, enfim, o que você preferir, desde que o uso de alguma tecnologia web seja central para o projeto.
Importante
A sua proposta deve ser validada pelo professor antes de iniciar a implementação.
Preencha o formulário a seguir: Acesse o formulário
Apenas um integrante do grupo deve preencher o formulário.
Restrições
O tema deste projeto é aberto, mas ele possui algumas restrições:
- O uso de alguma tecnologia web deve ser central para o projeto;
- O resultado do projeto deve ser público (o código fonte não precisa ser público):
- Caso o projeto possua frontend desenhe um fluxo de tela de baixa fidelidade (desenho à mão) e adicione no repositório do projeto; Caso o seu projeto não tenha frontend, desenhe a arquiteura do projeto indicando quais tecnologias serão utilizadas e as principais funcionalidades do projeto.
- Neste projeto vocês devem utilizar o quadro de tarefas do GitHub;
- Vocês devem definir um cronograma, que deve ser apresentado no README do seu repositório. Este cronograma deve indicar o que é esperado ser entregue a cada sprint. No total teremos 3 sprints para o projeto.
- Sprint 1: 08/05 ~ 13/05
- Sprint 2: 15/05 ~ 20/05
- Sprint 3: 22/05 ~ 27/05
Sugestão: crie uma tasklist no README e vá marcando as tarefas conforme forem cumpridas (https://docs.github.com/en/github/managing-your-work-on-github/about-task-lists). Importante: seu cronograma deve ter entregas bem definidas para cada sprint. Elas podem (e devem?) ser atualizadas ao longo das sprints, mas é importante ter algum planejamento.
Roadmap pré-desenvolvimento
- Decida se o grupo será composto por 3 ou 4 integrantes. (Como este projeto terá avaliação de TeamWork não será possível fazer o projeto individualmente ou em dupla).
- Escolha seu projeto;
- Liste as funcionalidades essenciais:
- A quantidade de funcionalidades vai depender do tamanho do grupo e da dificuldade da dificuldade.
- Vamos classificar as dificuldades em 3 escalas: fácil, médio e difícil.
- Cada funcionalidade terá uma pontuação: (1) fácil, (1.5) médio e (2) difícil.
- Para grupos de 3 integrantes, a pontuação total da dificuldade deve alcançar 4 pontos. Ou seja, o grupo pode fazer 4 funcionalidades fáceis, 2 difíceis, 1 difícil e 2 fáceis, ou qualquer outra combinação de pelo menos 4 pontos.
- Para os grupos de 4 integrantes, a pontuação total da dificuldade deve alcançar pelo menos 5 pontos.
- A dificuldade deve ser validada com os professores.
- Alguns exemplos de funcionalidades fáceis:
- CRUD completo tanto no frontend quanto no backend;
- Alguns exemplos de funcionalidades médias:
- CRUD completo tanto no frontend quanto no backend utilizando componentes prontos ou frameworks css;
- Alguns exemplos de funcionalidades difíceis:
- Autenticação de usuário; (Cadastro e Login tanto no frontend quanto no backend)
- Funcionalidade que utiliza outra linguagem, ferramenta, framework não vistos em sala de aula.
- Defina e desenhe a arquitetura do projeto ou o fluxo de tela de baixa fidelidade (desenho à mão) e adicione no repositório do projeto;
- Crie o quadro de tarefas no repositório do projeto e já atribua os responsáveis pelas tarefas;
- Inicie as sprints de desenvolvimento.
Quadro de Tarefas
As duplas deverão ter um quadro de planejamento do projeto para documentar sua evolução.
Este quadro deve ter as colunas To Do
, Doing
e Done
.
Cada tarefa deve possuir um título, descrição, responsável, tamanho da camiseta (XS, S, M, L, XL), data de início e data de fim.
Crie seu quadro de tarefas no repositório do Github Classroom.
Para criar use os comandos;
Projects -> New Project -> selecione tipo "Team Planning"
- Nota limitada a C: Sem nenhum quadro de tarefas. Houve integrantes que não foram atrelados a nenhuma tarefa.
- Conceito B: Usaram o quadro de tarefa, toda tarefa passou pelo "To-Do", "Doing" e "Done". Há tarefas sem dimensionamento de tamanho de camiseta (XS, S, M, L, XL).
- Conceito A: Tarefas bem granulares (cada pequena atividade); Toda tarefa foi atribuída a um ou mais membros do time; Toda tarefa tem Start Date e End Date.
Commits
Todos os integrantes devem ter commits significativos no repositório do projeto. Caso a professora não encontre commits significativos de algum integrante, o conceito do projeto poderá ficar limita ao conceito C/D/I.
Pesos
Avaliação | Peso |
---|---|
Avaliação do Projeto | 80% |
Avaliação em Equipe | 20% |
Rubrica
Vídeo
Ao finalizer o projeto, grave um vídeo demosntrando todas as funcionalidades implementadas.
A rubrica a seguir será utilizada na correção do Projeto 3:
- Conceito I: Não entregou ou o código não executa.
- Conceito D: Entregou apenas 1 funcionalidade essencial (ou a funcionalidade difícil está incompleta).
- Conceito C:
- Entregou metade das funcionalidades essenciais
- OU não entregou o cronograma com as entregas bem definidas por semana
- OU não entregou o diagrama de arquitetura/fluxo de tela de baixa fidelidade
- OU não entregou um vídeo demo
- Conceito B:
- Entregou todas as funcionalidades prometidas
- E entregou o cronograma com entregas bem definidas
- E entregou o diagrama de arquitetura/fluxo de tela de baixa fidelidade
- E com um README completo documentando bem o projeto, incluindo instruções para rodar o código
- E entregou um vídeo com a demo do projeto
- Conceito A: Fez o deploy do projeto e adicionou o link no README do repositório principal. Superou as expectativas do conceito B (baseado no capricho da entrega final: repositório organizado, o resultado está público na internet, resultado bem acabado.
- Conceito A+: Implementou uma funcionalidade extra de nível médio/difícil.
Importante
Caso o aluno não tenha commits relevantes no repositório do projeto, o conceito será limitado a C.
Trabalho em Equipe
Os questionários de cada sprint devem ser respondidos entre quinta-feira e domingo. Questionários respondidos fora deste período serão considerados como não respondidos. Para cada questionário de avaliação não respondido, será descontado 1 conceito.
Acesse mais detalhes da avaliação em grupo: Teamwork
Conceito | Descrição |
---|---|
A | Não teve nenhuma avaliação abaixo do esperado. Ou teve uma avaliação abaixo do esperado, seguida de duas avaliações acima do esperado. |
B | Teve avaliação abaixo do esperado em 1 sprint. |
C | Teve avaliação abaixo do esperado em 2 sprints. |
D | Teve avaliação de desempenho abaixo do esperado em 3 sprints. |
I | Não respondeu nenhum questionário dentro do prazo. Ou grupo possui menos de 3 integrantes. Ou não possui nenhum contribuição significativa no projeto. |