SunbirdED Portal
The Sunbird portal is the browser-based interface for the Sunbird application stack. It provides a web-app through which all functionality of Sunbird can be accessed.
To get started with the Sunbird portal, please try out our cloud-based demo site at: https://staging.sunbirded.org
System Requirements | |
Operating System | MAC OS X 10.0 and above/Linux
Windows (not verified). Take it with your own expertise(no community support but open for contribution). |
RAM | > 6 Gb |
CPU | 2 cores, >2 GHz |
Software dependencies | Text |
---|---|
> 14.x.x (Install the latest release of LTS version) | |
> 11.x.x (Install the latest Angular CLI version) | |
Latest version of yarn: npm install --global yarn | |
Latest version of nodemon: npm install -g nodemon |
- 1.Clone projectgit clone https://github.com/Sunbird-Ed/SunbirdEd-portal.gitNote: Stable versions of the sunbird portal are available via tags for each release, and the master branch contains latest stable release. For latest stable release refer
- 2.Install required dependencies
- 1.Sunbird portal or web application
- 1.$ cd {PROJECT-FOLDER}/src/app/client
- 2.$ yarn install
- 2.Sunbird services stack or the backend API interface
- 1.$ cd {PROJECT-FOLDER}/src/app
- 2.$ yarn install
- 3.Configuring the Environment and Services StackConfigure the following system environment variables in the terminal which you have opened| Environment Variable | Value | Data Type || :------------------------ | ------- | --------- || sunbird_environment | local | string || sunbird_instance | sunbird | string || sunbird_default_channel | sunbird | string || sunbird_default_tenant | sunbird | string |The initialization of these environmental variables can take place in a common place like in your .bashrc or .bash_profile
- 4.Edit the Application ConfigurationOpen
<PROJECT-FOLDER>/src/app/helpers/environmentVariablesHelper.js
in any available text editor and update the contents of the file so that it contains exactly the following valuesmodule.exports = {// 1. LEARNER_URLLEARNER_URL: env.sunbird_learner_player_url || <'https://<host for adopter's instance>',// 2. CONTENT_URLCONTENT_URL: env.sunbird_content_player_url || <'https://<host for adopter's instance>',// 3. CONTENT_PROXYCONTENT_PROXY_URL: env.sunbird_content_proxy_url || <'https://<host for adopter's instance>',PORTAL_REALM: env.sunbird_portal_realm || 'sunbird',// 4. PORTAL_AUTH_SERVER_URLPORTAL_AUTH_SERVER_URL: env.sunbird_portal_auth_server_url || <'https://<host for adopter's instance>',PORTAL_AUTH_SERVER_CLIENT: env.sunbird_portal_auth_server_client || "portal",...PORTAL_PORT: env.sunbird_port || 3000,// 5. PORTAL_API_AUTH_TOKENPORTAL_API_AUTH_TOKEN: env.sunbird_api_auth_token || User generated API auth token...// 6. PORTAL_ECHO_API_URLPORTAL_ECHO_API_URL: env.sunbird_echo_api_url || '',...}These are the mandatory keys required to run the application in Local environment. Please update them with appropriate values in<PROJECT-FOLDER>/src/app/helpers/environmentVariablesHelper.js
| Environment Variable | Data Type | Description || :-------------------------------------| ---------- | ------------------------------------- || sunbird_azure_account_name | string | Azure account Name || sunbird_azure_account_key | string | Azure Account Key || sunbird_aws_region | string | Region for AWS account || KONG_DEVICE_REGISTER_ANONYMOUS_TOKEN | boolean | Flag value to allow anonymous user || sunbird_anonymous_device_register_api| string |The API for registering anonymous device|| sunbird_anonymous_register_token | string | Token to register anonymous device || SB_DOMAIN | string | The host for Sunbird Environment || PORTAL_API_AUTH_TOKEN | string | User generated API auth token |Once the file is updated with appropriate values, then you can proceed with running the application
- 1.Sunbird portal or web application
- 1.Run the following command in the {PROJECT-FOLDER}/src/app/client folder
- 2.$ ng build --watch=true
- 3.Wait for the build process to complete before proceeding to the next step
- 2.Sunbird services stack or the backend API interface
- 1.Run the following command in the {PROJECT-FOLDER}/src/app folder
- 2.$ npm run server
- 3.The local HTTP server is launched at
http://localhost:3000
.
├── Sunbirded-portal
| ├── /.circleci #
│ | └── config.yml # Circleci Configuration file
| ├── /experiments # -|-
| ├── /src/app # Sunbird portal or web application
│ | ├── /client # -|-
│ | | └── src # -|-
│ | ├── /helpers # Helpers and Service file
│ | ├── /libs # Sunbird utilities
│ | ├── /proxy # Redirection to respective services
│ | ├── /resourcebundles # Language resources
│ | ├── /routes # Sunbird Backend Routes
│ | ├── /sunbird-plugins # Sunbird plugins for editors
│ | ├── /tests # Test case scripts for helpers and routes
│ | ├── framework.config.js # Default framework configuration
│ | ├── gulp-tenant.js # -|-
│ | ├── gulpfile.js # Gulp build configuration
│ | ├── package.json # Contains Node packages as specified as dependencies in package.json
│ | └── server.js # Main application program file / entry file for Sunbird services stack or the backend API interface
└───└── .gitignore # git configuration to ignore some files and folder
- 1.Sunbird portal or web application1. $ cd {PROJECT-FOLDER}/src/app/client2. $ npm run test3. With Coverage $ npm run test-coverage
- 2.Sunbird services stack or the backend API interface1. $ cd {PROJECT-FOLDER}/src/app2. $ npm run backend-test3. With Coverage $ npm run backend-test-with-coverage
Last modified 2mo ago