- Ionic v7
- Angular v17
Run npm install to install necessary packages
Run npm run lint to lint app codebase
Run npm start to launch App locally
Run npm run i18n to update coverage of translateable static text
This should be applied only to trunk (development) or release/live separately. Both messages.xlf files in the both branches can never be the same because trunk has more untested code.
- We need generated locales script from
./localesand./projects/v3/src/locales - Depend on which language you need to update, select the translated script from
./projects/v3/src/locales - For example, for Japanese, use
message.ja.xlf - Go to poedit.org, create a project and upload translated locale script.
- In case, there are new changes in the static content, to run
npm run i18n - The above will regenerate
./locales/messages.xlf - Import this newly generated
messages.xlfto your created project with the previously uploaded translated script. - Continue translation on poeditor.org platform, export the translated script and rename and replace the one you get from
./projects/v3/src/locales
Run npm start to start a development server on your local, and calling p2-stage.practera.com or core-graphql endpoint for API
Run npm run local to serve app on localhost and calling 127.0.0.1:8080 for API
Run npm start to serve app on localhost
- Merge
developbranch tomaster(if we are releasing develop branch) - Merge
masterbranch torelease/eos - Create a new release in Github with the release pull request link as the description
- Change the version number on Slack
team-devchannel
masteris always + 0.01 version ahead oflivedevelopis always + 0.1 version ahead oflive
- Before we deploy app to live server, we'll need to create a
newrelic.jsfile from project root directory's/assetsfolder - Please select either
newrelic.js.devornewrelic.js.prodbased on the deployment environment - Live environment, use
newrelic.js.prod. Development environment, usenewrelic.js.dev - With the step above, new relic can collect and group collected information based on different environment.
npm run e2etest all features for desktop & Android & Iphonenpm run e2e-devused for devs to develop testsnpm run e2e-sandboxused to run automation test on sandbox
- Copy & paste
e2e/config/index.default.tsand change the name toindex.tsand fill in correct accounts - Copy & paste
e2e/protractor-dev.default.conf.jsand change the name toprotractor-dev.conf.js - Change the feature file path in
e2e/protractor-dev.conf.jsto the feature that you are developing - If you need to develop automation test for mobile, uncomment the
chromeOptions->mobileEmulationpart insidee2e/protractor-dev.conf.js - run
npm run e2e-devto see the result
- Normal login with user's credentials
- Direct link Login (core / login app)
- Simplest form -
*.com?do=secure&auth_token=* - Deeplinking form -
*.com?do=secure&auth_token=*&redirect=*&tl=*
- Simplest form -
- Global Login (core / login app)
- Format:
*.com?service=LOGIN&multiple=true&apikey=*&stack_uuid=*
- Format:
auth_token- the auth token used to authenticate usertl- timeline id of the program you are inredirect- the page you will be redirect to (see details below)
home- redirect to home pageproject- redirect to project pageactivity- redirect to activity page with the following parametersact- activity id
activity_task- redirect to activity-task page(without menu) with the following parametersact- activity idactivity_task_referrer_url- if this url is passed in, we will redirect the user to this url when user click back button on activity detail page, or click continue button of last task
assessment- redirect to assessment page with the following parametersact- activity idctxt- context idasmt- assessment idsm- submission id - [optional] if provide, will redirect user toassessment/:activityId/:contextId/:id/:submissionIdassessment_referrer_url- if this url is passed in, we will redirect the user to this url when user click back button or continue button on assessment page
topic- redirect to topic page with the following parametersact- activity idtop- topic id
reviews- redirect to reviews list pagereview- redirect to assessment review page with the following parametersctxt- context idasmt- assessment idsm- submission idassessment_referrer_url- if this url is passed in, we will redirect the user to this url when user click back button or continue button on review page
chat- redirect to chat list pagesettings- redirect to settings pagesettings-embed- redirect to settings embed page
return_url- when user switch program, he/she will be redirect to this url
*.com?do=secure&auth_token=abcdefg&redirect=project&tl=312will redirect you to the project page*.com?do=secure&auth_token=abcdefg&redirect=assessment&tl=312&act=231&ctxt=393&asmt=928will redirect you to the assessment page
*.com?do=resetpassword&key=*&email=*
*.com?do=registration&key=*&email=*
See buildspec.yml for the steps needed for the CodeBuild.
Any variables that will be passed with the prefix CUSTOM_ will be merged into the the src/environments/environment.custom.ts file and in the angular.json. See the env.sh file for details.
Other variables that need to be passed to the codebuild project are:
- S3_BUCKET - the S3 bucket where the code will be deployed.
- CF_DIST_ID - the CF distribution that will be invalidated when a deploy happens
- CUSTOM_COUNTRY - country for the installation, supported values -
AUS,US - CUSTOM_JS_ENVIRONEMENT - used in angular.json for new relic, possible values
prod,dev - CUSTOM_ENVIRONMENT - the env variable used in the src/environments/environment.custom.ts. Possible values
develop,sandbox,stage,live - CUSTOM_S3_BUCKET - the bucket used for the filestack uploads
- CUSTOM_API_ENDPOINT - the API endpoint
- CUSTOM_APP - the name of the app, used to prefix the file uploads, needed for multi tenancy
- CUSTOM_AWS_REGION - the region the app will work in
- CUSTOM_GRAPH_QL - the graph QL endpoint
- CUSTOM_INTERCOM - intercom details
- CUSTOM_APPKEY - Appkey used to talk to the API
- CUSTOM_PUSHERKEY - pusherKey used
- CUSTOM_FILESTACK_SIGNATURE - the filestack signature
- CUSTOM_FILESTACK_POLICY - the filestack policy
- CUSTOM_FILESTACK_VIRUS_DETECTION - the filestack virus detection policy
- CUSTOM_FILESTACK_KEY - the filestack key
App make API request with headers below, make sure API server has those custom headers allowed with OPTIONS method.
- apikey
- appkey
- service
- content-type
- teamid
- timelineid
- authorization
###Read More Documentation