How liziqian/aladdin works
ALADDIN is an intranet hardware-test and sample lifecycle platform. The principal workflow runs from project and stage planning through task configuration, sample assignment, execution and result recording, then into sample-history lookup. The README also documents device inventory, bulk import, scoped data migration and per-sample archive transfer. The graph combines those documented capabilities with sampled frontend synchronization, task mutation and SQLite behavior; unsampled subsystem wiring is shown only where the tree and documentation support it.
Main entry points: storage_core.py SQLite database · http_routes.py API routes · workspace Workspace and views · http_handler.py HTTP handler
Components 22
Browser application
- ALADDIN SPA
frontend/js/app.core.js - Workspace and views
frontend/js/workspace - Client data state
frontend/js/app.data.js - Server sync
frontend/js/app.server.js - API client
frontend/js/server/api.js
HTTP service
- Server entry
backend/server.py - HTTP handler
backend/server_modules/http_handler.py - API routes
backend/server_modules/http_routes.py
Test operations
- Projects and stages
backend/server_modules/mutations/projects.py - Task lifecycle
backend/server_modules/mutations/tasks.py - Sample records
backend/server_modules/mutations/samples.py - Device warehouse
backend/server_modules/device_warehouse.py - Results and issues
backend/server_modules/problem_records.py - Sample history
backend/server_modules/sample_history.py
State and transfer
- State reads
backend/server_modules/state_read_service.py - SQLite database
backend/server_modules/storage_core.py - Sample files
backend/server_modules/sample_assets.py - Bulk import
backend/server_modules/import_bundle_service.py - Scope and diff
backend/server_modules/migration_scope.py - Sample archive transfer
backend/server_modules/bundle_preview_service.py
Other components
- Test team
- Inventory users
Connections 30
- Test team → ALADDIN SPA: uses
- ALADDIN SPA → Workspace and views: dispatches actions
- Workspace and views → Client data state: updates view state
- Workspace and views → Server sync: requests data
- Server sync → API client: queues reads and writes
- API client → HTTP handler: sends API requests
- Server entry → HTTP handler: creates handler
- HTTP handler → API routes: resolves routes
- API routes → Projects and stages: dispatches mutations
- API routes → Task lifecycle: dispatches mutations
- API routes → Sample records: dispatches mutations
- API routes → Device warehouse: dispatches inventory
- API routes → Results and issues: dispatches result actions
- API routes → Sample history: serves history
- HTTP handler → State reads: requests state
- Projects and stages → SQLite database: writes records
- Task lifecycle → SQLite database: writes task state
- Sample records → SQLite database: writes records
- Device warehouse → SQLite database: stores inventory
- Results and issues → SQLite database: stores results
- Sample history → SQLite database: reads history
- State reads → SQLite database: reads state
- Sample records → Sample files: manages attachments
- Test team → Bulk import: uploads bundle
- Bulk import → Scope and diff: filters and compares
- Bulk import → SQLite database: commits import
- Test team → Sample archive transfer: requests archive transfer
- Sample archive transfer → SQLite database: reads archive data
- Sample archive transfer → Sample files: packages sample files
- Inventory users → Workspace and views: manages device inventory