Apresentando o Novo Site Alyonka.app
Tenho o prazer de anunciar o lançamento do novo site alyonka.app — uma plataforma interativa de aprendizagem de línguas e presença profissional online desenvolvida para Alyona Novikova, professora de inglês e português sedeada em Cascais e Lisboa, Portugal.
O que começou como uma simples ideia de flashcards evoluiu para uma aplicação web full-stack completa que combina exercícios educativos interativos (jogos de correspondência, palavras-cruzadas dinâmicas e questionários) com uma moderna página de apresentação e um sistema administrativo de criação de conteúdos.
O que é o Alyonka.app?
A plataforma cumpre dois objetivos principais:
- Página da Professora e Marcação de Aulas: Um espaço online para alunos que procuram aulas de inglês e português (online para todo o mundo ou presenciais em Lisboa e Cascais). Dispõe de suporte multilingue (inglês, português, russo, ucraniano, alemão, francês), pormenores pedagógicos, testemunhos e opções de contacto direto.
- Motor de Exercícios Interativos: Um ambiente de prática gamificado onde os alunos podem reforçar vocabulário, gramática e compreensão auditiva através de exercícios dinâmicos.
Funcionalidades de Aprendizagem Interativa
1. Jogos de Correspondência (Match-Up)
O leitor Match-Up permite aos alunos associar palavras, frases, definições e imagens. Inclui animações suaves, acompanhamento de progresso e confetes ao concluir com sucesso.
2. Palavras-Cruzadas Procedurais
A plataforma inclui um gerador automático de palavras-cruzadas que dispõe palavras e pistas numa grelha ideal interligada. O leitor interativo oferece:
- Navegação por teclado e ecrãs táteis
- Pistas e explicações detalhadas para cada termo
- Temas visuais personalizados
- Validação imediata e verificação de respostas
3. Questionários Interativos (Quizzes)
Suporte para perguntas de escolha única e múltipla, explicações enriquecidas e resumos detalhados de pontuação.
4. Catálogo de Exercícios com Pesquisa
Os alunos podem pesquisar e filtrar exercícios por título, categoria, etiquetas e nível de idioma.
Stack Tecnológico e Arquitetura
| Camada | Tecnologia |
|---|---|
| Framework Frontend | SvelteKit 2 + Svelte 5 (Runes) |
| Estilos | Tailwind CSS v4 |
| Backend e SSR | SvelteKit (@sveltejs/adapter-node) |
| Base de Dados | PostgreSQL + Kysely (Construtor de consultas tipado) |
| Autenticação | Better Auth (@better-auth/kysely-adapter) |
| Processamento de Imagens | Sharp (otimização e conversão WebP) |
| Testes | Vitest + Testcontainers (PostgreSQL) |
| Implementação | Docker e Docker Compose |
| Observabilidade | Pino structured logger + métricas Prometheus |
Destaques de Engenharia
Runas do Svelte 5 para Gestão de Estado
Os leitores de exercícios tiram partido do novo modelo de reatividade do Svelte 5 com runas ($state, $derived, $props). Isto torna a gestão de estados complexos (posições de cursor nas palavras-cruzadas, histórico de seleções, temporizadores) limpa e direta.
Camada de Dados Tipada com Kysely
Todas as operações de base de dados são estritamente tipadas. As migrações são executadas via scripts TypeScript e os testes de integração utilizam o Testcontainers para instanciar bases de dados PostgreSQL isoladas.
Otimização Automática de Imagens
Ao carregar imagens ou gerar ilustrações com IA, os ficheiros são automaticamente redimensionados e convertidos para o formato WebP através do Sharp.
Ligações do Projeto
- Site Principal: https://alyonka.app
- Catálogo de Exercícios: https://alyonka.app/exercises
- Marcar Aulas / Contacto: https://alyonka.app/#contact