How irwanbc79/ceisa works
This is a Laravel web application for host-to-host customs-document handling through CEISA 4.0. Users create, validate, submit, track, and archive documents; CEISA responses can also arrive through a webhook or be reconciled by polling. The application additionally exposes manifests, reference synchronization, AI-assisted validation, notifications, and administrative account and CEISA-credential management. The graph reflects the supplied source excerpts and file tree; several listed capabilities have no sampled implementation, so their internal wiring is left unspecified.
Main entry points: DocumentController.php Document controller · CeisaService.php CEISA client · WebhookController.php Webhook receiver · Document.php Customs documents
Components 26
Document operations
- Document screens
resources/views/documents - Document controller
app/Http/Controllers/DocumentController.php - Document validation
app/Http/Requests/StoreDocumentRequest.php - Document validator
app/Services/DocumentValidator.php - Hybrid AI client
app/Services/AI/HybridAiClient.php - Customs documents
app/Models/Document.php - Document timeline
app/Models/Concerns/HasDocumentTimeline.php
CEISA integration
- CEISA settings
app/Http/Controllers/CeisaSettingController.php - CEISA client
app/Services/CeisaService.php - Payload builder
app/Services/CeisaPayloadBuilder.php - Status mapper
app/Services/CeisaStatusMapper.php - CEISA credentials
app/Models/CeisaCredential.php - Webhook receiver
app/Http/Controllers/Api/WebhookController.php - Webhook audit log
app/Models/WebhookLog.php - Reference sync
app/Console/Commands/SyncCeisaReferences.php - Document sync
app/Console/Commands/SyncCeisaDocuments.php
Operational support
- Manifest views
app/Http/Controllers/ManifestController.php - Manifests
app/Models/Manifest.php - Dashboard
app/Http/Controllers/DashboardController.php - Notifications
app/Http/Controllers/NotificationController.php
Administration
- User administration
app/Http/Controllers/Admin/UserController.php - User accounts
app/Models/User.php - Admin screens
resources/views/admin/users/index.blade.php
Other components
- Operator
- CEISA service
- AI providers
Connections 28
- Operator → Document screens: uses
- Document screens → Document controller: submits
- Document controller → Document validation: validates input
- Document controller → Payload builder: builds payload
- Document controller → Document validator: validates AI
- Document validator → Hybrid AI client: requests analysis
- Hybrid AI client → AI providers: queries providers
- Document controller → Customs documents: creates and updates
- Document controller → CEISA client: submits and queries
- CEISA client → CEISA credentials: uses credentials
- CEISA settings → CEISA credentials: reads and updates
- CEISA settings → CEISA client: tests connection
- CEISA client → CEISA service: sends requests
- CEISA service → Webhook receiver: posts callbacks
- Webhook receiver → Webhook audit log: records events
- Webhook receiver → Customs documents: matches document
- Webhook receiver → Status mapper: maps status
- Status mapper → Customs documents: updates status
- Reference sync → CEISA client: fetches references
- Document sync → CEISA client: reconciles status
- Document sync → Customs documents: updates documents
- Operator → Manifest views: views manifests
- Manifest views → Manifests: reads manifests
- Operator → Dashboard: views dashboard
- Operator → Notifications: views notifications
- Operator → Admin screens: manages accounts
- Admin screens → User administration: submits changes
- User administration → User accounts: creates and updates