Bilingual · Multi-role · Mobile-ready

Track every asset. From cradle to disposal.

AssetMint is a modern asset-tracking platform with full lifecycle support — register, audit, transfer, check out, and maintain physical assets through clean role-driven workflows. Bilingual interface, RTL out of the box, mobile auditor with camera scanning, and six pre-built reports.

11Built-in roles
12Modules
11Languages supported
6Pre-built reports
ASSET-000123 Active
Conference Room TV
HQ › Building A › Floor 2 › Room 12
Custodian: Sara H. · Last seen 2 days ago
XFER-000045 In Transit
Cross-org transfer
IT Dept → Engineering
7 lines · approved by N. Hassan
WO-000018 In Progress
Quarterly inspection
Preventive · High priority
Assigned to T. Rashid · Started 14:22
What's inside

Everything an operations team needs

Twelve modules that work together. Designed around the real life-cycle of physical assets, with permission-gated workflows for every role on the floor.

Asset registry with full history

Every asset's location, organization, custody, and status is tracked in append-only history tables. Answer "who had this laptop in March?" in two clicks. Bulk-import from Excel, print QR labels, attach documents.

Audits

Plan, assign, scan in the field, review line by line. Discrepancies write back to the record automatically.

Transfers

Draft → Submit → Approve → In Transit → Receive → Complete. Approval gating with rejection reasons.

Maintenance

Recurring plans, user-filed requests, work orders with cost tracking and downtime metrics.

Check-out / Check-in

Issue assets to people, track expected return, capture condition on return, flag overdue.

Documents anywhere

Attach invoices, warranties, photos, certificates to any asset, transfer, work order, or audit-result line. Drag-and-drop upload.

In-app + email notifications

Bell with unread count, full inbox, per-template channel preferences, bilingual templates with merge fields.

Built for two contexts

Desktop power. Mobile speed.

Operations staff use the full desktop interface. Field auditors use a stripped-down mobile shell that fits one job and does it fast — even with intermittent connectivity.

Desktop shell

Full administrative interface — sidebar nav, top-bar search and notifications, theme switcher, language picker. Filters, bulk actions, exports, and rich-text editing across every entity.

  • Permission-filtered side navigation
  • Bulk import + export (Excel)
  • Rich-text Quill editor for transfer reasons
  • Print labels (single + A4 sheet)
  • Drag-and-drop document attachments

Mobile shell

One job: do my assigned audits. Camera scan with sound + vibration cues, hierarchical location filter, photo evidence per row, server-side draft persistence so progress survives bad connectivity and device switches.

  • QR scan via device camera (html5-qrcode)
  • Manual code entry for unreadable stickers
  • Per-row photo upload
  • Excel offline path (download / fill / upload)
  • Auto-save every second of inactivity

Eleven roles, no leaks

Every API call goes through a permission check. Roles are built around real operational responsibilities — and they compose. A user can wear several hats; permissions union across them. Add custom roles for your own job titles.

Super Admin
Transfer Requester
Transfer Approver
Transfer Receiver
Audit Planner
Auditor
Audit Reviewer
Mobile Auditor
Checkout Issuer
Checkout Returner
Asset Custodian
Granular access control

Permission-gated everywhere

Every button, every endpoint, every export — gated by a named permission key. 138 permissions out of the box, organized by module. Roles just bundle these; pick any combination to build your own.

asset.read
asset.create
asset.update
asset.delete
asset.export
asset-transfer.submit
asset-transfer.approve
asset-transfer.reject
asset-transfer.receive
audit-plan.create
audit-plan.assign
audit-result.review
maintenance-plan.generate
work-order.assign
work-order.close
check-out.create
check-out.return
report.audit-history.export-pdf
report.transfer-history.read
user.create
role.update
+ 116 more
🔑
Per-action keys

Read, create, update, delete, export, submit, approve, reject — every meaningful action is its own key. Grant only what each role needs.

🧩
Compose your own roles

Pick any subset of the 138 permissions to define a custom role for your team's exact responsibilities.

🛡️
Per-user grant or deny

Override role permissions for individual users when you need an exception. Direct denies always win.

Bilingual by design

English & Arabic. RTL automatic.
Plus 9 more languages.

Every UI label and every data field is bilingual. Pick your language and the entire interface flips — including the side nav and dropdown alignment for Arabic and Persian. Admin-edited translations override the bundled defaults without a re-deploy.

English العربية Français Deutsch Italiano 中文 日本語 हिन्दी Español Русский فارسی
English
العربية
CodeASSET-000123
NameConference Room TV
OrganizationIT Department
LocationBuilding A › Floor 2 › Room 12
StatusActive
No-redeploy localization

