JSN English
Learning Platform.
A secure educational platform combining digital discovery with physical fulfillment to eliminate content piracy.
Storage
AWS S3 (Samples Only)
Payments
NodeQR (Dynamic UPI)
Security Model
Offline Physical Delivery
1. The "Anti-Piracy" Architecture
A major challenge in EdTech is unauthorized sharing of high-value PDFs. Once a user buys a PDF, they can forward it to thousands of others, destroying the creator's revenue.
The Solution: I architected a "Hybrid" model.
- Digital Discovery: Users can only view "Sample" pages (hosted on S3) to judge quality.
- Physical Fulfillment: The full material is never digitized. It is sent via courier to the user's address, ensuring physical possession and preventing mass distribution.
Workflow Security
Stops Digital Leaks
2. Admin & S3 Cloud Storage
The Admin Dashboard allows the content team to upload sample chapters. Using the aws-sdk, these files are uploaded to a public-read S3 Bucket.
Upload Logic
PUT /api/admin/uploadAdmin selects a PDF → Server streams it to S3 → Returns a public URL to store in MongoDB.
User Access
GET /api/materialsFrontend fetches the S3 URL. Users can read the sample in-browser but cannot access full content.
Total Amount
499
3. Dynamic NodeQR Payments
To avoid high payment gateway fees (2-3%), we implemented a direct UPI flow using the node-qr library.
When a user clicks "Buy", the server generates a unique UPI string containing the Admin's VPA, the exact amount, and a unique Transaction Ref ID. This string is converted into a QR code on the fly.
The "Manual Approval" Trade-off
Since personal UPI does not provide webhooks, we built an Admin Verification Panel. The user enters their UTR number after payment. The Admin cross-checks it with their bank SMS and clicks "Approve" to trigger the courier dispatch.
4. Admin Workflow
Payment Approval
Admin views pending orders. They match the user's submitted UTR against bank records. One click updates the status to "Paid".
Logistics Management
Once approved, the order moves to "Ready for Dispatch". Admin enters the Courier Tracking Number, which is emailed to the student.
Final Case Study