How loicqra12/soutraai works
Soutra AI is a Flutter marketplace assistant for connecting service seekers with local providers. The documented client workflow starts with role selection, captures a request by text or voice, then uses AI-supported matching and price estimates to suggest providers; providers use a dashboard, statistics, and profile management. The graph preserves the documented AI, voice, geolocation, matching, pricing, and dataset capabilities. Most Dart implementation files were not excerpted, so unverified runtime links are dashed and have no evidence path.
Main entry points: service_request_screen.dart Request entry · matching_service.dart Provider matching · provider_dashboard.dart Provider dashboard · advanced_ai_service.dart AI assistance
Components 22
App experience
- Flutter app
lib/main.dart - Role selection
lib/screens/role_selection_screen.dart - Request entry
lib/screens/service_request_screen.dart - Provider results
lib/screens/results_screen.dart - AI chat
lib/screens/ai_chat_screen.dart - Provider dashboard
lib/screens/provider_dashboard.dart - Provider profile
lib/screens/provider_profile_screen.dart - Admin statistics
lib/screens/admin_statistics_screen.dart
Service marketplace
- Local datasets
assets/data - Data access
lib/services/data_service.dart - Provider model
lib/models/provider.dart - Request model
lib/models/service_request.dart - User model
lib/models/user.dart - CSV conversion
lib/services/csv_converter.dart
AI and matching
- Provider matching
lib/services/matching_service.dart - AI assistance
lib/services/advanced_ai_service.dart - Price estimation
lib/services/pricing_service.dart - Voice input
lib/services/voice_service.dart
External integrations
- Gemini client
lib/services/gemini_service.dart - Speech services
lib/services/advanced_tts_service.dart - Maps and location
lib/services/google_maps_service.dart
Other components
- Client or provider
Connections 20
- Client or provider → Role selection: selects role
README.md - Role selection → Request entry: client workflow
- Client or provider → Provider dashboard: provider workflow
README.md - Provider dashboard → Provider profile: manage profile
README.md - Provider dashboard → Admin statistics: view statistics
README.md - Request entry → Voice input: voice input
README.md - Request entry → Provider matching: match request
README.md - Request entry → AI assistance: request guidance
README.md - Provider matching → Provider results: suggest providers
README.md - AI assistance → Gemini client: uses Gemini
README.md - AI assistance → Price estimation: estimate price
README.md - Voice input → Speech services: speech support
README.md - Provider matching → Maps and location: use geolocation
README.md - Data access → Local datasets: reads datasets
- Provider matching → Data access: loads match data
- Provider matching → Provider model: uses provider data
- Request entry → Request model: represents request
- Flutter app → Role selection: opens workflow
- Flutter app → AI chat: opens assistant
- CSV conversion → Local datasets: converts data