Provider Exchange
Provider Exchange is an early Laravel prototype for a provider-centered field service network and work-order exchange.
The code is intended to be open source under the MIT License.
Project record keeping lives in:
CHANGELOG.mdfor shipped changes, verification notes, and unusual commit/history notes.docs/ROADMAP.mdfor the current build direction and deferred features.- Git for rollback and branch history.
The .old backup convention is not used for routine Laravel edits in this project. Use Git for normal recovery. Create a local .old copy only before risky manual rewrites, legacy file replacement, or generated artifact recovery where a second local copy is useful before editing.
The product goal is not to clone Field Nation. The first version focuses on:
- provider and buyer profiles;
- community posts;
- buyer job posts;
- provider quotes;
- work-order assignment and status tracking;
- mutual reviews;
- peer-review dispute records;
- external profile/rating snapshots from Field Nation, WorkMarket, and similar platforms.
Guardrails
- The platform does not hold money in v1.
- The platform does not set or recommend market rates.
- Providers control their own rate cards and terms.
- Buyers control their own posted offer terms.
- Payment remains direct between buyer and provider unless a compliant payment partner is added later.
- Reputation is mutual: providers review buyers and buyers review providers.
- Dispute records are reputational/peer-review records, not legal adjudication.
Local Setup
composer install
npm install
cp .env.example .env
php artisan key:generate
touch database/database.sqlite
php artisan migrate:fresh --seed
php artisan storage:link
npm run build
php artisan serve --host=0.0.0.0 --port=8123
Server Install
See docs/INSTALL.md for the first-pass Ubuntu/Nginx installer and update script.
Demo Accounts
All seeded demo accounts use password password.
admin@example.comprovider@example.combuyer@example.comhybrid@example.com
Test Commands
php artisan test
npm run build
Current Roadmap Status
See docs/ROADMAP.md for the durable roadmap. The short status below is a convenience snapshot.
- Foundation: Laravel app, auth, roles, seeded demo users.
- Profiles: provider and buyer profiles.
- Social layer: community feed posts.
- Job posts: buyer job-post creation and listing.
- Quote flow: provider quotes and buyer acceptance.
- Work orders: assignment, role-aware status transitions, deliverables, messages, evidence files, completion notes.
- Reviews: mutual buyer/provider reviews with category metrics.
- Disputes: peer-review dispute records with comments, evidence files, and structured votes.
- API prep: Sanctum installed with starter API routes and authenticated work-order/dispute feeds.
- Hardening: tests, seed data, setup docs, database notifications, admin overview, and no-payment/no-rate-setting guardrails.
Implemented Hardening Pass
- Polymorphic attachments for provider profiles, buyer profiles, feed posts, jobs, work orders, disputes, and imported external profiles.
- Polymorphic comments for feed posts, jobs, and disputes.
- Work-order messages between buyer and provider.
- Quote revision history and quote decline flow.
- Role-aware work-order transition rules.
- Category review metrics for communication, scope accuracy, payment reliability, workmanship, and timeliness.
- Dispute peer votes with provider/buyer/split/insufficient-evidence recommendations.
- Database notifications for quote, work-order, review, and dispute events.
- Admin overview page for users, jobs, work orders, disputes, and attachment counts.
External Profile Imports
Provider profiles support manual external snapshots. For Field Nation, the first version records:
- platform name;
- external provider ID;
- profile URL if available;
- rating;
- review count;
- completed jobs;
- notes or copied review summaries.
Public search did not expose a Field Nation profile for provider ID 172-630, so any automated Field Nation import should be treated as a later authenticated/export-assisted workflow rather than a public scrape assumption.