Gooseberry Planet - Platform

August 2018

Gooseberry Planet is an award-winning educational software platform that supports and enhances curriculum delivery for online safeguarding.

Please note that I have edited some images in this portfolio item to protect the privacy of users.

The platform offers students a way to learn and engage with safeguarding content at school and home using game-based learning. Robb Research Ltd created the Unity game for smooth deployment to a wide range of platforms, including WebGL.

In 2018 I architectured and implemented a full-stack solution for their platform using Amazon Web Services technologies to provide a reliable, scalable and cost-effective service. The underlying infrastructure is networked in a Virtual Private Cloud (VPC), a logically isolated section of the AWS cloud.

I developed a frontend website using the Angular framework that allows teachers and parents to view student resources and results, manage their student and classes and set permissions for areas in the game. The frontend also included a student portal that served the game inside of a browser utilising WebGL.

Teachers and school administrators can view results charts for a whole class; displayed for each scenario and separated into answer validation categories.

The system provides results charts and detailed results pages for each student, and every single question in the game.

The game also offers student workbooks, the results for which can be viewed online by the teacher. These provided an additional challenge because results were often visual, requiring a capture and store process for images displayed on the platform.

I produced a comprehensive MySQL entity-relationship model for the backend which I then forward engineered to an Amazon Relational Database Service running on the Aurora engine.

The validation system assigns encrypted JSON Web Tokens (JWT) for authorisation when successfully logging in. These tokens have an expiry date for security and are stored safely in the browser cache. 

The game is available to students on the platform via a separate student portal. I implemented a custom login system to aid younger students in logging in to the system. Each student is assigned a short unique username and can log in by clicking on the images that correspond to their password.

I wrote a custom plugin for the WebGL platform in Unity to accept JWT data from the browser and authorise the current student. This system meant that the students only needed to sign in to the portal and start playing the game without another authorisation layer in the WebGL client. The WebGL version allows students to access the system from school and at home without the need for a device that could run the apps.

The platform also includes a complete content management system for annual CPD (Continuing Professional Development) courses. School staff can be registered for Safeguarding and Prevent classes and complete them via WebGL or a standalone app.

I developed this CPD system modularly as part of a white-label process. I later repackaged it as a standalone platform due to a collaboration between Gooseberry Planet and the NAHT group.

NAHT Safeguarding & Prevent

In association with Gooseberry Planet, I developed and implemented a web platform that ran parallel to the Gooseberry Planet CPD system, which allowed NAHT members and affiliates to sign up and complete both Safeguarding and Prevent courses annually.

In addition to the platform, I developed a WordPress sales and blogging website for Gooseberry Planet.

Gooseberry Planet - WordPress

Gooseberry Planet required a sales and blogging website to run adjacent to their content management system. There were two main requirements for this website, to provide potential customers with valuable information on the Gooseberry Planet product and also to supply the whole school community with updates and alerts relating to child safety online.