Laravel
NFC-powered t-shirt sales platform — track promoters, shirts, scans, and commissions in real time.
Platform Overview
A complete t-shirt sales and NFC tracking system built with Laravel. Promoters sell NFC-tagged shirts, customers scan to engage, and commissions are tracked automatically.
Promoter Management
- Multi-step promoter registration with KYC verification
- Admin approval required before promoters can sell
- Promoters manage their assigned shirts and view sales dashboard
- Configurable commission rates per promoter
- Payout tracking with approval workflows
Shirt & NFC Management
- Register shirts with unique SKU, size, color, and pricing
- Link NFC tags to individual shirts for scan tracking
- Assign shirts to promoters for field sales
- Track shirt lifecycle: Available → Assigned → Sold → Returned
- Duplicate and expired scan detection
Sales Tracking
- Full sale lifecycle: Pending → Completed → Verified
- Fraud detection with flagging system
- Automatic promoter commission calculation on sale completion
- Real-time sales dashboard for admin and promoters
- Sale verification and audit trail
NFC Scan Analytics
- Public scan endpoint — no auth required for customer NFC taps
- Track scan location, device info, and timestamps
- Valid, invalid, duplicate, and expired scan classification
- Per-promoter and per-shirt scan analytics
Security & Permissions
- Role-based access: Super Admin, Admin, Partner, Promoter, Customer
- Spatie permissions for granular access control
- Sanctum token-based API authentication
- Login attempt lockout and 2FA support
- Account blocking by admin with notification
Notifications & Reporting
- Email notifications for registration, verification, and password reset
- In-app notification system with read/unread tracking
- Reports: promoter sales, commissions, NFC scans, shirt inventory
- Dashboard stats with role-based filtering
Developer Access
Swagger documentation is available at /api/documentation.
API responses use the envelope: { success, message, data }.