Edit every word, control every label

1350+ translation keys cover every label, button, toast, and error in the app. Admins edit them in the UI; changes apply on the next page load. No code change, no redeploy.

Translation key English العربية
app.welcome Welcome back مرحباً بعودتك
nav.dashboard Dashboard لوحة المعلومات
asset.create Create asset إنشاء أصل
transfer.approve Approve transfer الموافقة على التحويل
asset.printLabel Print stickerEdited طباعة الملصق
📦
Bundled defaults

Fresh installs ship with every key translated to all 11 supported languages. Nothing missing on day one.

✏️
Tenant-level overrides

Change "Custodian" to "Owner", "Asset" to "Tool" — whatever your organization calls it. One-click reset to default.

🔍
Search by key or value

Find any string in seconds. Filter by language, by missing translations, or by edited-vs-default state.

Reports & insights

Six ready-to-export reports

Filterable on screen, exportable to Excel or PDF. Granular per-format permissions let you control who can extract what.

Asset Inventory

Where is everything right now — current location, organization, classification, status, custodian.

Audit Results

Submitted audit lines with discrepancies, review status, and reviewer decisions.

Audit History

Asset-by-asset audit trail across time. Investigate drift, find systematic errors, audit specific items.

Maintenance History

Work orders, costs, downtime hours. Roll up vendor spend or compute mean time to repair.

Transfer History

Asset movement between organizations and locations. Per-line received status with damage notes.

Checkout Activity

Active loans, days overdue, condition trends on return. Daily chase list, off-boarding checklist.

Built on

Modern, proven, no exotic dependencies

.NET 8 ASP.NET Core 8 Web API Entity Framework Core 8 SQL Server MediatR · CQRS FluentValidation Angular 18 PrimeNG 18 Standalone components & signals Serilog QuestPDF html5-qrcode
Excel-first integration

Bring your existing data in (and out)

Every master-data list — assets, organizations, locations, classifications, vendors, manufacturers — has a matching import and export. Download a template, edit in Excel offline, upload back. Line-by-line validation tells you exactly which rows failed and why.

2-Locations.xlsx
56 rows · ready to upload
LevelParentCodeNamePrimaryNameSecondaryCodeDigits
1HQالمقر2
201Building Aالمبنى أ2
201Building Bالمبنى ب2
30101Floor 1الطابق 12
39999Floor 2الطابق 22 parent not found
4010101Room 12غرفة 122
📥
Pre-built templates per entity

Six ready-to-use Excel workbooks ship in the app. Each one already has the right column headers, validation rules, and sample rows — just paste your data in.

⚠️
Line-by-line validation

When an upload has bad rows, you don't lose the good ones. The server returns a results file showing exactly which lines passed and which failed, with the reason on each.

🔁
Round-trip editing

Export your current filtered list to Excel. Edit in bulk offline. Upload the same sheet back. Codes stay stable so updates apply to the right rows.

Field-ready audits

Audits without typing

A dedicated mobile-auditor account walks the floor with two paths to complete an assignment: scan QR codes with the device camera, or download the assignment as an Excel sheet, fill it in offline, and upload when you're back online.

1

QR / barcode scan

ASSET-000123 · scanned ✓
  • Camera scan with sound + vibration cues per scan
  • Manual code entry fallback for damaged stickers
  • Photo evidence per row, hierarchical location filter
2

Excel offline path

📥 Download assignment as .xlsx
✏️ Fill in observations offline (no signal needed)
📤 Upload — server validates and merges
  • Each assigned asset on its own row, pre-filled with expected state
  • Identification method (QR / barcode / manual) recorded per row
  • Same submission endpoint as the on-screen path — results flow through the same review UI
Try the mobile shell in the live demo: Open demo
Try it without installing

Live preview

A read-only browse mode of the full application, running entirely in your browser. No signup, no install — every screen, every workflow, with realistic seeded data.

  • Sign-in is automatic — you land on the dashboard as the Demo Viewer.
  • Browse 240 assets, audit plans, transfers, work orders, and reports.
  • Try filters, search, sort, and pagination — they all work against live in-memory data.
  • Switch between 11 languages and toggle dark mode.
  • Mutations (create / edit) update the in-memory store and reset on page refresh.
Open live preview Opens in a new tab
/app/dashboard
Assets240
In maintenance1
Active checkouts1
Pending transfers3

Ready to set it up?

Step-by-step setup guide gets you from a fresh download to a running, signed-in app — including SQL Server, EF migrations, and the first admin login.