[DAO:b69ee51] Update #1 for proposal "Decentraland University Live Teaching Platform"

Author: 0xe5cf1bb88a59f9fc609689c681d1d14bfe7ce73a
Update Status: On Time
Project Health: :green_circle: On Track

Introduction

The LiveTeach project has been progressing well and on track. We have made very solid progress on the React dApp, and that has been helping design the smart contract which is also progressing well.
We have some examples with initial versions of some of the core teaching features.
The NPM code architecture for setting up classrooms is established.
We have got our continuous integration pipelines and infrastructure set up with links to the repos and test URLs in the last section of this update.
There is a google drive link with some screenshots and videos of various aspects of our progress.

Highlights

Infrastructure setup. We are working using the Atlassian Stack including Bitbucket, and we are pushing the repositories periodically to the liveteach Github repos listed in this update.

  • Smart Contract
    • We have a prototype monolithic contract which is quite complete but needs refactoring into separate small contracts
    • It has a rich suite of unit tests.
    • It implements OpenZeppelin’s AccessControl interface for Role based security
    • It is integrated with the dApp with a development dApp build pointing to a verified contract that is published on Goerli
  • Dapp
    • We are currently using Cloudflare to host the dApp. We
    • The UI framework has come on well
    • We have adopted the Decentraland look and feel and have incorporated components that show users profile image.
    • We have got a version Decentraland Map/Land picker component that shows a LAND preview.
    • The smart contract is wired up and the Class Administrator is calling smart contract methods. Access to views is established by the AccessControl implementation on the smart contract.
    • We got the main React views set up as expressed in the wireframes we have created.
  • NPM Package
    • Working example scene of seating management currently being brought into the NPM library.
    • Working video and image viewers which sync using Peer to Peer comms
    • Hand Raise functionality
    • Establish code architecture of core functionality (e.g builders, factories, controllers etc)
    • Work on end to end teacher flow. Will add a sequence diagram to Notion to illustrate
    • Work on debug panel which various display verbosity levels (e.g. Student, Teacher, Developer)
  • Documentation
    • We have a cool documentation framework integrated into the dApp which lets us author all our documentation using Markdown.

Blockers

It’s not a blocker, but this is the closest thing we currently have to any blocker, and that is because we have reached a point on the smart contract where we need to split what is a prototype contract into multiple smaller contracts because we are now over the size limitation due to the maintenance functions required for each entity. And we also need to implement the OpenZeppelin unstructured proxy pattern so that we can update the logic of the contract while persisting data.

Next steps

  • End-to-end experience involving Students and Teacher (see sequence diagram in Notion)
  • Now we have a structure in the NPM library, we can start bringing features in from example scenes. This also leaves a unified approach to examples.
  • Support instancing of classrooms (allow scenes to declare multiple classrooms which can be used in parallel)
  • Work on 3D content viewer.
  • Refactor the smart contract from monolithic contract into multiple small contracts
  • Implement OpenZeppelin Proxy Pattern
  • Start Design Work on Community Venue
  • Community venue design to be started
  • Write more documentation now we have documentation centre supporting markdown in the dApp including architectural diagrams to give overview of what is being provided.
  • Publish locations of example scenes that are already developed into Genesis City, and allocate parcels so they future example scenes that are developed in October and November have somewhere to be deploy in GC.
  • Create an example scene running in Worlds inc creation of a CI pipeline for that.

Additional notes and links

LiveTeach GitHub Repos

Link to NPM library

Link to Development build of dApp

Google Drive folder with screengrabs, videos etc that we´ll add as we go:

View this update on the Governance dApp

Today, we have our Monthly Meeting with James from DCL University. The project is on track. They demonstrated progress during the first month, completing the design phase. They also shared all the GitHub links, although some of them are not yet complete as their tasks are scheduled for next month. You can review them in the GovApp Update and the metrics Public Roadmap, which also includes the number of commits required for the platform category. Additionally, we discussed the possibility of conducting a Town Hall Presentation on the 12th of October.

This project update has been edited by the author. Please check the latest version on the Governance dApp.