Full PHP REST API with JWT tokens, role-based access control, rate limiting and audit logging.
BackendEliminated hardcoded names, amounts, GPS coordinates and all mock content. Pages now show real API data or empty states.
FrontendWork logs and scans queue offline and sync automatically when connectivity is restored via background sync.
Frontend UXManagers, technicians and clients each see the right data. Login redirects automatically by role.
Frontend SecurityGenerate QR codes linked to assets, log scans, calculate asset health from scan timestamps.
FrontendPatched API to always return HTTP 200 with error details in JSON body, bypassing Synology's nginx error page intercept.
InfrastructureSetup page creates the first admin account, then self-disables once configured.
UXUsers must accept ToS on first login. Acceptance tracked with version in localStorage.
Security UXNotify clients when invoices are approved or rejected. Notify managers when technicians submit invoices. Requires SMTP config or a mail service.
Backend UXConnect Stripe or Square to allow clients to pay invoices directly from the portal. Currently shows a "coming soon" message.
Backend FrontendAllow users to reset forgotten passwords via email. Login page shows "Forgot password?" link but it's not yet wired up.
Frontend BackendAdd/edit/deactivate users from within the manager dashboard instead of requiring direct API calls.
FrontendGenerate printable PDFs of invoices for clients. Could use a PHP PDF library or browser print styles.
Backend UXReplace the removed map with real GPS tracking using the browser Geolocation API. Show active technicians on a map in the manager dashboard.
Frontend BackendAdd server-side search/filter to work logs, invoices and assets. Currently only client-side search exists in the manager dashboard.
BackendCurrent JSON file storage has no transactions and can corrupt on concurrent writes. SQLite would be more robust and support proper queries.
Backend InfrastructureAllow technicians to attach photos of completed work. Store as base64 or in a separate uploads directory.
Backend FrontendCreate invoice templates for regular jobs. Auto-generate invoices on a schedule (monthly maintenance contracts, etc).
Frontend BackendSSH TOTP session currently has a short timeout. Extend the timeout value in the TOTP script for longer working sessions.
InfrastructureThe technician app is already installable as a PWA. Improve the mobile experience with native share, camera, and notification APIs.
UXAllow clients to see their company logo in the portal header. Store branding preferences per client account.
UXRevenue charts, technician productivity metrics, invoice aging reports, client spend summaries.
FrontendAdd TOTP 2FA option for manager accounts to improve account security.
Security