Skip to content
Flávio Silva edited this page Oct 8, 2026 · 2 revisions

Quiz

Introdução

A Quiz é um projeto pessoal de Front-End desenvolvido com o objetivo de criar uma plataforma de quizzes moderna, simples e intuitiva, permitindo aos utilizadores descobrir, realizar e acompanhar o seu desempenho em diferentes quizzes.

O projeto serve também como projeto principal de portfólio, permitindo demonstrar competências de Front-End, arquitetura, desenvolvimento de produto e gestão de projeto através da construção e evolução de uma aplicação real.

A plataforma será desenvolvida de forma incremental, começando por uma versão simples e funcional e evoluindo progressivamente com novas funcionalidades e maior complexidade.


Objetivo

O principal objetivo é criar uma experiência de utilização simples e agradável para quem quer testar os seus conhecimentos através de quizzes.

Ao mesmo tempo, o projeto pretende demonstrar a capacidade de:

  • Transformar uma ideia num produto funcional;
  • Definir e priorizar funcionalidades;
  • Criar uma arquitetura Front-End escalável;
  • Desenvolver uma aplicação responsiva e acessível;
  • Integrar e gerir dados através de uma API;
  • Implementar testes e processos de qualidade;
  • Evoluir o produto de forma incremental;
  • Criar um projeto de Back-End.

O que a aplicação permitirá fazer

Na primeira versão, o utilizador poderá:

  • Explorar os quizzes disponíveis;
  • Consultar informação sobre cada quiz;
  • Iniciar um quiz;
  • Responder a perguntas de escolha múltipla;
  • Acompanhar o progresso durante o quiz;
  • Utilizar um temporizador;
  • Terminar o quiz e consultar o resultado;
  • Consultar o seu desempenho;
  • Repetir quizzes;
  • Alternar entre Português e Inglês;
  • Alternar entre tema claro e escuro.

A experiência será pensada para funcionar tanto em desktop como em dispositivos móveis.


Evolução do produto

O projeto será desenvolvido por fases, evitando tentar implementar todas as funcionalidades desde o início.

Fase 1 — MVP

O primeiro objetivo será disponibilizar uma experiência completa de realização de quizzes:

Explorar → Escolher quiz → Responder → Terminar → Ver resultado

Os dados serão inicialmente disponibilizados através de uma API local simulada com JSON Server, permitindo desenvolver e testar a integração com uma API sem depender de um backend real.

Fase 2 — Experiência e qualidade

Depois do MVP, o foco será melhorar a experiência:

  • Melhorar feedback durante o quiz;
  • Histórico de resultados;
  • Estatísticas;
  • Melhorias de acessibilidade;
  • Animações e microinterações;
  • Melhor tratamento de loading, erros e estados vazios;
  • Melhorias de responsive design.

Fase 3 — Backend

Numa fase posterior, o JSON Server poderá ser substituído por um backend real.

A aplicação deverá conseguir fazer essa transição sem uma reestruturação significativa do Front-End.

O backend poderá posteriormente suportar:

  • Utilizadores;
  • Autenticação;
  • Resultados;
  • Histórico;
  • Quizzes;
  • Perguntas;
  • Categorias;
  • Rankings.

Fase 4 — Criação e gestão de quizzes

Uma evolução natural será permitir que utilizadores autorizados possam criar e gerir os seus próprios quizzes.

Será possível:

  • Criar quizzes;
  • Adicionar perguntas;
  • Definir respostas;
  • Editar quizzes;
  • Publicar/despublicar quizzes;
  • Gerir categorias e dificuldade.

Fase 5 — Social / Gamification

Dependendo da evolução do produto, poderão ser exploradas funcionalidades como:

  • Leaderboards;
  • Rankings;
  • Desafios;
  • Partilha de resultados;
  • Conquistas;
  • Streaks;
  • Quizzes entre amigos.

Estas funcionalidades não fazem parte do MVP e serão avaliadas posteriormente de acordo com o valor que acrescentem à experiência.


Internacionalização

A aplicação será desenvolvida desde o início com suporte para Português e Inglês.

A internacionalização não será apenas uma tradução posterior da interface, mas uma preocupação desde o início do desenvolvimento, incluindo:

  • Textos da interface;
  • Mensagens de erro;
  • Estados da aplicação;
  • Resultados;
  • Formulários;
  • Conteúdo dependente do idioma.

Theming e Design

A aplicação terá suporte para Light Mode e Dark Mode, utilizando um sistema de temas consistente.

Será também criado um pequeno sistema de componentes reutilizáveis, permitindo manter uma experiência visual consistente ao longo da aplicação.


Qualidade

A qualidade será considerada parte do desenvolvimento e não apenas uma etapa final.

O projeto terá:

  • Testes unitários e de componentes;
  • Testes de integração quando necessário;
  • Testes End-to-End para os principais fluxos (futuramente);
  • Validação de acessibilidade;
  • Linting e formatação automática;
  • Continuous Integration;
  • Deploy automático.

Desenvolvimento do projeto

O projeto será gerido como um produto em evolução, utilizando o GitHub para:

  • Gestão do backlog;
  • Issues;
  • Planeamento;
  • Pull Requests;
  • Code reviews;
  • Releases;
  • Documentação.

As decisões relevantes de produto e técnicas serão documentadas na Github Wiki.

O objetivo não é apenas chegar a uma aplicação funcional, mas demonstrar todo o processo, desde a ideia até à entrega e evolução do produto.


Visão futura

A visão a longo prazo é transformar a Quiz Platform numa aplicação completa onde os utilizadores possam descobrir, jogar, acompanhar o seu progresso e criar os seus próprios quizzes, com uma experiência simples, rápida e consistente em diferentes dispositivos.

O produto deverá evoluir de forma incremental, permitindo validar cada etapa antes de introduzir novas funcionalidades e complexidade.