تفاصيل العمل

Chattr is a full-featured real-time chat app built with Flutter & Supabase, engineered with production-level architecture and a strong focus on performance and user experience.

What makes it non-trivial:

Optimistic UI — Messages appear instantly before server confirmation. A tempId system handles race conditions between the Realtime stream and the server response, merging state without duplicates or flickers.

Context-Aware Push Notifications — A secure, serverless notification pipeline driven by Supabase Database Webhooks and Deno Edge Functions routing through Firebase Cloud Messaging (FCM). It features deep-link routing via GoRouter across all app states (terminated, background, foreground) and smart active-chat suppression to prevent redundant heads-up pop-ups when the user is already engaged in the conversation.

Multi-layer data pipeline — Every chat loads through in-memory cache → Hive → Supabase, then subscribes to a live stream. Background refreshes happen silently with no loading indicators shown to the user.

Live presence system — Online/offline status syncs in real time with a 30-second heartbeat, pausing when the app backgrounds and resuming on foreground via WidgetsBindingObserver.

Voice message pipeline — Full lifecycle from recording to playback: permission check → temp file → background upload → URL sent → auto-downloaded and cached locally on first play. A singleton AudioPlayerManager ensures only one audio plays at a time across the whole app.

Smart local caching — Audio and image files are stored on-device after first load, with Hive tracking the local path per message so subsequent opens never hit the network.

Clean Architecture — Data, domain, and presentation fully separated per feature, with Either<Error, T> for explicit error handling and get_it for dependency injection throughout.

بطاقة العمل

اسم المستقل
عدد الإعجابات
0
تاريخ الإضافة
تاريخ الإنجاز
المهارات