Skip to content

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:

  1. O uso de alguma tecnologia web deve ser central para o projeto;
  2. O resultado do projeto deve ser público (o código fonte não precisa ser público):
  3. 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.
  4. Neste projeto vocês devem utilizar o quadro de tarefas do GitHub;
  5. 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

  1. 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).
  2. Escolha seu projeto;
  3. 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.
  4. 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;
  5. Crie o quadro de tarefas no repositório do projeto e já atribua os responsáveis pelas tarefas;
  6. 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.