How htetaung-2025/sotto works
Sotto is a social consultation app: users set up profiles, post requests for help, respond to others, and follow up with thanks and notifications. Sampled screens show request creation and live response tracking in Firestore, response handling in notifications, and request-detail follow-up. The tree indicates additional authentication, group, and reservation screens, but their wiring is not established by the excerpts. Firebase configuration and push-notification helpers are the internal service layer.
Main entry points: notifications.js Push helpers · reservations.jsx Post consultation · notifications.jsx Notifications · index.tsx Welcome
Components 18
Entry and Profile
- Welcome
app/index.tsx - Login
app/login.tsx - Registration
- Onboarding
app/onboarding.tsx - Profile setup
app/profile-setup.jsx - Profile
app/(tabs)/profile.jsx
Consultations
- Post consultation
app/(tabs)/reservations.jsx - My requests
app/(tabs)/requests.jsx - Request detail
app/request-detail.jsx - Notifications
app/(tabs)/notifications.jsx
Community
- Create group
app/group-create.jsx - Join group
app/group-join.jsx - Group view
app/group.jsx
Backend Services
- Firebase setup
lib/firebase.ts - Firestore
- Push helpers
lib/notifications.js
Other components
- App user
- Expo push service
Connections 16
- App user → Welcome: opens app
- Welcome → Login: navigates to
- App user → Login: signs in
- App user → Registration: registers
- App user → Onboarding: continues through
- App user → Profile setup: sets profile
- Profile setup → Firestore: reads and writes
- Post consultation → Firestore: creates and watches requests
- Post consultation → Push helpers: sends consultation push
- My requests → Firestore: watches requests and responses
- Request detail → Firestore: reads and updates request
- Notifications → Firestore: reads and updates responses
- Notifications → Expo push service: sends response push
- Push helpers → Firestore: reads and updates
- Push helpers → Expo push service: sends push
- Firebase setup → Firestore: initializes