Voltar para Projetos

Radio Seeker

Uma aplicação web que permite aos usuários buscar, adicionar, editar, remover e ouvir estações de rádio online. Com uma interface simples e amigável e recursos práticos, os usuários podem gerenciar facilmente suas estações de rádio favoritas.

Next.js
React
TypeScript
JavaScript
Tailwind CSS
Radix UI
shadcn/ui
react-hook-form
Zod
Sonner
Yarn
Vercel

O Projeto

Visão Geral

Radio Seeker é uma aplicação Next.js (v14.2.3) construída com JavaScript que enfatiza usabilidade e acessibilidade. A UI é implementada com Radix UI e shadcn/ui e estilizada com Tailwind CSS. Formulários e validação são tratados com react-hook-form, @hookform/resolvers e Zod, enquanto notificações usam Sonner. O app suporta busca de estações, reprodução inline, persistência local de favoritos (localStorage) e edição rápida. Arquiteturalmente, Next.js foi escolhido para roteamento híbrido e SSG/SSR onde apropriado, mantendo um bundle enxuto e experiência de desenvolvedor rápida.

Demonstração Visual

Prévia do Projeto

O Que o Torna Especial

Principais Funcionalidades

  • Buscar estações por nome ou metadados
  • Adicionar, editar e remover estações de uma lista persistida
  • Player de áudio inline com play/pause e controles básicos
  • Persistir favoritos localmente com sync opcional de backend
  • UI acessível e orientada a componentes construída com Radix + shadcn/ui

Escolhas Técnicas

Decisões-Chave

  • Escolher Next.js para roteamento híbrido e SSG/SSR onde apropriado
  • Usar Radix UI + shadcn/ui para construir componentes acessíveis e composáveis
  • Usar react-hook-form + Zod para tratamento e validação de formulários resilientes
  • Persistir favoritos em localStorage para UX offline-first e sync opcional
  • Centralizar reprodução de áudio em componente compartilhado para evitar streams concorrentes

Resultados e Métricas

Impacto

  • Demonstra reprodução de áudio inline confiável e controles de mídia
  • Mostra padrões de UI acessível e orientada a componentes (Radix + shadcn)
  • Fornece exemplo prático de persistência client-side e fluxos CRUD
  • Bom ponto de discussão técnica para validação de formulários e trade-offs de UX
Radio Seeker | Projects — Júlio César