How sujalpoudel78/pegion works
Pegion is a Flutter real-time messaging app. Its main user journey is account registration or sign-in, entry to the home/contact views, selection of a conversation, and exchange of messages; users can also view and manage profile details. The README documents email/password and Google sign-in, database-backed messaging, and account deletion/display-name changes. Dart implementation excerpts were not supplied, so links among feature components reflect documented responsibilities and the file layout, not verified method calls; Firebase access is noted as restricted.
Main entry points: chat_screen.dart Conversation · auth_controller.dart Auth controller · home.dart Home · chat_controller.dart Chat controller
Components 20
Identity
- Auth gate
lib/features/auth/auth_gate.dart - Login
lib/pages/login_page.dart - Registration
lib/pages/register_page.dart - Password recovery
lib/pages/forgot_pass_page.dart - Auth controller
lib/features/auth/controller/auth_controller.dart
Messaging
- Home
lib/pages/home.dart - Contacts
lib/features/chat/ui/contacts_screen.dart - Chat list
lib/features/chat/ui/chat_list_screen_ui.dart - Conversation
lib/features/chat/ui/chat_screen.dart - Chat controller
lib/features/chat/controller/chat_controller.dart - Message model
lib/shared/models/message.dart - Message display
lib/features/chat/ui/chat_bubble.dart - Chat profile
lib/features/chat/ui/profile_page.dart
Account
- Profile view
lib/features/profile/ui/profile_page.dart - Profile details
lib/features/profile/ui/details_page.dart
Other components
- User
- Firebase Auth
- Firestore
Connections 22
- User → App entry: opens app
- App entry → App shell: starts
- App shell → Auth gate: shows
- User → Login: signs in
- User → Registration: registers
- Login → Auth controller: requests sign-in
- Registration → Auth controller: requests account
- Password recovery → Auth controller: requests recovery
- Auth controller → Firebase Auth: authenticates
- Auth gate → Home: opens signed-in view
- Home → Contacts: offers contacts
- Home → Chat list: shows conversations
- Contacts → Conversation: starts conversation
- Chat list → Conversation: opens conversation
- Conversation → Chat controller: handles messages
- Chat controller → Firestore: reads and writes
- Chat controller → Message model: uses message data
- Conversation → Message display: displays messages
- Conversation → Chat profile: opens participant profile
- User → Profile view: manages account
- Profile view → Profile details: views details
- Profile view → Auth controller: requests account changes