Centralized License Inventory System

Заказчик: AI | Опубликовано: 12.12.2025
Бюджет: 3000 $

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.