How iamezaz/aml works
This Laravel application screens submitted names against imported UN sanctions records and provides an authenticated admin interface for importing XML, browsing records, and deleting imported files. The principal flow is a screening request routed to the controller, fuzzy matching against stored entities, and JSON results; the admin upload flow parses XML and persists entities plus aliases and documents. Source excerpts show these service calls and model relationships; unsampled routes and views are included only where the README or source index supports their role.
Main entry points: AmlScreeningController.php Screening controller · AmlIndividual.php Sanctioned individuals · web.php Web routes · AmlXmlParserService.php XML parser
Components 19
Web and access
- Web routes
routes/web.php - Screening controller
app/Http/Controllers/AmlScreeningController.php - Authentication controller
app/Http/Controllers/AuthController.php - Admin middleware
app/Http/Middleware/IsAdmin.php - Public screening UI
resources/views/aml/public.blade.php - Admin dashboard UI
resources/views/aml/admin.blade.php - Login UI
resources/views/auth/login.blade.php - Admin user model
app/Models/User.php - Controller base
app/Http/Controllers/Controller.php - Application provider
app/Providers/AppServiceProvider.php
Screening
- Fuzzy matching
app/Services/AmlMatchingService.php
List imports
- XML parser
app/Services/AmlXmlParserService.php
Sanctions records
- Import file record
app/Models/AmlFile.php - Sanctioned individuals
app/Models/AmlIndividual.php - Name aliases
app/Models/AmlAlias.php - Identity documents
app/Models/AmlDocument.php - Application database
database/migrations
Other components
- Public user
- Administrator
Connections 25
- Public user → Web routes: opens screening
README.md - Administrator → Web routes: uses admin
README.md - Web routes → Screening controller: routes requests
routes/web.php - Web routes → Authentication controller: routes auth
routes/web.php - Screening controller → Fuzzy matching: screens names
app/Http/Controllers/AmlScreeningController.php - Fuzzy matching → Sanctioned individuals: queries candidates
app/Services/AmlMatchingService.php - Screening controller → XML parser: parses uploads
app/Http/Controllers/AmlScreeningController.php - XML parser → Fuzzy matching: normalizes names
app/Services/AmlXmlParserService.php - XML parser → Sanctioned individuals: upserts records
app/Services/AmlXmlParserService.php - XML parser → Name aliases: syncs aliases
app/Services/AmlXmlParserService.php - XML parser → Identity documents: syncs documents
app/Services/AmlXmlParserService.php - Screening controller → Import file record: creates and deletes
app/Http/Controllers/AmlScreeningController.php - Screening controller → Sanctioned individuals: loads admin records
app/Http/Controllers/AmlScreeningController.php - Sanctioned individuals → Application database: persists entity
- Name aliases → Sanctioned individuals: belongs to
app/Models/AmlAlias.php - Identity documents → Sanctioned individuals: belongs to
app/Models/AmlDocument.php - Import file record → Sanctioned individuals: owns imported records
app/Models/AmlFile.php - Screening controller → Public screening UI: renders screening
app/Http/Controllers/AmlScreeningController.php - Screening controller → Admin dashboard UI: renders dashboard
app/Http/Controllers/AmlScreeningController.php - Authentication controller → Login UI: renders login
app/Http/Controllers/AuthController.php - Screening controller → Controller base: extends
app/Http/Controllers/AmlScreeningController.php - Authentication controller → Controller base: extends
app/Http/Controllers/AuthController.php - Web routes → Admin middleware: protects admin
- Application provider → Web routes: configures pagination
- Authentication controller → Admin user model: authenticates users