Tigmoo Admin


Enterprise-grade multi-vendor e-commerce REST API built with Laravel 10, powering a full-featured marketplace platform with support for physical, digital, and rental products. It handles product catalog management, multi-gateway payments, affiliate programs, real-time notifications, and a Livewire-powered admin panel across a comprehensive vendor and customer ecosystem.
Key Features
- Authentication & Security: OTP-based login via SMS (Twilio & Africa's Talking), social login (Google/Facebook via Laravel Socialite), password reset, email verification, and token-based stateless auth with Laravel Sanctum — all with strict rate limiting per route.
- Product Catalog: Full catalog management covering product types, hierarchical categories, tags, attributes with variations, authors, manufacturers, product conditions, warranties, rental pricing, and digital file delivery.
- E-Commerce Engine: Complete order lifecycle management with status tracking, invoice generation, Excel order export, checkout verification, delivery time slots, and downloadable digital files with tokenized URLs.
- Multi-Gateway Payments: Pluggable payment architecture supporting Cgrate (Zambia mobile money), Stripe, PayPal, Razorpay, and CyberSource Flex microform for secure card tokenization — configurable per environment.
- Promotions & Flash Sales: Advanced coupon system with per-user/per-shop targeting, flash sales with limited stock and countdown timers, dynamic banners, and homepage sections managed via admin.
- Shop & Vendor Management: Multi-vendor support with vendor shop profiles, shop follow/unfollow, geolocation-based nearby shop discovery, shop maintenance mode, store notices, and vendor balance & withdrawal management.
- Affiliate System: Full affiliate program with application workflow, commission tracking per sale, unique affiliate links, and granular user activity monitoring.
- User Features: Wishlists, product reviews & ratings, Q&A, buyer-seller conversations & messaging, wallet credits, saved addresses, saved payment methods, and refund request management with policy enforcement.
- Admin Panel (Livewire): Real-time server-rendered admin dashboard with live stats, role & permission management, product approvals, flash sale management, and system settings.
- Notifications: Multi-channel notification system (email via Brevo, SMS via Twilio/Africa's Talking), in-app notify logs, store notices with priority levels, and event-driven order/payment/refund status alerts.
- Media Management: Spatie Media Library for structured file uploads, automatic image conversions, and configurable disk (local/S3) per environment.
- Newsletter & Misc: Mailcoach-powered newsletter subscriptions, FAQ management, multi-language support, Terms & Conditions, and bulk product import/export via Excel/CSV.
Technical Implementation
- Modular RESTful API: Laravel 10 routes split by domain (auth, catalog, e-commerce, promotions, shop, user, affiliate, misc, admin) with middleware stacks enforcing Sanctum auth, role checks, email verification, and custom throttle policies per endpoint group.
- Repository Pattern: Prettus L5 Repository abstracts all data access behind interfaces, with DTOs, Criteria classes, and dedicated Service layers (e.g.,
CouponUsageService,NotificationService,FlashSaleService) keeping controllers thin and business logic testable. - Role-Based Access Control: Spatie Laravel Permission enforces granular roles (Customer, Vendor, Admin, Super Admin) at the route, controller, and model level — including admin-only Livewire components with impersonation capability.
- Queue-Driven Architecture: Background jobs power email/SMS notifications, media image conversions, digital file processing, and payment webhook handling — decoupled via Laravel Queues with configurable drivers.
- OTP & Mobile Validation: Custom OTP manager with configurable wait times, rate limits, min/max code ranges, and a pluggable mobile validator (Zambia-specific by default) integrating with multiple SMS gateways.
- Payment Abstraction Layer: A
PaymentInterfacecontract with a sharedBaseclass and gateway-specific implementations (Cgrate, Stripe, Razorpay, PayPal etc.) allows hot-swapping the active gateway via a single environment variable.
Integrations
Cgrate (543)StripePayPalRazorpayCyberSource FlexTwilioAfrica's TalkingBrevoMailcoachPusherSpatie Media Library