How hoyaurd/teach-me works
Teach-Me is an Expo app for connecting learners and tutors through service and help-request listings. The main user journey is browsing and filtering listings, opening a tutor profile, checking compatibility, and contacting them; users can also publish listings and use messaging, notifications, and an AI assistant. Firebase provides authentication and Firestore-backed app data. Several routes are represented from the file tree and SOURCE INDEX, but their implementations were not sampled, so their internal interactions are left unspecified.
Main entry points: firebase.ts Firebase services · Acceuil.tsx Browse listings · Detail_Profil.tsx View tutor profile · useNouvelleNotification.ts Notification indicators
Components 26
Listing discovery
- Browse listings
src/app/(tabs)/Acceuil.tsx - Filter listings
src/app/(tabs)/Filtre.tsx - View tutor profile
src/app/(tabs)/Detail_Profil.tsx - Compatibility scoring
src/lib/calculerCompatibilite.ts - Compatibility displays
src/components/BlocCompatibilite.tsx - Price estimation
src/lib/estimerCompatibilite.ts - Publish a service
src/app/(tabs)/Publier_service.tsx - Publish a request
src/app/(tabs)/Publier_Demande.tsx - Publication operations
src/lib/publications.ts
Accounts and profiles
- Sign in
src/app/Connection.tsx - Create account
src/app/(tabs)/Creer un compte2.tsx - User records
src/lib/utilisateurs.ts - Profile management
src/app/(tabs)/Profil.tsx
Communication
- Messages
src/app/(tabs)/Messages.tsx - Conversation
src/app/(tabs)/Discussion.tsx - AI assistant
src/app/(tabs)/Chat_Bot.tsx - AI conversation history
src/lib/historiqueIA.ts - Notification indicators
src/lib/useNouvelleNotification.ts - Push and local notifications
src/lib/notification.ts
Shared platform
- Firebase services
src/lib/firebase.ts - Authentication helpers
src/lib/auth.ts - Profile routing helper
src/lib/Profil.ts - Alert helper
src/lib/alerte.ts - Theme and UI primitives
src/constants/theme.ts - Animated icon
src/components/animated-icon.tsx
Other components
- App user
Connections 34
- App user → Browse listings: browses
src/app/(tabs)/Acceuil.tsx - Browse listings → Firebase services: reads listings
src/app/(tabs)/Acceuil.tsx - Browse listings → Firebase services: loads tutor photo
src/app/(tabs)/Acceuil.tsx - App user → Filter listings: filters
- App user → View tutor profile: opens profile
- View tutor profile → Compatibility scoring: calculates match
src/app/(tabs)/Detail_Profil.tsx - Compatibility displays → Compatibility scoring: uses scoring
src/components/BlocCompatibilite.tsx - App user → Publish a service: publishes service
src/app/(tabs)/Publier_service.tsx - Publish a service → Publication operations: creates listing
src/app/(tabs)/Publier_service.tsx - App user → Publish a request: publishes request
- Publication operations → Firebase services: uses Firestore
src/lib/publications.ts - App user → Sign in: signs in
src/app/Connection.tsx - App user → Create account: registers
src/app/(tabs)/Creer un compte2.tsx - Create account → User records: creates user record
src/app/(tabs)/Creer un compte2.tsx - User records → Firebase services: uses Firestore
src/lib/utilisateurs.ts - Sign in → Firebase services: uses Firebase
src/app/Connection.tsx - Sign in → Authentication helpers: uses auth helpers
- App user → Profile management: manages profile
- App user → Messages: views messages
src/app/(tabs)/Messages.tsx - Messages → Firebase services: reads conversations
src/app/(tabs)/Messages.tsx - App user → Conversation: opens conversation
- App user → AI assistant: asks assistant
src/app/(tabs)/Chat_Bot.tsx - AI assistant → AI conversation history: uses history
src/app/(tabs)/Chat_Bot.tsx - AI conversation history → Firebase services: uses Firestore
src/lib/historiqueIA.ts - Browse listings → Notification indicators: shows indicators
src/app/(tabs)/Acceuil.tsx - Messages → Notification indicators: shows indicators
src/app/(tabs)/Messages.tsx - Notification indicators → Firebase services: watches app data
src/lib/useNouvelleNotification.ts - Notification indicators → Push and local notifications: requests permission
src/lib/useNouvelleNotification.ts - Push and local notifications → Firebase services: stores and reads tokens
src/lib/notification.ts - View tutor profile → Alert helper: uses alert helper
src/app/(tabs)/Detail_Profil.tsx - View tutor profile → Firebase services: uses Firebase
src/app/(tabs)/Detail_Profil.tsx - Publish a service → Alert helper: uses alert helper
src/app/(tabs)/Publier_service.tsx - Browse listings → Profile routing helper: selects publish route
src/app/(tabs)/Acceuil.tsx - Theme and UI primitives → Firebase services