Qprint Documentation
Qprint is a print-on-demand platform that connects customers with nearby shopkeepers. Upload files, pay securely, and have documents printed at local shops.
For Customers
- Upload files (PDF, images, Word, PowerPoint)
- Find nearby shopkeepers
- Pay via Razorpay or wallet
- Track print jobs in real-time
For Shopkeepers
- Manage print queues with real-time status
- Silent Windows printing via SumatraPDF
- Queue multiple prints to different printers
- Verify print completion before confirming orders
- Shop open/closed status with optional auto-close (heartbeat + web activity)
Quick Links
| Document | Description |
|---|---|
| Getting Started | Quick setup guide for all apps |
| Current Features | All implemented features |
| Roadmap | Planned features and future work |
| Setup Instructions | Detailed setup steps |
| API Documentation | API endpoints and examples |
| Windows Printing | Shopkeeper app printing setup |
| Maintenance | Regular checks, cert pinning, Render, Vercel |
Architecture Overview
Qprint consists of:
- Backend: Go API server with PostgreSQL database
- Frontend: Next.js web app (customer portal)
- Admin Frontend: Separate Next.js admin panel (port 3001)
- Customer App: Flutter mobile app (Android/iOS)
- Shopkeeper App: Flutter desktop app (Windows)
See Project Structure for detailed directory layout.
Documentation Structure
- Getting Started — Current Features, Roadmap
- Development Guide — Tech stack, setup, workflow, API, deployment
- Troubleshooting — Common issues and solutions
Version: 1.2.0 · Last Updated: February 2026