Caso de Estudo // 03

Agregador de
Notícias.

FunçãoProgramador Mobile
Duração4 Meses
Interface da app Flutter de agregação de notícias com artigos curados de várias fontes de texto, áudio e vídeo
Pré-visualização

Feed Unificado de Notícias

O Desafio

As pessoas consomem notícias em formatos diferentes. Texto, áudio, vídeo. De fontes diferentes. Muitas vezes em línguas diferentes. O desafio foi construir um feed único e limpo que reunisse tudo isso sem parecer confuso ou lento, e que funcionasse quando o utilizador está sem ligação.

Arquitetura
Flutter & Dart
Provider Pattern
Supabase

A Solução

Uma app Flutter que agrega conteúdo de várias fontes num feed único e categorizado. O Provider gere o estado em toda a app, mantendo a interface reativa sem complicar o fluxo de dados. O Supabase trata do backend, e tudo suporta múltiplas línguas via flutter_localizations.

Por Dentro.

Como a app obtém, categoriza e apresenta conteúdo de várias fontes.

Ingestão de Dados

Flutter & HTTP

A app obtém conteúdo de feeds RSS e endpoints web de forma assíncrona. Várias fontes correm em simultâneo para o feed preencher rapidamente.

Gestão de Estado

Provider

O Provider mantém a interface sincronizada com a camada de dados. Os artigos atualizam-se reativamente à medida que chegam novos conteúdos, sem necessidade de recarregamentos manuais.

Métricas de performance e visualização do fluxo de dados da app Flutter de agregação de notícias
Duração do Projeto
4
Meses

Feed Personalizado

A app regista com quais categorias o utilizador interage e coloca mais desse conteúdo no topo do seu feed.

A gestão de estado com Provider propaga as atualizações de preferências de imediato, para que o feed se ajuste sem atraso percetível.

"O objetivo era uma app de notícias que se afasta do caminho e te mostra apenas o que importa."

Especificações Técnicas

CategoriaStackUtilidade
FrontendFlutter / DartInterface Multiplataforma
EstadoProviderEstado Reativo
BackendSupabaseDados e Autenticação
i18nflutter_localizationsMulti-língua

Tem um projeto? Vamos falar.