Especificação do Projeto

A disciplina de Desenvolvimento Web tem como objetivo principal proporcionar aos alunos uma compreensão prática do desenvolvimento de aplicações Web. Dada a ampla variedade de tópicos na disciplina, não é viável abordar todos os detalhes em exercícios isolados. No entanto, por meio de um projeto, os alunos têm a oportunidade de aplicar os conceitos aprendidos em sala de aula, bem como explorar conteúdos adicionais. O projeto final é, portanto, uma atividade obrigatória para todos os estudantes da disciplina, permitindo a criação de aplicações Web mais sólidas e robustas.

Definição do Tema

O tema do projeto é livre! No entanto, é necessário criar um sistema Web relacionado aos assuntos do seu curso, que ainda são executados de modo manual, ou em ambiente Command Line Interface (CLI) e Desktop.

Por exemplo, rotinas administrativas são comuns para um profissional de redes de computadores. Muitas vezes, procedimentos como verificar a disponibilidade de um servidor são realizadas manualmente no terminal. No entanto, essa ação poderia ser automatizada em um sistema Web com apenas alguns cliques. Essa abordagem já é uma realidade em algumas aplicações de administração de sistemas no mercado, como o Prometheus (Grafana), o Webmin, o Zabbix ou o Nagios.

Uma outra opção interessante é a analise e gerenciamento de recursos como:

Além disso, você pode se inspirar nos projetos dos outros períodos (consulte ifpb/projects), explorar os Padlet dos outros períodos da disciplina (project-dw-ano-semestre) ou até mesmo buscar clientes para resolver problemas reais.

No que diz respeito ao escopo do projeto, os membros da equipe serão responsáveis por definir o domínio de negócio, o layout, as funcionalidades e a navegabilidade.

Apresentação do Tema

Para a escolha do tema, sugiro que se formem equipes com no máximo três integrantes para a definição inicial do projeto. Após a escolha do tema, todos os projetos devem declarar suas propostas no Padlet dos projetos deste período, seguindo o formato de card a seguir:

Conteúdo do Card
Título/Tema do Projeto

Descrição: Resumidamente descreva a ideia central do seu projeto

Equipe:
- Nome do Aluno 1 (matricula, github, linkedin)
- Nome do Aluno 2 (matricula, github, linkedin)
- Nome do Aluno 3 (matricula, github, linkedin)

Proposta:
http://link-da-apresentação-da-proposta

Protótipo:
http://link-do-protótipo

Repositório:
http://github.com/link-do-repositorio
Conteúdo do Card
Título/Tema do Projeto

Descrição: Resumidamente descreva a ideia central do seu projeto

Equipe:
- Nome do Aluno 1 (matricula, github, linkedin)
- Nome do Aluno 2 (matricula, github, linkedin)
- Nome do Aluno 3 (matricula, github, linkedin)

Proposta:
http://link-da-apresentação-da-proposta

Protótipo:
http://link-do-protótipo

Repositório:
http://github.com/link-do-repositorio

A declaração de informações no Padlet deve ser feita por apenas um dos integrantes da equipe. Além disso, para permitir modificações futuras, é necessário possuir uma conta no Padlet. É importante destacar que a ordem de apresentação dos projetos será definida pela sequência dos cards. Portanto, o primeiro card será o primeiro da fila de apresentação.

Obs: É muito importante que você deixe o card do projeto sempre atualizado com suas informações.

Após a definição do tema, será exigida uma apresentação curta com duração máxima de 3 minutos, semelhante a um pitch. Essa apresentação deve abordar os seguintes pontos:

  1. Ideia e Objetivo Principal:
    • Explique a ideia central do projeto e seus principais objetivos.
    • Liste possíveis funcionalidades que serão desenvolvidas.
  2. Referências de Sistemas Existentes:
    • Apresente telas de sistemas já existentes que realizam algo semelhante ao que seu projeto propõe.
    • Lembre-se de que não é necessário reinventar a roda sempre.
  3. Esboços da Interface Final:
    • Crie esboços de tela que representem como a equipe visualiza a interface final do projeto.
    • Use rabiscos em papel ou ferramenta de prototipagem gráfica.
    • Certifique-se de que as interações do sistema e a navegabilidade estejam claras.

O Figma é uma excelente ferramenta gratuita para prototipagem. Se desejar ver um exemplo de uso, recomendo conferir o projeto Conectando estabelecimentos de beleza a clientes durante a quarentena com segurança.

Critérios de Avaliação

A definição dos critérios de avaliação será estruturada com base na organização e no uso dos recursos tecnológicos abordados na disciplina. Para simplificar, listarei os critérios de pontuação:

ItemEtapaRequisitos não funcionais
1Front-endCriar páginas Web estilizadas
2Front-endModularizar código com ESM e Vite.js
3Front-endCriar componentes dinâmicos
4Front-endUsar requisição assíncrona
5Back-endCriar back-end com Express.js
6Back-endManipulação de arquivo ou chamada de sistema no back-end
7Back-endIntegrar back-end e front-end
8Back-endCriar Banco de Dados com relacionamento
9Back-endIntegrar Express.js com Banco de Dados
10Back-endAutenticar usuário

A apresentação desses itens ocorrerá em duas etapas, e a pontuação será distribuída da seguinte forma para a Etapa I (Front-end):

ItemCritérios (%)Projeto 1Projeto 2Projeto n
125%
225%
325%
425%
Nota*

E para a Etapa II (Back-end), a pontuação será distribuída da seguinte forma:

ItemCritérios (%)Projeto 1Projeto 2Projeto n
520%
610%
710%
820%
920%
1020%
Nota*

(*) A soma de todos os itens será 100, mas também será analisada a organização e o funcionamento geral.

Cada etapa deverá ser apresentada oralmente de forma objetiva em sala por cada integrante do projeto, nas datas definidas pelo cronograma do curso. O projeto deve estar em funcionamento.

Para quem deseja dicas de apresentação de projetos, recomendo assistir os Demo Day do Le Wagon (A exemplo deste Demo Day em São Paulo). Além disso, uma boa prática é fazer a apresentação do sistema sem abordar detalhes técnicos, mas esteja preparado para responder a perguntas sobre arquiteturais da aplicação.

Em relação ao código, é fundamental que todos os artefatos estejam disponibilizados em um repositório de código aberto, como o GitHub. Certifique-se de que:

Além disso, é importante estar ciente das penalizações nos seguintes casos:

Por fim, leio com atenção essas diretrizes para garantir o sucesso do seu projeto! 😊

Editar esta página