How ayyan-sufian/chat-sphere works
Chat-sphere is a Flutter messaging app; the README itself only identifies it as a starter project, while the source tree names authentication, people/friendship, chat, profile, and notification features. The likely user journey is sign-in, find or connect with people, then chat and review notifications. The graph follows the Dart feature structure and Firebase plugin evidence, but Dart implementations were not sampled, so feature-to-controller and controller-to-service wiring is not asserted.
Main entry points: main.dart Flutter entry · firestore_service.dart Firestore service · auth_service.dart Authentication service · app_pages.dart App routes
Components 21
App shell
- Flutter entry
lib/main.dart - App routes
lib/routes/app_pages.dart - Route names
lib/routes/app_routes.dart - Home coordination
lib/controllers/home_controller.dart - Firestore service
lib/services/firestore_service.dart - Chat and user models
lib/models
Identity and profile
- Sign-in and registration
lib/view/login_screen.dart - Registration screen
lib/view/register_screen.dart - Authentication controller
lib/controllers/auth_controller.dart - Authentication service
lib/services/auth_service.dart - Profile management
lib/controllers/profile_controller.dart - Password recovery
lib/controllers/forget_password_controller.dart
People and connections
- People search
lib/controllers/user_list_controller.dart - Friend requests
lib/controllers/friend_request_controller.dart - Friends list
lib/controllers/friends_controller.dart
Messaging and alerts
- Chat controller
lib/controllers/chat_controller.dart - Chat screen
lib/view/chat_screen.dart - Notifications
lib/controllers/notification_controller.dart
Other components
- App user
- Firebase Authentication
- Cloud Firestore
Connections 12
- App user → Flutter entry: opens app
- Flutter entry → App routes: starts routes
- App user → Sign-in and registration: signs in
- App user → Registration screen: registers
- App user → People search: finds people
- App user → Friend requests: manages requests
- App user → Friends list: views friends
- App user → Chat screen: chats
- App user → Profile management: updates profile
- App user → Notifications: checks alerts
- Authentication service → Firebase Authentication: authenticates
- Firestore service → Cloud Firestore: accesses data