How abosoghir/wasla works
Wasla is a web API for a two-sided helper/seeker services marketplace. Its main workflow is creating and applying to projects or tasks, then coordinating sessions and completing paid work; profiles, reviews, reputation, and notifications support that lifecycle. The tree also identifies authentication, wallet/payment, AI, and browsing capabilities. Sampled handlers show repository-based persistence and specific review/session/AI interactions; unsampled feature wiring is represented only at the subsystem level, and no README detail beyond the product name was available.
Main entry points: Program.cs HTTP API · Reviews Reviews and reports · Communication Sessions and messaging · UseAIFeatureHandler.cs AI feature requests
Components 21
Marketplace and profiles
- Profiles and services
Wasla/Features/HelperProfileManagement - Helper browse
Wasla/Features/HelperBrowse - Project marketplace
Wasla/Features/Marketplace/Projects - Task marketplace
Wasla/Features/Marketplace/Tasks - Milestone delivery
Wasla/Features/Marketplace/ProjectMilestones
Identity and trust
- Authentication
Wasla/Features/AuthenticationManagement - Reviews and reports
Wasla/Features/Reviews
Communication and reputation
- Sessions and messaging
Wasla/Features/Communication - Notifications
Wasla/Features/Notifications - Points and badges
Wasla/Common/Gamification/GamificationHelper.cs
Finance and AI
- Wallet and payments
Wasla/Features/Financial - AI feature requests
Wasla/Features/AIIntegration/UseAIFeature/UseAIFeatureHandler.cs - AI service client
Wasla/Common/AIIntegration/AIService.cs
Runtime and persistence
- HTTP API
Wasla/Program.cs - Repository layer
Wasla/Common/RepositoryPattern/Repository.cs - EF data context
Wasla/Persistence/ApplicationDbContext.cs - Application data
- File storage service
Wasla/Common/FileServices/FileService.cs - Email sender
Wasla/Common/Email/EmailService.cs
Other components
- Seeker / helper
- AI provider
Connections 24
- Seeker / helper → HTTP API: sends requests
- HTTP API → Authentication: routes authentication
- HTTP API → Profiles and services: routes profile requests
- HTTP API → Helper browse: routes browse requests
- HTTP API → Project marketplace: routes project requests
- HTTP API → Task marketplace: routes task requests
- HTTP API → Milestone delivery: routes delivery requests
- HTTP API → Sessions and messaging: routes communication
- HTTP API → Reviews and reports: routes trust requests
- HTTP API → Notifications: routes notification requests
- HTTP API → Wallet and payments: routes finance requests
- HTTP API → AI feature requests: routes AI requests
- AI feature requests → AI service client: calls feature
- AI service client → AI provider: posts request
- AI feature requests → Points and badges: deducts or refunds points
- Reviews and reports → Points and badges: awards review points
- Sessions and messaging → Points and badges: awards completion points
- Sessions and messaging → Notifications: creates notifications
- Reviews and reports → Notifications: creates review notice
- AI feature requests → Repository layer: reads and writes usage
- Reviews and reports → Repository layer: reads and writes reviews
- Sessions and messaging → Repository layer: reads and writes sessions
- Repository layer → EF data context: queries and saves
- EF data context → Application data: persists entities