Know where equipment is
Track the current allocation, house or service location and the serialised unit involved.
AssetTrack is an equipment, rental, demonstration, maintenance and payment-management platform for organisations that need one reliable operational record for people, places and specialist assets.
AssetTrack connects equipment, serial assets, users, houses, rentals, demonstrations, invoices, maintenance and history so authorised staff can act from a single operational record.
Track the current allocation, house or service location and the serialised unit involved.
Associate assets and rentals with customers, staff, demonstrators and delivery locations.
Use maintenance status, rental end dates and warranty reminders to surface upcoming work.
Record purchases, VAT, invoices, Stripe references and demonstrator payouts without losing the business context.
Role-based access gives each user a workspace aligned to their job rather than exposing the whole administration surface.
Preserve allocation, agreement, maintenance, demonstration and audit context as assets move through the organisation.
The browser communicates with a FastAPI REST API. FastAPI applies ownership and role checks before reading or changing PostgreSQL data. Caddy is the public edge and terminates HTTPS.
Catalogue records describe equipment; serial assets represent individual physical units and their lifecycle state.
Rentals allocate units, hold dates and pricing, and can require explicit agreement acceptance before activation.
Orders feed an internal invoice register with net, VAT and gross totals. Stripe Checkout can handle customer payment.
Approved customers can be made available to demonstrators. Demonstrations can create payout records and Connect transfers.
Maintenance records are tied to serialised units; units undergoing maintenance are removed from available stock.
Each role sees scoped search/report data. Reports can print or download as PDF; reminder views highlight due and expired items.
Frontend navigation is role-aware, but the backend is authoritative: permissions and ownership checks are enforced by FastAPI rather than relying only on hidden menu items.
| Role | Main purpose | Typical access | Search / reports | Reminders |
|---|---|---|---|---|
| Admin | Full platform administration | Users, roles, equipment, serial assets, rentals, purchases, invoices, demonstrations, payouts, maintenance, audit, security and settings. | Broad platform scope | Rental end dates + equipment / serial warranty |
| Manager | Operational management | Most day-to-day operational workflows, equipment, rentals, purchases, maintenance and audit review, without core admin-only account/settings authority. | Operational datasets | Rental end dates + equipment / serial warranty |
| Staff | Service delivery operations | Customer addresses, rentals, purchases, demonstrations, invoices and relevant maintenance/asset information. | Operational datasets | Rental end dates + equipment / serial warranty |
| Finance | Financial processing | Purchases, invoices, payout approval/payment and safe Stripe configuration status. | Financial datasets | No default expiry source |
| Maintenance | Asset servicing | Serial assets and maintenance workflow. | Asset/maintenance datasets | Equipment / serial warranty |
| Demonstrator | Assigned demonstrations | Assigned rentals, approved demonstration customers, own demonstrations, own payout records and Stripe Connect onboarding. | Scoped to assigned/approved records | Assigned rental end dates |
| Customer | Self-service | Own houses, own rentals, own purchases, own invoices, agreements and supported payment flows. | Own records only | Own active rental end dates |
Role descriptions reflect the v2.9.5 application design. Backend RBAC remains the source of truth.
A physical asset can move through availability, allocation, use, return, inspection, maintenance, reassignment and retirement while keeping its history.
Core application areas are connected so that changes in one workflow remain visible where they matter.
SKU, name, type, manufacturer, model, purchase context, supplier, commercial prices and retirement information.
Individual unit serial numbers, lifecycle state, allocation and warranty context.
Customer accounts, delivery/service addresses and controlled demonstrator visibility.
Dates, allocated units, customer, delivery address, staff/demonstrator assignments and agreement state.
Orders with net, VAT and gross calculations and payment status.
Internal invoice register with PDF generation, printing and optional email re-send through SMTP.
Checkout for customer payments and Connect Express for demonstrator onboarding/payouts when configured.
Service records tied to serialised units, with availability adjusted during maintenance.
Configurable default and maximum reminder windows for rentals and warranty expiries.
Role-scoped search so users retrieve only records available to their permissions.
Role-specific report datasets with browser printing and server-generated PDF downloads.
Audit history for important mutations, password controls and TOTP two-factor authentication.
v2.9.5 adds an administrator-only Settings page. Runtime settings live in the database while secrets remain server-side environment variables.
Historical invoices keep the VAT snapshot recorded when issued.
AssetTrack uses JWT authentication and role/ownership checks in FastAPI. The interface may hide unavailable actions, but the API remains responsible for authorisation.
Passwords are salted hashes. Access sessions use signed tokens.
TOTP 2FA supports common authenticator apps plus one-time recovery codes. Administrators can reset enrollment without seeing the secret.
Important business and security mutations can retain actor, action, entity, before/after context, IP and time.
Use strong unique secrets, restrict SSH, use HTTPS, configure firewall/WAF controls, patch the host and containers, protect backups, test restores, and add monitoring/rate limiting appropriate to your environment.
A useful backup is one you can restore. Keep at least one copy off the Cloud Provider and perform periodic restore drills.
Database dump and configuration backup.
Copy encrypted backups to separate object storage or another protected system.
Regularly restore into a non-production environment and verify users, equipment, rentals and invoices.
The package contains frontend, backend, database configuration, Caddy reverse proxy and SQL updates needed for the documented release.
APP_DOMAIN=demo.example.com
FRONTEND_URL=https://demo.example.com
VITE_API_URL=as required
Start, then verify backend health, database connectivity and Caddy/TLS in that order.
Caddy automatically manages certificates for APP_DOMAIN.
Keep releases separate, copy the production environment file deliberately, validate Compose, then rebuild with the same project name.