
Printout Backend | Laravel REST API
- Laravel 10
- PHP
- MySQL
- JWT Auth
- Sanctum
- Spatie Media
- Firebase
- Paymob
- Pusher
- PDF Parser
- Imagick
- REST APIs
A Laravel 10 REST API backend for an online printing and delivery platform connecting clients, admins, vendors, and delivery drivers through separate app modules.
Project Overview
Printout is an online printing and delivery platform that connects customers, admins, vendors, and delivery drivers through dedicated API modules. I developed the Laravel backend powering custom print orders, product catalogs, cart management, file uploads, payments, delivery tracking, real-time communication, and admin reporting.
Authentication & App APIs
Built REST APIs for the client app, admin dashboard, vendor portal, and delivery app. Implemented multi-guard JWT authentication for clients, admins, vendors, and delivery users, with OTP verification through email/SMS, password reset, social login, and FCM token handling.
Print Ordering & Pricing
Developed custom print flows for documents, banners, uploaded files, PDFs, images, and Google Drive links. Implemented dynamic pricing for paper type, size, quantity, pages, selected page ranges, banner dimensions, materials, and customizations. Built cart and checkout systems for authenticated users and guests using guest tokens.
Payments, Files & Order Lifecycle
Integrated Paymob payment intentions, cash/deposit payments, guest checkout, coupons, and order total calculation. Added PDF validation and preview generation with page-count limits, file-size limits, and memory-safe PDF-to-image conversion. Implemented order creation, status updates, vendor assignment, delivery assignment, reviews, ratings, uploaded files, and media handling.
Operations, Delivery & Reporting
Built delivery APIs for order acceptance, current/completed orders, arrival confirmation, unreachable reports, wallet calculations, location updates, and delivery ratings. Added vendor APIs for product assignment, vendor orders, order details, profile updates, and production workflow updates. Implemented real-time chat using private broadcast channels, Firebase push notifications, loyalty points, referral rewards, vouchers, coupon usage tracking, and admin reports for production, financial performance, delivery logistics, revenue, cost, profit margin, and delivery timing.
Backend Tooling
Used Spatie Media Library for file/media management, Spatie Permissions for roles and permissions, and Laravel localization for multilingual catalog data. Added unit tests for PDF validation, PDF configuration, upload limits, and structured PDF error handling.