Back in 2019, when I decided to build an online portal for Magento 2 online courses, I was looking for a way to launch the website fast. After some investigation and consideration, I decided to go with GatsbyJS for the frontend and Strapi for the backend. The new single page with the subscription form has been launched at the magemastery.net domain.
The first online course launch has blown the backend database away and we were forced to migrate the Postgres database to a bigger server. Our hosting for the backend was Heroku and Netlify was for the frontend. Obviously, with the lack of caching in place and hundreds of concurrent user requests, there was room for improvement.
We migrated from Heroku to Digital Ocean so that we can control the server capacity as well as expenses in a more granular way.
Choosing Magento 2 Open Source as the platform for the Mage Mastery website wasn't the obvious choice. It came down to the fact that there is no really a Learning Management System that can be installed on top of Magento 2. Creating something from scratch wasn't an option, as we were looking for a wide range of website features that could be enabled with a minimum or no effort.
For example, website security and search were the top 2 features we wanted to have with the new Mage Mastery website. Another feature we were looking for is transactional emails and templates. However, the biggest concern for the Mage Mastery Premium Magento Courses website was the speed of online courses and content creation and publishing.
Mage Mastery V2
Here is the Architectural Diagram of the previous version of the Mage Mastery portal.