I need an experienced Laravel back-end specialist to build “Unikeys”, a central bank for digital software keys. The application will live on PHP/Laravel and expose a secure RESTful API that keeps several Joomla + HikaShop B2C stores in sync and, later on, will power a B2B reseller portal.
> Core Scope:
- Centralized Inventory: Track every license from intake to final sale, including status changes (New, Sold, Blocked) and audit history.
- High-Integrity API: Provide a robust endpoint suite for my external shops to reserve and retrieve keys. Crucial: Must implement Database Transactions & Row Locking to prevent "Race Conditions" (selling the same key twice simultaneously).
- Smart Allocation Logic (Business Critical): The API must receive the customer's email and apply the following logic:
1. Anti-Duplication: Check global history to ensure the same serial string is never assigned to the same email twice.
2. Multi-Slot Optimization: Prioritize filling remaining slots on multi-user licenses (e.g., 3-user pack) before dispensing a fresh key.
- Legacy Data Migration: Create a seeder script to import 50,000+ historical sales (Email + Serial CSV) to populate the allocation history and prevent duplicate assignments to returning customers.
- Admin Dashboard: Build a management panel (using FilamentPHP or Laravel Nova is preferred for speed) for stock uploads, sales analytics, and API Token management.
- Joomla Integration: Develop the custom HikaSerial Generator Plugin (or provide the precise PHP cURL integration code) to connect my HikaShop stores to this API.
> Key Expectations:
- Clean, PSR-compliant Laravel 10/11 code (PHP 8.2+).
- Security First: Token-based auth (Sanctum), rate limiting, and encrypted storage for sensitive keys.
- Well-documented API: OpenAPI/Swagger auto-generated documentation.
- Deployment: Docker setup for easy staging/production deployment.
> Acceptance Criteria:
1. External store can retrieve a unique key via API within 300ms average latency.
2. Concurrency Test: 10 simultaneous requests for the same product result in 10 unique keys sold (no double spend).
3. Smart Allocation Test: A returning customer (identified by email) never receives a key they already own, even if stock is mixed.
4. Dashboard correctly reflects stock movements in real-time.
If you have shipped comparable high-traffic Laravel APIs and understand the importance of atomic operations in inventory management, I’d like to see your approach and timelines.
Show More