The OppiaMobile platform is open source (released under a GNU GPL v3 license) and we’d really welcome any input to the development of the platform by other programmers.

The developer pages here give an overview of the architecture, workflow and components which make up the OppiaMobile platform. See here for further information about the different components and links to the source code etc.

The platform is under constant development and there are many features we’d like to add, plus many areas where the platform could be improved.


As well as the information on these pages, you may also find the following resources useful:

  • Developer documentation – full info on how to install and create customised versions of the OppiaMobile server and client applications
  • Discussion forum – for posting questions and queries about OppiaMobile

Basic System Architecture/Workflow

Click to view larger version
  1. Courses are authored in Moodle.
  2. When the course is exported from Moodle, the quizzes are automatically exported to the OppiaMobile server.
  3. After export from Moodle, the module zip package can be downloaded and then uploaded into the learning modules app in the OppiaMobile server. The reason for leaving this as a manual upload (rather than automatically published) is to allow content authors the option to test out the content on their devices before it is pushed out as an automatic update to learners.
  4. Our OppiaMobile server provides the core of the server side, dealing with all user accounts, modules, quiz result submission and tracking activity.
  5. When users install the OppiaMobile Android app, their accounts are created on the OppiaMobile server. All quiz attempts and results are submitted from the OppiaMobile Android app to the OppiaMobile engine (when the user has an internet connection available).
  6. All learning modules are downloaded from the OppiaMobile server and all tracking activity by the user (pages viewed, videos watched and quiz attempts) is submitted to the OppiaMobile server by the OppiaMobile Android app. The OppiaMobile also deals with all the points and badges awarded.
  7. The OppiaMobile Android app delivers the learning content on the users phone.
  8. Media and video content can be hosted on any website, providing it allows a direct download of the video file. Currently all the media content is hosted in a static directory structure on our demo OppiaMobile website ( – but this is only for convenience, rather than a requirement.
  9. The OppiaMobile Android app can download the videos from the media hosting (if a wifi connection is available). Alternatively the media files may be directly copied onto the phone SD card (into /sdcard/digitalcampus/media/ directory).

Getting Help

If you have questions/queries about OppiaMobile, please post them in our forum on GoogleGroups.