How flutter-kanpur/readmeapp works
ReadMe is a cross-platform Flutter blog app, usable standalone or embedded in Flutter Kanpur. Readers discover and search articles, open details, and interact through likes, views, and comments; authors can create drafts and publish posts, and users can browse communities and profiles. Supabase backs app data and account services. The README documents article deep links, Kanpur session synchronization, account deletion, and standalone-only Shorebird patches. The tree and README support these product areas, but sampled Dart source is limited, so uncertain internal call wiring is omitted.
Main entry points: readme_supabase.dart Supabase · routes.dart Routes · main.dart App entry · auth_controller_provider.dart Auth controller
Components 25
App shell
- App entry
lib/main.dart - Routes
lib/core/router/routes.dart - Article links
lib/core/deep_links
Read and discover
- Home feed
lib/features/home_page/presentation/pages/home_screen.dart - Search
lib/features/search/presentation/pages/search_screen.dart - Feed and filters
lib/core/state/blog_feed_provider.dart - Article detail
lib/features/blog_detail/presentation/pages/blog_detail_screen.dart - Article engagement
lib/core/state/blog_engagement_provider.dart - Comments
lib/features/blog_detail/data/datasource/blog_comment_datasource.dart
Create and community
- Communities
lib/features/communities - Blog editor
lib/features/create_blog_page/presentation/controllers/blog_editor_controller.dart - Drafts and publishing
lib/features/create_blog_page/domain/use_cases
Identity and services
- Authentication
lib/features/auth/presentation - Auth controller
lib/features/auth/presentation/state/auth_controller_provider.dart - Profiles
lib/features/profile_page - Supabase
lib/core/network/readme_supabase.dart - Kanpur session sync
supabase/functions/sync-session/index.ts - Account deletion
supabase/functions/delete-account/index.ts
App lifecycle
- Patch listener
lib/core/updater/shorebird_patch_listener.dart - Store upgrade checks
lib/core/updater/app_upgrader.dart
Other components
- Reader or author
- Flutter Kanpur
- Shared article link
- Shorebird service
- App store
Connections 31
- Reader or author → App entry: opens app
- App entry → Routes: sets routes
- Routes → Home feed: navigates
- Routes → Search: navigates
- Routes → Authentication: navigates
- Routes → Profiles: navigates
- Routes → Communities: navigates
- Routes → Blog editor: navigates
- Shared article link → Article links: opens article
- Article links → Article detail: resolves article
- Home feed → Feed and filters: loads feed
- Feed and filters → Supabase: reads feed
- Article detail → Article engagement: loads engagement
- Article engagement → Supabase: reads and writes
- Article detail → Comments: loads and posts
- Comments → Supabase: reads and writes
- Authentication → Auth controller: submits credentials
- Auth controller → Supabase: authenticates
- Flutter Kanpur → Kanpur session sync: provides session
- Kanpur session sync → Supabase: creates session and profile
- Auth controller → Kanpur session sync: requests sync
- Profiles → Supabase: reads and updates
- Blog editor → Drafts and publishing: edits draft
- Drafts and publishing → Supabase: saves or publishes
- Communities → Supabase: loads community data
- Auth controller → Account deletion: requests deletion
- Account deletion → Supabase: deletes account and avatar
- App entry → Patch listener: checks patches
- Patch listener → Shorebird service: downloads patch
- App entry → Store upgrade checks: checks version
- Store upgrade checks → App store: prompts store update