Technical Documentation

Who is this for?

Sunbird’s developer documentation is meant for its adopters, developers and contributors.

The developer documentation helps you to get familiar with the bare necessities, giving you a quick and clean approach to get you up and running. If you are looking for ways to customize the workflow, or just breaking things down to build them back up, head to the reference section to dig into the mechanics of Sunbird APIs.

Sunbird is an open source platform, you are free to use any programming language to extend or customize it. To try the Sunbird APIs, a basic understanding of REST APIs and a knowledge of object-oriented design principles is a plus, though not necessary.

The Developer documentation provides you with a complete set of guidelines which you need to:

  • Install Sunbird
  • Configure Sunbird
  • Customize Sunbird
  • Extend Sunbird
  • Contribute to Sunbird

What technical resources do you need to instantiate Sunbird?

The Sunbird sandbox environment is available to users to sample the basic capabililties that the infrastructure has to offer. 

Sunbird is available for minimal installation. Please write to info@sunbird.org for the documentation.

Installing the full version of Sunbird has the following prerequisites : 

  • System administrator permissions on Sunbird and all servers
  • Hands-on experience in administering Linux systems
  • Hands-on experience using Docker to run containerized services

Other requirements : 

  1. Private GitHub repository to store Ansible hosts and secrets
  2. Fully Qualified Domain Name (FQDN) with SSL
  3. Azure Storage account
  4. Docker hub account
  5. A Public IP
  6. Security:
  • All ports must be open in internal networks (Azure-Vnet or AWS-VPC) for internal communication between the VMs
  • External ports must be open from the Proxy or load balancer, following ports should open to public
    • 80 (0.0.0.0) inbound
    • 443 (0.0.0.0) inbound
  • By default, all the outbound ports are allowed public access from the VM