Rebuilding our Open edX instance manager

Posted by Giovanni Cimolin da Silva on August 3, 2020

Note: we no longer offer our Pro & Teacher Plan

A few months ago we decided to rebuild our Open edX instance manager frontend to provide more customization options and features to our Pro & Teacher plan subscribers and trial users. 

We needed to go from a simple registration form (shown below) to a full user console with theme customizations, LMS previews and other features.

Old registration form

From the start, the main goals of the project were: implement a new user console to allow users to self-service and enable our developers to work on the newer technologies that the platform is transitioning to.

Software Architecture

We’ve opted for a decoupled implementation between the frontend and the backend using React and a REST API. 

Changes made to the backend took form mostly as APIs to the new frontend, but we had to add some deployment hooks to allow passing custom configuration to the instance in provision time. drf-yasg handled the automatic generation of documentation.

The new frontend was built from scratch using React and Typescript. A TypeScript API client was generated using the backend's automatic documentation, using Swagger Codegen and saving us lots of development time.

Upstream features

While building the console, we leveraged a lot of features contributed over the years to the platform:

  • simple_theme ansible role to allow easy theme deployments
  • edx-simple-theme: a simple, but customizable Open edX theme
  • Static page content overrides from SiteConfiguration (see Pull Request)
    • We’re also upstreaming support to set SiteConfiguration variables on instance build time on this PR
  • Marketing URL overrides: allows modifying links in the LMS even when a marketing website is not set (see Pull Request)

The release

After a few months of implementation, we finally deployed our brand new user console:

Feel free to try it out on https://console.opencraft.com, and you can even deploy your own from the source code! The entire instance manager is open source software and can be found at: https://github.com/open-craft/opencraft, and if you want to dig deeper, you can follow the PR trail on the implementation.

There’s still lots of improvements to be worked on and bugs to be fixed, so if you have any suggestions, feel free to create an issue on the repository or comment below.

Latest Posts
June 6, 2024
Catch OpenCraft at the Open edX Conference 2024

This year, the Open edX Conference will be held from July 2 – 5, 2024 in Stellenbosch, South Africa. I’m […]

Read More
September 18, 2023
What is the Impact of AI in the Online Learning Space?

The arrival of new AI technology has sent the world of online education abuzz. The new technologies have brought new […]

Read More
July 3, 2023
June 2023: OpenCraft Quarterly Catch Up

Open edX presents Content Tagging! "Tagging" has been a long-requested feature for managing content in Studio, and now OpenCraft is finally designing and […]

Read More

We deliver top-notch learning solutions.

We’re an elite team of designers and developers, who love creating quality learning management solutions. Let’s chat about your latest project.
Get in touch

Get in touch

We'd love to hear from you! Send us a message and a member of our team will get back to you.
Contact us
Subscribe to our newsletter
© OpenCraft 2024
edX and Open edX® are trademarks of edX Inc
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram