How marcuslimadev/socimob works
This repository appears to implement a multi-tenant real-estate operations platform: staff manage properties, leads, conversations, leases, finances and inspections, while clients and owners use portal features. The main staff workflow runs from the web client through Laravel controllers into domain services and persisted records; property publishing and inbound advertising leads are distinct integration workflows. The README is generic Laravel boilerplate, so product capabilities are inferred from the file tree and sampled excerpts; several subsystem links are therefore omitted where invocation was not shown.
Main entry points: api.php Laravel API · ConversasController.php Conversation management · Property.php Property records · AdsOrchestrationService.php Ads publishing
Components 22
Staff workspace
- Web client
client/src/App.tsx - Laravel API
routes/api.php - Admin pages
client/src/pages/AdminGestaoLocacao.tsx - Tenant administration
app/Http/Controllers/SuperAdmin/TenantController.php
Property and portal
- Property management
app/Http/Controllers/PropertyController.php - Property records
app/Models/Property.php - Client and owner portal
app/Http/Controllers/Portal/PortalController.php - Portal pages
client/src/pages/ClientPortal.tsx
CRM and messaging
- Lead management
app/Http/Controllers/LeadsController.php - Conversation management
app/Http/Controllers/Admin/ConversasController.php - Conversation services
app/Services/ConversationService.php - Lead and conversation records
app/Models/Lead.php
Contracts and operations
- Lease and sale contracts
app/Http/Controllers/Admin/ContratosLocacaoController.php - Financial operations
app/Http/Controllers/Admin/FinanceiroController.php - Property inspections
app/Services/VistoriaService.php
External integrations
- Ads publishing
app/Services/Ads/AdsOrchestrationService.php - Publishing jobs
app/Jobs/Ads/UpsertListingToCatalogJob.php - Ads lead ingestion
app/Services/Ads/LeadIngestionService.php - Ads providers
app/Services/Ads/Providers/ProviderAdapterFactory.php - WhatsApp messaging
app/Services/WhatsApp/WhatsAppMessageService.php
Other components
- Staff user
- Meta WhatsApp
Connections 21
- Staff user → Web client: uses
- Web client → Laravel API: requests
- Admin pages → Laravel API: loads records
- Laravel API → Property management: routes requests
- Property management → Property records: reads and writes
- Portal pages → Client and owner portal: requests portal data
- Client and owner portal → Property records: queries listings
- Laravel API → Lead management: routes requests
- Laravel API → Conversation management: routes requests
- Conversation management → Lead and conversation records: queries records
- Conversation management → Conversation services: uses service
- Laravel API → Lease and sale contracts: routes requests
- Laravel API → Financial operations: routes requests
- Laravel API → Property inspections: routes requests
- Laravel API → Tenant administration: routes requests
- Ads publishing → Property records: validates listing
- Ads publishing → Publishing jobs: dispatches
- Publishing jobs → Ads providers: publishes through
- Ads lead ingestion → Lead and conversation records: creates CRM lead
- Ads lead ingestion → Laravel API: notifies via service
- WhatsApp messaging → Meta WhatsApp: sends messages