Swap Guard is a peer-to-peer trading assistant: two parties swap goods or gaming accounts while a designated middle (escrow) stays in the same conversation. The stack is Angular (SPA) and Laravel (API) with Laravel Sanctum token authentication.
| Folder | Role |
|---|---|
frontend/ |
Angular 19 app — landing page, auth, deal rooms, tri-party chat |
backend/ |
Laravel 13 API — users, conversations, messages |
- PHP 8.3+, Composer, and SQLite (default) or MySQL/PostgreSQL
- Node.js 18+ (for Angular)
cd backend
composer install
cp .env.example .env
php artisan key:generate
php artisan migrate --seed
php artisan serveThe API listens at http://localhost:8000. Routes are under /api (e.g. POST /api/login, GET /api/conversations).
| Role | |
|---|---|
escrow@swapguard.test |
Middle (escrow) |
alex@swapguard.test |
Party |
jordan@swapguard.test |
Party |
Create additional accounts via Register in the Angular app. New swaps assign the escrow user automatically (is_middleman in the database).
cd frontend
npm install
npm startOpen http://localhost:4200. The dev build points at http://localhost:8000/api (see src/environments/environment.ts). Production builds replace this with environment.prod.ts (set apiUrl to your deployed API).
- Landing page — hero, how it works, features, trust, categories, testimonials, CTA, footer with sitemap, trending topics, and copyright
- Tri-party messaging — each deal ties party A, party B, and the middle; all messages appear in one thread
- Shield branding — SVG icon at
frontend/public/shield-icon.svg(favicon + UI)
Swap Guard is a messaging and coordination tool. It does not hold funds or items; configure your own operational and legal processes for real trades.