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:
- Status do computados (disco, memória, cpu, etc)
- Escalonamento de Tarefas (cron)
- Samba ou NFS
- Cotas de Disco
- DNS
- DHCP
- SNMP
- Firewall
- Arquivos de log
- Roteamento
- Microcontrolador
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:
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
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:
- Ideia e Objetivo Principal:
- Explique a ideia central do projeto e seus principais objetivos.
- Liste possíveis funcionalidades que serão desenvolvidas.
- 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.
- 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:
Item | Etapa | Requisitos não funcionais |
---|---|---|
1 | Front-end | Criar páginas Web estilizadas |
2 | Front-end | Modularizar código com ESM e Vite.js |
3 | Front-end | Criar componentes dinâmicos |
4 | Front-end | Usar requisição assíncrona |
5 | Back-end | Criar back-end com Express.js |
6 | Back-end | Manipulação de arquivo ou chamada de sistema no back-end |
7 | Back-end | Integrar back-end e front-end |
8 | Back-end | Criar Banco de Dados com relacionamento |
9 | Back-end | Integrar Express.js com Banco de Dados |
10 | Back-end | Autenticar 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):
Item | Critérios (%) | Projeto 1 | Projeto 2 | … | Projeto n |
---|---|---|---|---|---|
1 | 25% | ||||
2 | 25% | ||||
3 | 25% | ||||
4 | 25% | ||||
Nota* |
E para a Etapa II (Back-end), a pontuação será distribuída da seguinte forma:
Item | Critérios (%) | Projeto 1 | Projeto 2 | … | Projeto n |
---|---|---|---|---|---|
5 | 20% | ||||
6 | 10% | ||||
7 | 10% | ||||
8 | 20% | ||||
9 | 20% | ||||
10 | 20% | ||||
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:
- Na raiz do repositório, exista um arquivo
README.md
contendo possivelmente:Descrição do projeto
Telas do sistema
Descrição das funcionalidades do projeto
Instruções de instalação
Informações de contato
- Organize bem os arquivos e diretórios dentro do repositório.
- Adicione comentários aos arquivos sempre que possível para garantir boa legibilidade do código.
Além disso, é importante estar ciente das penalizações nos seguintes casos:
- Não seja apresentado na data marcada;
- Não enviar o projeto com o material exigido na data estipulada.
- Ultrapassar o prazo definido para a apresentação.
- Falta de usabilidade do sistema;
- Falta de domínio do projeto.
Por fim, leio com atenção essas diretrizes para garantir o sucesso do seu projeto! 😊