Especificação do Projeto
A disciplina de Linguagem de Script tem como objetivo principal proporcionar aos alunos uma compreensão prática do desenvolvimento Front-end 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.
Apresentação do Tema
O tema do projeto é livre! Entretanto, você pode se inspirar nos projetos dos outros períodos (consulte ifpb/projects, explorar os Padlet dos outros períodos da disciplina (project-ls-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.
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 | Etapa I | Programação funcional |
2 | Etapa I | Tratamento de Eventos |
3 | Etapa I | Estrutura com ESM |
4 | Etapa I | Pacotes com ViteJS |
5 | Etapa I | Páginas dinâmicas com dados no LocalStorage |
6 | Etapa II | Regexp |
7 | Etapa II | Requisição Assíncrona |
8 | Etapa II | Back-end com DBaaS (Supabase) |
9 | Etapa II | Componentes ReactJS |
10 | Etapa II | Gerencia de estado entre Componentes |
A apresentação desses itens ocorrerá em duas etapas, e a pontuação será distribuída da seguinte forma para a Etapa I (Estilização manual):
Item | Critérios (%) | Projeto 1 | Projeto 2 | … | Projeto n |
---|---|---|---|---|---|
1 | 20% | ||||
2 | 20% | ||||
3 | 20% | ||||
4 | 20% | ||||
5 | 20% | ||||
Nota* |
E para a Etapa II (Estilização com Biblioteca CSS), a pontuação será distribuída da seguinte forma:
Item | Critérios (%) | Projeto 1 | Projeto 2 | … | Projeto n |
---|---|---|---|---|---|
6 | 20% | ||||
7 | 20% | ||||
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! 😊