Theory Toppers required a system that allowed their clients to login, purchase an online course, and then view that course. They were already moving to a single file HTML5 online course, so a secure way to deliver and protect that data was needed along with an automatic expiry of licenses based on the package purchased. Further, they needed a quick way to access all of this data, administer licenses, and upload new versions of course files.
Our solution was to build a custom unpublished app that allowed us to create front end APIs to handle license creation as well as a back end interface to allow admin controls. Built in Amazon AWS, each purchase is granted a license and is then immediately available to users. Expiry dates are set during access requests so that files are no longer available after expiry.
When a customer makes a purchase, our custom app gets a webhook and creates a new license for that user based on the details of that product. Products are mapped to expiry lengths in the admin application and can be updated anytime by an admin.
The course files are important to keep secure, so we use industry leading technologies to set cookies in the browser when a course is accessed. Those files are only then accessible with that IP and during that timeframe, after which they are locked out.
Built with a custom user interface directly available from within Shopify, admin users can review, expire, or extend licenses as well as create new courses and upload new course content all without leaving Shopify. Based on the Polaris design framework, the admin is a natural extension of Shopify's own admin.
When browsing customers, admins can easily link out directly to the customer licenses that apply for that user. Similarly, when looking at products they can easily link over to the app to see the expiry length and upload new course files with ease.