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:

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
1Etapa IProgramação funcional
2Etapa ITratamento de Eventos
3Etapa IEstrutura com ESM
4Etapa IPacotes com ViteJS
5Etapa IPáginas dinâmicas com dados no LocalStorage
6Etapa IIRegexp
7Etapa IIRequisição Assíncrona
8Etapa IIBack-end com DBaaS (Supabase)
9Etapa IIComponentes ReactJS
10Etapa IIGerencia 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):

ItemCritérios (%)Projeto 1Projeto 2Projeto n
120%
220%
320%
420%
520%
Nota*

E para a Etapa II (Estilização com Biblioteca CSS), a pontuação será distribuída da seguinte forma:

ItemCritérios (%)Projeto 1Projeto 2Projeto n
620%
720%
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