Built from scratch
We provided a full service by creating the architecture and implementing the platform in an agile way.
- Content Management. The platform was developed as a multi tenant solution that runs on a global scale in the AWS cloud. By leveraging various AWS Cloud features it delivers constant performance around the globe.
- Student Access. A multi tier role model allows fine grained access control for content management and learner access to content. The students can be given Assignments that they have to fulfil by uploading their own content. Students can be placed into different groups.
- Global Administration. A “super admin” platform allows the content management of multiple platforms from a single source.
- Content Presentation. All video content is optimised for fast and reliable streaming in multiple qualities. All kind of content can be uploaded and will be presented to the user inline or as download. The video content is presented in multiple lesson groups for students to self learn. Additional Resources categories can provide additional material for each lesson.
- Favourites and sharing. Students can use known features as Favourites and Sharing.
The platform is development on AWS and leverages various cloud features. It is designed to use these features to create a highly resilient system without single points of failures while being highly extensible.
- AWS CloudFormation. The platform owner can easily create new Toolkits on the Superadmin web application. The toolkit is modelled using AWS CloudFormation infrastructure-as-code for easy provisioning while keeping costs per platform low by using dynamic scaling features.
- AWS Route53 / DNS. They are dynamically adding subdomains to the DNS system.
- AWS Certificate Manager. The web traffic of each toolkit is encrypted using SSL/TLS web standard by a dynamically provisioned certificate from AWS.
- AWS CloudFront. For fast and secure content delivery to the users the platform is using the AWS CloudFront content delivery network.
- AWS Lambda. The platform is build around a Microservice architecture employing the Command Query Responsibility Segregation (CQRS) pattern. This allows an almost unlimited scaling for single operations to match demand. The AWS Lambda platform is used to run each backend function in a separate, server less service. The server less service architecture increases resilience of the overall toolkit by having no single point of failure.
- AWS API Gateway. All server less functions that build the platforms backend are made available for the frontend application trough the AWS API Gateway as a central way to manage security, access control and scaling.
- AWS S3. All parts of the toolkits as functions code, the single page web applications and the content itself is stored on AWS highly available object storage system.
- AWS DynamoDB. The AWS DynamoDB NoSQL database system is used to store all dynamic data of the toolkits which allows dynamic scaling on demand at any scale.
- AWS Elastic Transcoder / AWS MediaConvert. The AWS media transcoding products run all converting tasks on the platform to ensure frictionless layout of video content to all devices. Each uploaded video is encoded dynamically into different optimised video formats and stored on S3. The encoding status is reported back to the admins and users.
- AWS Simple Notification Service (SNS). All status updates of the various toolkit components are routed trough the AWS SNS system using the pub/sub messaging pattern.
- Web Frontend. The web frontend for the toolkit components are developed as Single Page Applications using the React framework with TypeScript. The Single Page Application pattern is a modern design pattern for delivering an application like experience on the web. Users experience fast application performance.