Laravel application
Jobdesk
A workspace for customers and staff to manage website requests.
The client brief
A small service business wants to keep customer requests, progress and payment state in one organised workspace.
The working application
- Customer accounts, session authentication, CSRF-protected forms and owner/staff access checks.
- Service requests, a staff inbox, status filters, pagination and status history.
- Test-mode hosted checkout, server-calculated amounts, signed webhooks and duplicate-event handling.
- Password recovery/change, staff catalogue management, request search, scheduled expiry of new stock/place holds, security headers and automated authorization/payment regression tests.
Setup and technical notes
Run the application
The PHP app runs separately from this static portfolio. Start Jobdesk using its README, then open port 8001. On a local portfolio preview, the button below opens it directly.
Open local app / setupFrom the portfolio-projects folder:
node scripts/run-project.mjs jobdesk migrate node scripts/run-project.mjs jobdesk serve
Payment verification
Automated tests use mocked provider responses and locally signed events. Real provider test checkout, cancellation and webhook delivery still require private test credentials. No live-money processing or production deployment is claimed.
Project files
Download Laravel sourceSource excludes vendor dependencies, private environment values, databases, logs and real data. The README includes setup and verification boundaries. Planned domain: jobdesk.mylocalrig.com.
Project scope
No tax, shipping, refunds or subscriptions. Password recovery, staff catalogue management and scheduled expiry of new unpaid holds are implemented. Mail delivery and the scheduler require host configuration; test checkout still requires provider credentials. SQLite tests do not establish production database concurrency behavior. This application is a personal project.