Challenge Overview
1.0. Introduction
Topcoder would like to improve the product development team's ability to deliver quick, stable releases across all key applications/services of the platform. This includes making it easy for the community to quickly participate in design, development, qa, devops, and release efforts.
2.0. Challenge Overview
The admin-app is a customer support admin app written in Angular.js.This challenge will update the circle.yml to support multiple environments and clean up the code.
2.1. Background
To successfully deploy the admin-app, a couple of tools and services need to be present in your development environment:1.0. node.js v5+
2.0. npm v3+
3.0. protractor
4.0. gulp
2.0. npm v3+
3.0. protractor
4.0. gulp
2.2. Requirements
1. Remove the hard-coded credentials from the e2e tests files: login.spec.js and dashboard.spec.js and put them inside environment variables named TEST_USER and TEST_PASSWORD. If either variable is unset, the tests should fail hinting that they must be set for the tests to run.2. The port number in the http://localhost:3000/ URL used in the tests should also not be hard-coded. It should be determined at run time.
3. The admin-app's circle.yml file contains an environment variable named CIRCLE_ENV which is hard-coded to the dev environment but this needs to be configurable. The proper way is to add variables on the "Environment Variables" screen of the "Build Settings" page for the project on CircleCI.
4. In addition to removing the hard-coded value for CIRCLE_ENV, the variable itself should also be removed. There is an existing environment variable for the same purpose called BUILD_ENV used in the code and on CircleCI. On CircleCI, it is currently set to "BUILD_ENV=dev" and can be set to any of "local, dev, qa, prod" based on the values present in config.json.
2.3. Tasks
Your responsibilities in this challenge are as follows:1. Please update the code and README accordingly.
2. Setup and test your changes on CircleCI.
3. Provide a separate README summarizing your changes and how to verify them.
The winner will submit a pull request (PR). Please grant CircleCI access to your fork of the repo so that GitHub can indicate whether your PR changes pass on CircleCI or not.
3.0. Repositories
admin-apphttps://github.com/appirio-tech/admin-app