diff --git a/.circleci/config.yml b/.circleci/config.yml index 4aaaeb6f8..3d7c8fa27 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -13,7 +13,7 @@ install_dependency: &install_dependency install_deploysuite: &install_deploysuite name: Installation of install_deploysuite. command: | - git clone --branch v1.3 https://github.com/topcoder-platform/tc-deploy-scripts ../buildscript + git clone --branch v1.4 https://github.com/topcoder-platform/tc-deploy-scripts ../buildscript cp ./../buildscript/master_deploy.sh . cp ./../buildscript/buildenv.sh . cp ./../buildscript/awsconfiguration.sh . @@ -36,29 +36,8 @@ workspace_persist: &workspace_persist - dist workspace_attach: &workspace_attach at: ./workspace -jobs: - build-dev: - <<: *defaults - steps: - # Initialization. - - checkout - - setup_remote_docker - - run: *install_dependency - - run: *install_deploysuite - - restore_cache: *restore_cache_settings_for_build - - run: npm install - - save_cache: *save_cache_settings - - run: - name: "configuring environment" - command: | - ./awsconfiguration.sh DEV - ./buildenv.sh -e DEV -b dev-connectapp-buildvar - - run: *running_npm_build - - persist_to_workspace: *workspace_persist - - build-prod: - <<: *defaults - steps: + +build_steps: &build_steps # Initialization. - checkout - setup_remote_docker @@ -70,41 +49,53 @@ jobs: - run: name: "configuring environment" command: | - ./awsconfiguration.sh PROD - ./buildenv.sh -e PROD -b prod-connectapp-buildvar + ./awsconfiguration.sh $DEPLOY_ENV + ./buildenv.sh -e $DEPLOY_ENV -b ${LOGICAL_ENV}-connectapp-buildvar - run: *running_npm_build - persist_to_workspace: *workspace_persist - # Just tests commited code. - deployDev: - <<: *deploy_defaults - steps: +deploy_steps: &deploy_steps - checkout - attach_workspace: *workspace_attach - run: *install_deploysuite - deploy: name: Running MasterScript command: | - ./awsconfiguration.sh DEV + ./awsconfiguration.sh $DEPLOY_ENV source awsenvconf - ./buildenv.sh -e DEV -b dev-connectapp-deployvar + ./buildenv.sh -e $DEPLOY_ENV -b ${LOGICAL_ENV}-connectapp-deployvar source buildenvvar - ./master_deploy.sh -d CFRONT -e DEV -c false + ./master_deploy.sh -d CFRONT -e $DEPLOY_ENV -c false + +jobs: + build-dev: + <<: *defaults + environment: + DEPLOY_ENV: "DEV" + LOGICAL_ENV: "dev" + steps: *build_steps + + build-prod: + <<: *defaults + environment: + DEPLOY_ENV: "PROD" + LOGICAL_ENV: "prod" + steps: *build_steps + + # Just tests commited code. + deployDev: + <<: *deploy_defaults + environment: + DEPLOY_ENV: "DEV" + LOGICAL_ENV: "dev" + steps: *deploy_steps deployProd: <<: *deploy_defaults - steps: - - checkout - - attach_workspace: *workspace_attach - - run: *install_deploysuite - - deploy: - name: Running MasterScript - command: | - ./awsconfiguration.sh PROD - source awsenvconf - ./buildenv.sh -e PROD -b prod-connectapp-deployvar - source buildenvvar - ./master_deploy.sh -d CFRONT -e PROD -c true + environment: + DEPLOY_ENV: "PROD" + LOGICAL_ENV: "prod" + steps: *deploy_steps workflows: version: 2 diff --git a/package-lock.json b/package-lock.json index b9a245d77..794078165 100644 --- a/package-lock.json +++ b/package-lock.json @@ -412,8 +412,8 @@ } }, "appirio-tech-react-components": { - "version": "git+https://github.com/appirio-tech/react-components.git#c8c7db5590e858085d9e504ae29fe07de5a06288", - "from": "git+https://github.com/appirio-tech/react-components.git#feature/connectv2", + "version": "git+https://github.com/appirio-tech/react-components.git#71d852edd4bb7ed4e408809554513115f606f240", + "from": "git+https://github.com/appirio-tech/react-components.git#feature/connectv2-redesign", "requires": { "appirio-tech-api-schemas": "^5.0.69", "appirio-tech-client-app-layer": "^0.1.3", @@ -424,6 +424,7 @@ "isomorphic-fetch": "^2.2.1", "libphonenumber-js": "^1.4.6", "lodash": "^4.0.0", + "material-ui": "^0.20.2", "moment": "^2.11.2", "react": "^15.3.1", "react-addons-pure-render-mixin": "^15.3.1", @@ -440,15 +441,9 @@ "react-textarea-autosize": "^5.2.1", "react-transition-group": "^2.2.1", "redux-thunk": "^2.1.0", - "tc-ui": "git+https://github.com/appirio-tech/tc-ui.git#e577a0e704136f1e9ecce92ce4c0626aab932691", "uncontrollable": "^4.0.1" }, "dependencies": { - "coffee-script": { - "version": "1.12.7", - "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.7.tgz", - "integrity": "sha512-fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw==" - }, "fbjs": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.6.1.tgz", @@ -527,7 +522,7 @@ }, "tc-ui": { "version": "git+https://github.com/appirio-tech/tc-ui.git#e577a0e704136f1e9ecce92ce4c0626aab932691", - "from": "git+https://github.com/appirio-tech/tc-ui.git#feature/connectv2", + "from": "git+https://github.com/appirio-tech/tc-ui.git#e577a0e704136f1e9ecce92ce4c0626aab932691", "requires": { "classnames": "^2.2.3", "lodash": "^4.0.0", @@ -2306,6 +2301,11 @@ "resolved": "https://registry.npmjs.org/bourbon-neat/-/bourbon-neat-1.7.2.tgz", "integrity": "sha1-oiixJ0R53iR20yszFTEHylBTzz0=" }, + "bowser": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-1.9.4.tgz", + "integrity": "sha512-9IdMmj2KjigRq6oWhmwv1W36pDuA4STQZ8q6YO9um+x07xgYNCD3Oou+WP/3L1HNz7iqythGet3/p4wvc8AAwQ==" + }, "brace": { "version": "0.11.1", "resolved": "https://registry.npmjs.org/brace/-/brace-0.11.1.tgz", @@ -3007,6 +3007,11 @@ "integrity": "sha1-cxp5/URaVuk5JscumD7/k398b94=", "dev": true }, + "coffee-script": { + "version": "1.12.7", + "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.7.tgz", + "integrity": "sha512-fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw==" + }, "coffeescript": { "version": "1.12.7", "resolved": "https://registry.npmjs.org/coffeescript/-/coffeescript-1.12.7.tgz", @@ -3287,6 +3292,39 @@ "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", "dev": true }, + "copy-webpack-plugin": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.6.0.tgz", + "integrity": "sha512-Y+SQCF+0NoWQryez2zXn5J5knmr9z/9qSQt7fbL78u83rxmigOy8X5+BFn8CFSuX+nKT8gpYwJX68ekqtQt6ZA==", + "dev": true, + "requires": { + "cacache": "^10.0.4", + "find-cache-dir": "^1.0.0", + "globby": "^7.1.1", + "is-glob": "^4.0.0", + "loader-utils": "^1.1.0", + "minimatch": "^3.0.4", + "p-limit": "^1.0.0", + "serialize-javascript": "^1.4.0" + }, + "dependencies": { + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + } + } + }, "core-js": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", @@ -3512,6 +3550,15 @@ "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", "dev": true }, + "css-in-js-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/css-in-js-utils/-/css-in-js-utils-2.0.1.tgz", + "integrity": "sha512-PJF0SpJT+WdbVVt0AOYp9C8GnuruRlL/UFW7932nLWmFLQTaWEzTBQEx7/hn4BuV+WON75iAViSUJLiU3PKbpA==", + "requires": { + "hyphenate-style-name": "^1.0.2", + "isobject": "^3.0.1" + } + }, "css-loader": { "version": "0.28.11", "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.28.11.tgz", @@ -6151,12 +6198,14 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, + "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -6171,17 +6220,20 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "core-util-is": { "version": "1.0.2", @@ -6298,7 +6350,8 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "ini": { "version": "1.3.5", @@ -6310,6 +6363,7 @@ "version": "1.0.0", "bundled": true, "dev": true, + "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -6324,6 +6378,7 @@ "version": "3.0.4", "bundled": true, "dev": true, + "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -6331,12 +6386,14 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "minipass": { "version": "2.3.5", "bundled": true, "dev": true, + "optional": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -6355,6 +6412,7 @@ "version": "0.5.1", "bundled": true, "dev": true, + "optional": true, "requires": { "minimist": "0.0.8" } @@ -6435,7 +6493,8 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "object-assign": { "version": "4.1.1", @@ -6447,6 +6506,7 @@ "version": "1.4.0", "bundled": true, "dev": true, + "optional": true, "requires": { "wrappy": "1" } @@ -6568,6 +6628,7 @@ "version": "1.0.2", "bundled": true, "dev": true, + "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -7922,6 +7983,15 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" }, + "inline-style-prefixer": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/inline-style-prefixer/-/inline-style-prefixer-3.0.8.tgz", + "integrity": "sha1-hVG45bTVcyROZqNLBPfTIHaitTQ=", + "requires": { + "bowser": "^1.7.3", + "css-in-js-utils": "^2.0.0" + } + }, "inquirer": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", @@ -8714,6 +8784,11 @@ "integrity": "sha1-edk9LTM2PW/dKXCzNdkUGtWR15s=", "dev": true }, + "keycode": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/keycode/-/keycode-2.2.0.tgz", + "integrity": "sha1-PQr1bce4uOXLqNCpfxByBO7CKwQ=" + }, "killable": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", @@ -8778,12 +8853,11 @@ } }, "libphonenumber-js": { - "version": "1.7.15", - "resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.7.15.tgz", - "integrity": "sha512-FYqkPqPc8ZBAeGiCuU/4eKqvCyBP281DtayXoc+9XuRhgARn+CCTvy30VjfCevPROQkVxZKe2SfWj4d/3VrmVw==", + "version": "1.7.20", + "resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.7.20.tgz", + "integrity": "sha512-rjgSW5SEzkFwm84eXGjzZSOjLnzewcjQb8NwELXKki08CqkPi8ubqPzMheONEr2trcwieAIGWQt90MdIt4gfiA==", "requires": { "minimist": "^1.2.0", - "semver-compare": "^1.0.0", "xml2js": "^0.4.17" }, "dependencies": { @@ -9014,6 +9088,11 @@ "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", "dev": true }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + }, "lodash.mergewith": { "version": "4.6.1", "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz", @@ -9170,6 +9249,46 @@ "resolved": "https://registry.npmjs.org/material-colors/-/material-colors-1.2.6.tgz", "integrity": "sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg==" }, + "material-ui": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/material-ui/-/material-ui-0.20.2.tgz", + "integrity": "sha512-VeqgQkdvtK193w+FFvXDEwlVxI4rWk83eWbpYLeOIHDPWr3rbB9B075JRnJt/8IsI2X8q5Aia5W3+7m4KkleDg==", + "requires": { + "babel-runtime": "^6.23.0", + "inline-style-prefixer": "^3.0.8", + "keycode": "^2.1.8", + "lodash.merge": "^4.6.0", + "lodash.throttle": "^4.1.1", + "prop-types": "^15.5.7", + "react-event-listener": "^0.6.2", + "react-transition-group": "^1.2.1", + "recompose": "^0.26.0", + "simple-assign": "^0.1.0", + "warning": "^3.0.0" + }, + "dependencies": { + "react-transition-group": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-1.2.1.tgz", + "integrity": "sha512-CWaL3laCmgAFdxdKbhhps+c0HRGF4c+hdM4H23+FI1QBNUyx/AMeIJGWorehPNSaKnQNOAxL7PQmqMu78CDj3Q==", + "requires": { + "chain-function": "^1.0.0", + "dom-helpers": "^3.2.0", + "loose-envify": "^1.3.1", + "prop-types": "^15.5.6", + "warning": "^3.0.0" + } + }, + "warning": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz", + "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=", + "requires": { + "loose-envify": "^1.0.0" + } + } + } + }, "math-expression-evaluator": { "version": "1.2.17", "resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz", @@ -13761,6 +13880,26 @@ "prop-types": "^15.5.7" } }, + "react-event-listener": { + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/react-event-listener/-/react-event-listener-0.6.6.tgz", + "integrity": "sha512-+hCNqfy7o9wvO6UgjqFmBzARJS7qrNoda0VqzvOuioEpoEXKutiKuv92dSz6kP7rYLmyHPyYNLesi5t/aH1gfw==", + "requires": { + "@babel/runtime": "^7.2.0", + "prop-types": "^15.6.0", + "warning": "^4.0.1" + }, + "dependencies": { + "warning": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", + "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", + "requires": { + "loose-envify": "^1.0.0" + } + } + } + }, "react-gateway": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/react-gateway/-/react-gateway-3.0.0.tgz", @@ -15484,11 +15623,6 @@ "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", "dev": true }, - "semver-compare": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", - "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=" - }, "send": { "version": "0.16.2", "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", @@ -15656,6 +15790,11 @@ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "dev": true }, + "simple-assign": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/simple-assign/-/simple-assign-0.1.0.tgz", + "integrity": "sha1-F/0wZqXz13OPUDIbsPFMooHMS6o=" + }, "sinon": { "version": "2.0.0-pre", "resolved": "https://registry.npmjs.org/sinon/-/sinon-2.0.0-pre.tgz", @@ -17269,17 +17408,10 @@ "Base64": "~0.1.3", "json-fallback": "0.0.1", "jsonp": "~0.0.4", - "qs": "git+https://github.com/jfromaniello/node-querystring.git#5d96513991635e3e22d7aa54a8584d6ce97cace8", "reqwest": "^1.1.4", "trim": "~0.0.1", "winchan": "^0.1.1", "xtend": "~2.1.1" - }, - "dependencies": { - "qs": { - "version": "git+https://github.com/jfromaniello/node-querystring.git#5d96513991635e3e22d7aa54a8584d6ce97cace8", - "from": "git+https://github.com/jfromaniello/node-querystring.git#fix_ie7_bug_with_arrays" - } } }, "auto-config-fake-server": { @@ -19927,6 +20059,7 @@ "version": "0.0.9", "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "optional": true, "requires": { "inherits": "~2.0.0" } @@ -19935,6 +20068,7 @@ "version": "2.10.1", "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", + "optional": true, "requires": { "hoek": "2.x.x" } @@ -19951,7 +20085,8 @@ "buffer-shims": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", - "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=" + "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=", + "optional": true }, "caseless": { "version": "0.12.0", @@ -19968,12 +20103,14 @@ "code-point-at": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "optional": true }, "combined-stream": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", + "optional": true, "requires": { "delayed-stream": "~1.0.0" } @@ -19986,12 +20123,14 @@ "console-control-strings": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "optional": true }, "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "optional": true }, "cryptiles": { "version": "2.0.5", @@ -20037,7 +20176,8 @@ "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "optional": true }, "delegates": { "version": "1.0.0", @@ -20063,7 +20203,8 @@ "extsprintf": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz", - "integrity": "sha1-4QgOBljjALBilJkMxw4VAiNf1VA=" + "integrity": "sha1-4QgOBljjALBilJkMxw4VAiNf1VA=", + "optional": true }, "forever-agent": { "version": "0.6.1", @@ -20234,6 +20375,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -20247,7 +20389,8 @@ "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "optional": true }, "isstream": { "version": "0.1.2", @@ -20320,12 +20463,14 @@ "mime-db": { "version": "1.27.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.27.0.tgz", - "integrity": "sha1-gg9XIpa70g7CXtVeW13oaeVDbrE=" + "integrity": "sha1-gg9XIpa70g7CXtVeW13oaeVDbrE=", + "optional": true }, "mime-types": { "version": "2.1.15", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz", "integrity": "sha1-pOv1BkCUVpI3uM9wBGd20J/JKu0=", + "optional": true, "requires": { "mime-db": "~1.27.0" } @@ -20399,7 +20544,8 @@ "number-is-nan": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "optional": true }, "oauth-sign": { "version": "0.8.2", @@ -20457,7 +20603,8 @@ "process-nextick-args": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "optional": true }, "punycode": { "version": "1.4.1", @@ -20495,6 +20642,7 @@ "version": "2.2.9", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.9.tgz", "integrity": "sha1-z3jsb0ptHrQ9JkiMrJfwQudLf8g=", + "optional": true, "requires": { "buffer-shims": "~1.0.0", "core-util-is": "~1.0.0", @@ -20546,7 +20694,8 @@ "safe-buffer": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz", - "integrity": "sha1-0mPKVGls2KMGtcplUekt5XkY++c=" + "integrity": "sha1-0mPKVGls2KMGtcplUekt5XkY++c=", + "optional": true }, "semver": { "version": "5.3.0", @@ -20604,6 +20753,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -20614,6 +20764,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz", "integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=", + "optional": true, "requires": { "safe-buffer": "^5.0.1" } @@ -20642,6 +20793,7 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", + "optional": true, "requires": { "block-stream": "*", "fstream": "^1.0.2", @@ -20697,7 +20849,8 @@ "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "optional": true }, "uuid": { "version": "3.0.1", @@ -23290,6 +23443,10 @@ "resolved": "https://registry.npmjs.org/q/-/q-1.5.0.tgz", "integrity": "sha512-VVMcd+HnuWZalHPycK7CsbVJ+sSrrrnCvHcW38YJVK9Tywnb5DUWJjONi81bLUj7aqDjIXnePxBl5t1r/F/ncg==" }, + "qs": { + "version": "git+https://github.com/jfromaniello/node-querystring.git#5d96513991635e3e22d7aa54a8584d6ce97cace8", + "from": "git+https://github.com/jfromaniello/node-querystring.git#5d96513991635e3e22d7aa54a8584d6ce97cace8" + }, "query-string": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", diff --git a/src/actions/templates.js b/src/actions/templates.js index f2ac671a5..f69de13b5 100644 --- a/src/actions/templates.js +++ b/src/actions/templates.js @@ -5,8 +5,15 @@ import _ from 'lodash' import { LOAD_PROJECTS_METADATA, ADD_PROJECTS_METADATA, UPDATE_PROJECTS_METADATA, REMOVE_PROJECTS_METADATA, - PROJECT_TEMPLATES_SORT, PRODUCT_TEMPLATES_SORT, PROJECT_TYPES_SORT, CREATE_PROJECT_TEMPLATE, CREATE_PROJECT_TYPE, + PROJECT_TEMPLATES_SORT, PRODUCT_TEMPLATES_SORT, PROJECT_TYPES_SORT, FORM_SORT, PLAN_CONFIG_SORT, PRICE_CONFIG_SORT, MILESTONE_TEMPLATES_SORT, CREATE_PROJECT_TEMPLATE, CREATE_PROJECT_TYPE, CREATE_PRODUCT_TEMPLATE, + CREATE_MILESTONE_TEMPLATE, + CREATE_FORM, + CREATE_PLAN_CONFIG, + CREATE_PRICE_CONFIG, + LOAD_VERSION_OPTION_LIST, + LOAD_PROJECT_METADATA_WITH_VERSION, + LOAD_PROJECTS_METADATA_REVISION_LIST, PRODUCT_CATEGORIES_SORT, CREATE_PRODUCT_CATEGORY, REMOVE_PROJECT_TYPE, @@ -16,9 +23,13 @@ import { } from '../config/constants' import { getProjectsMetadata, + getVersionOptionList as getVersionOptionListAPI, + getRevisionList as getRevisionListAPI, + getProjectMetadataWithVersion as getProjectMetadataWithVersionAPI, createProjectsMetadata as createProjectsMetadataAPI, updateProjectsMetadata as updateProjectsMetadataAPI, - deleteProjectsMetadata as deleteProjectsMetadataAPI } from '../api/templates' + deleteProjectsMetadata as deleteProjectsMetadataAPI, + deleteProjectsMetadataSpecial as deleteProjectsMetadataSpecialAPI } from '../api/templates' export function loadProjectsMetadata() { return (dispatch) => { @@ -38,6 +49,33 @@ export function getProductTemplate() { } } +export function getProjectMetadataWithVersion(type, key, version) { + return (dispatch) => { + return dispatch({ + type: LOAD_PROJECT_METADATA_WITH_VERSION, + payload: getProjectMetadataWithVersionAPI(type, key, version) + }) + } +} + +export function getVersionOptionList(type, key) { + return (dispatch) => { + return dispatch({ + type: LOAD_VERSION_OPTION_LIST, + payload: getVersionOptionListAPI(type, key) + }) + } +} + +export function getRevisionList(type, key, version) { + return (dispatch) => { + return dispatch({ + type: LOAD_PROJECTS_METADATA_REVISION_LIST, + payload: getRevisionListAPI(type, key, version) + }) + } +} + export function saveProductTemplate() { return (dispatch) => { return dispatch({ @@ -83,6 +121,42 @@ export function createProjectType(data) { } } +export function createForm(data) { + return (dispatch) => { + return dispatch({ + type: CREATE_FORM, + payload: createProjectsMetadataAPI('form', data) + }) + } +} + +export function createPlanConfig(data) { + return (dispatch) => { + return dispatch({ + type: CREATE_PLAN_CONFIG, + payload: createProjectsMetadataAPI('planConfig', data) + }) + } +} + +export function createPriceConfig(data) { + return (dispatch) => { + return dispatch({ + type: CREATE_PRICE_CONFIG, + payload: createProjectsMetadataAPI('priceConfig', data) + }) + } +} + +export function createMilestoneTemplate(data) { + return (dispatch) => { + return dispatch({ + type: CREATE_MILESTONE_TEMPLATE, + payload: createProjectsMetadataAPI('milestoneTemplates', data) + }) + } +} + export function createProductCategory(data) { return (dispatch) => { return dispatch({ @@ -110,6 +184,15 @@ export function deleteProjectsMetadata(metadataId, type) { } } +export function deleteProjectsMetadataSpecial(metadataId, type, data) { + return (dispatch) => { + return dispatch({ + type: REMOVE_PROJECTS_METADATA, + payload: deleteProjectsMetadataSpecialAPI(metadataId, type, data) + }) + } +} + export function deleteProjectTemplate(metadataId) { return (dispatch) => { return dispatch({ @@ -150,7 +233,7 @@ export function sortProjectTemplates(criteria) { return (dispatch) => { const fieldName = _.split(criteria, ' ')[0] const order = _.split(criteria, ' ')[1] || 'asc' - + return dispatch({ type: PROJECT_TEMPLATES_SORT, payload: { fieldName, order } @@ -162,7 +245,7 @@ export function sortProductTemplates(criteria) { return (dispatch) => { const fieldName = _.split(criteria, ' ')[0] const order = _.split(criteria, ' ')[1] || 'asc' - + return dispatch({ type: PRODUCT_TEMPLATES_SORT, payload: { fieldName, order } @@ -174,7 +257,7 @@ export function sortProjectTypes(criteria) { return (dispatch) => { const fieldName = _.split(criteria, ' ')[0] const order = _.split(criteria, ' ')[1] || 'asc' - + return dispatch({ type: PROJECT_TYPES_SORT, payload: { fieldName, order } @@ -182,14 +265,62 @@ export function sortProjectTypes(criteria) { } } +export function sortForms(criteria) { + return (dispatch) => { + const fieldName = _.split(criteria, ' ')[0] + const order = _.split(criteria, ' ')[1] || 'asc' + + return dispatch({ + type: FORM_SORT, + payload: { fieldName, order } + }) + } +} + +export function sortPlanConfigs(criteria) { + return (dispatch) => { + const fieldName = _.split(criteria, ' ')[0] + const order = _.split(criteria, ' ')[1] || 'asc' + + return dispatch({ + type: PLAN_CONFIG_SORT, + payload: { fieldName, order } + }) + } +} + +export function sortPriceConfigs(criteria) { + return (dispatch) => { + const fieldName = _.split(criteria, ' ')[0] + const order = _.split(criteria, ' ')[1] || 'asc' + + return dispatch({ + type: PRICE_CONFIG_SORT, + payload: { fieldName, order } + }) + } +} + +export function sortMilestoneTemplates(criteria) { + return (dispatch) => { + const fieldName = _.split(criteria, ' ')[0] + const order = _.split(criteria, ' ')[1] || 'asc' + + return dispatch({ + type: MILESTONE_TEMPLATES_SORT, + payload: { fieldName, order } + }) + } +} + export function sortProductCategories(criteria) { return (dispatch) => { const fieldName = _.split(criteria, ' ')[0] const order = _.split(criteria, ' ')[1] || 'asc' - + return dispatch({ type: PRODUCT_CATEGORIES_SORT, payload: { fieldName, order } }) } -} \ No newline at end of file +} diff --git a/src/api/projects.js b/src/api/projects.js index 3510ca29d..c5dba1524 100644 --- a/src/api/projects.js +++ b/src/api/projects.js @@ -4,7 +4,7 @@ import { TC_API_URL, PROJECTS_API_URL, PROJECTS_LIST_PER_PAGE } from '../config/ export function getProjects(criteria, pageNum) { // add default params - const includeFields = ['id', 'name', 'description', 'members', 'status', 'type', 'actualPrice', 'estimatedPrice', 'createdAt', 'updatedAt', 'createdBy', 'updatedBy', 'details', 'lastActivityAt', 'lastActivityUserId', 'version'] + const includeFields = ['id', 'name', 'description', 'members', 'status', 'type', 'actualPrice', 'estimatedPrice', 'createdAt', 'updatedAt', 'createdBy', 'updatedBy', 'details', 'lastActivityAt', 'lastActivityUserId', 'version', 'templateId'] const params = { limit: PROJECTS_LIST_PER_PAGE, offset: (pageNum - 1) * PROJECTS_LIST_PER_PAGE, diff --git a/src/api/templates-json/product-templates.json b/src/api/templates-json/product-templates.json deleted file mode 100644 index cb60595d9..000000000 --- a/src/api/templates-json/product-templates.json +++ /dev/null @@ -1,8259 +0,0 @@ -[ - { - "id": 1, - "name": "App", - "productKey": "application_development", - "icon": "product-app-app", - "brief": "Apps", - "details": "Build apps for mobile, web, or wearables", - "aliases": [ - "app", - "application_development" - ], - "template": { - "questions": [ - { - "id": "appDefinition", - "title": "Development Integration", - "required": true, - "description": "Please answer a few basic questions about your project. You can also provide the needed information in a supporting document--add a link in the notes section or upload it below.", - "subSections": [ - { - "id": "projectName", - "required": true, - "validationError": "Please provide a name for your project", - "fieldName": "name", - "description": "", - "title": "Project Name", - "type": "project-name", - "hidden": true - }, - { - "id": "questions", - "required": true, - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "title": "Which is your primary device target?", - "description": "Select only the device that you need to develop for. In most cases limiting the scope of your project would result in better final result. Topcoder recommends to always start with the mobile phone view and expand to other devices as your app matures.", - "fieldName": "details.appDefinition.primaryTarget", - "type": "tiled-radio-group", - "options": [ - { - "value": "phone", - "title": "Phone", - "icon": "icon-tech-outline-mobile", - "iconOptions": { - "fill": "#00000" - }, - "desc": "iOS, Android, Hybrid" - }, - { - "value": "tablet", - "title": "Tablet", - "icon": "icon-tech-outline-tablet", - "iconOptions": { - "fill": "#00000" - }, - "desc": "iOS, Android, Hybrid" - }, - { - "value": "desktop", - "title": "Desktop", - "icon": "icon-tech-outline-desktop", - "iconOptions": { - "fill": "#00000" - }, - "desc": "all OS" - }, - { - "value": "wearable", - "title": "Wearable", - "icon": "icon-tech-outline-watch-apple", - "iconOptions": { - "fill": "#00000" - }, - "desc": "Watch OS, Android Wear" - } - ], - "hidden": true - }, - { - "id": "projectInfo", - "validations": "isRequired,minLength:160", - "validationErrors": { - "isRequired": "Please provide a description", - "minLength": "Please enter at least 160 characters" - }, - "fieldName": "description", - "description": "Brief Description", - "title": "Description", - "type": "textbox", - "hidden": true - }, - { - "icon": "question", - "title": "What is the goal of your application? How will people use it?", - "description": "Describe your objectives for creating this application", - "type": "see-attached-textbox", - "fieldName": "details.appDefinition.goal" - }, - { - "icon": "question", - "title": "Who are the users of your application? ", - "description": "Describe the roles and needs of your target users", - "type": "see-attached-textbox", - "fieldName": "details.appDefinition.users" - }, - { - "icon": "question", - "fieldName": "details.appDefinition.budget", - "description": "Project budget in USD, please enter 0 if you don't have one", - "title": "What is your project budget?", - "type": "numberinputpositive" - }, - { - "icon": "question", - "title": "How precise is your budget?", - "description": "", - "fieldName": "details.appDefinition.budgetType", - "type": "slide-radiogroup", - "options": [ - { - "value": "guess", - "title": "Its a wild guess" - }, - { - "value": "ballpark", - "title": "I have a rough idea" - }, - { - "value": "exact", - "title": "Precise to the penny" - } - ] - }, - { - "icon": "question", - "title": "When do you want to get started?", - "description": "", - "fieldName": "details.appDefinition.whenToStart", - "type": "slide-radiogroup", - "options": [ - { - "value": "asap", - "title": "ASAP" - }, - { - "value": "1-2 months", - "title": "1-2 months" - }, - { - "value": "2-plus-months", - "title": "2+ months" - }, - { - "value": "estimating", - "title": "I'm just browsing" - } - ] - }, - { - "icon": "question", - "fieldName": "details.appDefinition.deadline", - "description": "", - "title": "Deadline", - "type": "slide-radiogroup", - "options": [ - { - "value": "2-weeks", - "title": "2 weeks" - }, - { - "value": "1-2-months", - "title": "1-2 months" - }, - { - "value": "2-plus-months", - "title": "2+ months" - }, - { - "value": "estimating", - "title": "I'm just browsing" - } - ] - }, - { - "icon": "question", - "title": "Feature requirements", - "description": "Please list all the features you would like in your application. You can use our wizard to pick from common features or define your own.", - "type": "see-attached-features", - "fieldName": "details.appDefinition.features" - } - ] - }, - { - "id": "notes", - "fieldName": "details.appDefinition.notes", - "title": "Notes", - "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)", - "type": "notes", - "hidden": true - }, - { - "id": "files", - "description": "", - "type": "files", - "fieldName": "attachments" - } - ] - }, - { - "id": "designSpecification", - "required": false, - "title": "Design Specification", - "description": "Define the visual style for your application or provide a style guide or brand guidelines. Skip this section (or particular questions) if you don't have any preferences or restrictions.", - "subSections": [ - { - "id": "questions", - "required": false, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "title": "What font style do you prefer? (Pick one)", - "description": "The typography used in your designs will fit within these broad font styles", - "type": "tiled-radio-group", - "options": [ - { - "value": "serif", - "title": "Serif", - "icon": "icon-tc-spec-type-serif", - "iconOptions": { - "fill": "#00000" - }, - "desc": "formal, old style" - }, - { - "value": "sanSerif", - "title": "Sans Serif", - "icon": "icon-tc-spec-type-sans-serif", - "iconOptions": { - "fill": "#00000" - }, - "desc": "clean, modern, informal" - } - ], - "fieldName": "details.designSpecification.fontStyle" - }, - { - "icon": "question", - "title": "What colors do you like? (Select all that apply)", - "description": "Your preferred colors will be used to guide the shading in your designs", - "type": "colors", - "defaultColors": [], - "fieldName": "details.designSpecification.colors" - }, - { - "icon": "question", - "title": "What icon style do you prefer? (Pick one)", - "description": "Icons within your designs will follow these styles", - "type": "tiled-radio-group", - "options": [ - { - "value": "flatColor", - "title": "Flat Color", - "icon": "icon-tc-spec-icon-type-color-home", - "iconOptions": { - "fill": "#00000" - }, - "desc": "playful" - }, - { - "value": "thinLine", - "title": "Thin Line", - "icon": "icon-tc-spec-icon-type-outline-home", - "iconOptions": { - "fill": "#00000" - }, - "desc": "modern" - }, - { - "value": "solidLine", - "title": "Solid Line", - "icon": "icon-tc-spec-icon-type-glyph-home", - "iconOptions": { - "fill": "#00000" - }, - "desc": "classic" - } - ], - "fieldName": "details.designSpecification.iconStyle" - } - ] - }, - { - "id": "notes", - "required": false, - "fieldName": "details.designSpecification.notes", - "title": "Notes", - "description": "Add any other important information regarding your project (e.g., links to documents or existing applications, budget or timing constraints)", - "type": "notes" - } - ] - }, - { - "id": "devSpecification", - "title": "Development Specification", - "description": "Define some basic technical requirements for your application or provide any architecture or technical guidelines. Skip this section if you dont know what is required.", - "required": false, - "subSections": [ - { - "id": "questions", - "required": false, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "title": "How should your application be built?", - "description": "Choose the operating system/platform for your application", - "type": "checkbox-group", - "options": [ - { - "value": "ios", - "label": "iOS" - }, - { - "value": "android", - "label": "Android" - }, - { - "value": "web", - "label": "Web" - }, - { - "value": "hybrid", - "label": "Hybrid" - } - ], - "fieldName": "details.devSpecification.platform" - }, - { - "icon": "question", - "title": "Is offline access required for your application?", - "description": "Do your users need to use the application when they are unable to connect to the internet?", - "type": "radio-group", - "options": [ - { - "value": "true", - "label": "Yes" - }, - { - "value": "false", - "label": "No" - } - ], - "fieldName": "details.devSpecification.offlineAccess" - }, - { - "icon": "question", - "title": "What level of security is needed for your application?", - "description": "Do you expect to be storing or transmitting personal or sensitive information?", - "type": "radio-group", - "options": [ - { - "value": "standard", - "label": "Standard - Nothing to do here" - }, - { - "value": "enhanced", - "label": "Enhanced" - }, - { - "value": "maximumm", - "label": "Maximum" - } - ], - "fieldName": "details.devSpecification.securityLevel" - } - ] - }, - { - "id": "notes", - "required": false, - "fieldName": "details.devSpecification.notes", - "title": "Notes", - "description": "Add any other important information regarding your project (e.g., links to documents or existing applications, budget or timing constraints)", - "type": "notes" - } - ] - } - ] - }, - "disabled": false, - "hidden": false - }, - { - "id": 2, - "name": "Enterprise Mobile", - "productKey": "enterprise_mobile", - "icon": "product-app-app", - "brief": "Enterprise Mobile", - "details": "Enterprise Mobile", - "aliases": [ - "enterprise-mobile" - ], - "template": { - "questions": [ - { - "id": "appDefinition", - "required": true, - "description": "Please answer a few basic questions about your project. You can also provide the needed information in a supporting document--add a link in the notes section or upload it below.", - "subSections": [ - { - "id": "projectName", - "required": true, - "validationError": "Please provide a name for your project", - "fieldName": "name", - "description": "", - "title": "Project Name", - "type": "project-name", - "hidden": true - }, - { - "id": "user", - "required": true, - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "id": "projectInfo", - "required": true, - "validations": "isRequired,minLength:160", - "validationErrors": { - "isRequired": "Please provide a description", - "minLength": "Please enter at least 160 characters" - }, - "fieldName": "description", - "description": "Can you provide a brief summary of the application you’d like to develop?", - "title": "App Summary", - "type": "textbox", - "hidden": true - }, - { - "icon": "question", - "required": true, - "validationError": "Please let us know the target device", - "title": "App Type", - "description": "What type of application are we developing? Please the required app type. Please note that each additional app type incurs a cost, but that the cost will be detailed and broken out in the final project proposal. ", - "fieldName": "details.appDefinition.appType", - "type": "checkbox-group", - "options": [ - { - "value": "ios", - "label": "iOS App - An app built for iPhone or iPads" - }, - { - "value": "android", - "label": "Android App - An app built for mobile phones or tablets running Android." - }, - { - "value": "hybrid", - "label": "Hybrid App - An app built using a hybrid framework (ex. Ionic/Cordova/Xamarin) and exported to one or more operating systems (iOS, Android or both)." - }, - { - "value": "web", - "label": "Mobile Web App - An app that is accessed by using a mobile web browser like Safari or Chrome." - } - ], - "hidden": true - }, - { - "fieldName": "details.appDefinition.workflow", - "description": "Please describe the ideal workflow for the proposed solution.", - "title": "Workflow", - "type": "textbox", - "hidden": true - }, - { - "fieldName": "details.appDefinition.objectives", - "description": "What are the main business objectives you want to achieve by developing this application?", - "title": "Objectives", - "type": "textbox", - "hidden": true - }, - { - "icon": "question", - "title": "Form Factor/Orientation", - "description": "Please select each for each form factor/orientation that must be supported.", - "fieldName": "details.appDefinition.formFactor", - "type": "checkbox-group", - "options": [ - { - "value": "mobile-phone-portrait", - "label": "Mobile Phone - Portrait" - }, - { - "value": "mobile-phone-landscape", - "label": "Mobile Phone - Landscape" - }, - { - "value": "tablet-device-portrait", - "label": "Tablet Device - Portrait" - }, - { - "value": "tablet-device-landscape", - "label": "Tablet Device - Landscape" - } - ], - "hidden": true - } - ] - }, - { - "required": false, - "hideTitle": false, - "title": "Style Guide & Brand Guidelines - Please add your answers below. If you do not know the answer, please add “Open to suggestions from the community/looking for creative solutions”", - "description": "", - "type": "questions", - "questions": [ - { - "fieldName": "details.designGuidelines.Styleguide", - "title": "Do you have a style guide or branding guidelines that need to be followed?", - "type": "textbox" - }, - { - "fieldName": "details.designGuidelines.fonts", - "title": "Are there any particular fonts you want used?", - "type": "textbox" - }, - { - "fieldName": "details.designGuidelines.colors", - "title": "Are there any particular colors/themes you want used?", - "type": "textbox" - }, - { - "fieldName": "details.designGuidelines.appIcon", - "title": "Do you need an app icon designed, or will you provide one?", - "type": "textbox" - } - ] - }, - { - "required": false, - "hideTitle": false, - "title": "User Roles - Please use the fields below to specify the type of users/roles for the application. If the role is not applicable, please enter N/A", - "type": "questions", - "description": "Please select each for each user type/role. Please provide details on what the user/role should do in the Description column.", - "questions": [ - { - "fieldName": "details.userRoles.standard", - "title": "Standard User", - "type": "textbox" - }, - { - "fieldName": "details.userRoles.admin", - "title": "Admin", - "type": "textbox" - }, - { - "fieldName": "details.userRoles.superAdmin", - "title": "Super Admin", - "type": "textbox" - } - ] - }, - { - "required": false, - "hideTitle": false, - "title": " - Will this application be dependant on data from another system or tool? If yes, please briefly describe that dependency here. This can include integration with an API or an existing backend/database.", - "description": "Will this application be dependant on data from another system or tool? If yes, please briefly describe that dependency here. This can include integration with an API or an existing backend/database.", - "type": "questions", - "questions": [ - { - "fieldName": "details.integrations.api", - "title": "API", - "type": "textbox" - }, - { - "fieldName": "details.integrations.backend", - "title": "Backend", - "type": "textbox" - }, - { - "fieldName": "details.integrations.database", - "title": "Database", - "type": "textbox" - } - ] - }, - { - "id": "screen-features", - "required": false, - "hideTitle": false, - "title": "Screen and Features", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "title": "Screen / Feature List", - "description": "Please select each required feature. Please note that each added feature incurs a cost, but that the cost will be detailed and broken out in the final project proposal. ", - "fieldName": "details.appDefinition.screens", - "type": "checkbox-group", - "options": [ - { - "value": "enterprise-login", - "label": "Enterprise Login - Supports integration with an existing authorization/authentication mechanism." - }, - { - "value": "email-login", - "label": "Email Login - Support sign in using an email address/password." - }, - { - "value": "social-login", - "label": "Social Login - Support register and login using third-party services such as Facebook, Twitter, and Google." - }, - { - "value": "registration", - "label": "Registration - Allow users to register and login using their email address and a password. Users can also change their password or recover a forgotten one." - }, - { - "value": "invitations", - "label": "Invitations - Allow users to invite others to use your app via email. " - }, - { - "value": "introductions", - "label": "Introductions - Present your app and inform users of core functionality using a series of introductory screens before they sign up." - }, - { - "value": "onboarding", - "label": "Onboarding - Virtually walk your users through your application. This functionality is especially useful if you need new users to set up an account or express preferences after they sign up." - }, - { - "value": "search", - "label": "Search - Provide the ability to search your app for specific content, such as products, members, or locations. Please specify below if you also would like autocomplete--suggesting appropriate search terms as a user starts typing." - }, - { - "value": "location-based-services", - "label": "Location Based Services - App must support the identification of the users geographic location for location based features. Ex. show store locations on a map or illustrating the progress of a delivery." - }, - { - "value": "camera", - "label": "Camera (Audio & Video) - Add this feature if your app will require using the camera to capture audio or video." - }, - { - "value": "file-upload", - "label": "File Upload - Allow users to upload photos or other files." - }, - { - "value": "notifications", - "label": "Notifications - Take advantage of notifications; for example, remind users to do certain tasks or update them on new content." - }, - { - "value": "dashboard", - "label": "Dashboard - App must have a central dashboard where users can access functionality" - }, - { - "value": "tagging", - "label": "Tagging - Allow users to tag products, people or content; for example, in order to classify and easily retrieve notes." - }, - { - "value": "account-settings", - "label": "Account Settings - Allow your users to adjust settings or specify preferences, such as communication frequency." - }, - { - "value": "help-faws", - "label": "Help/FAQs - Include a section dedicated to FAQ or Help content." - }, - { - "value": "marketplace", - "label": "Marketplace - Allow users to buy, sell, or rent products or services." - }, - { - "value": "ratings-reviews", - "label": "Ratings & Reviews - Let users rate or review people, products, or services." - }, - { - "value": "payments", - "label": "Payments - Allow users to pay in some way; for example, using credit cards, PayPal, or Bitcoin." - }, - { - "value": "shopping-cart", - "label": "Shopping Cart - Allow users to save items before purchasing. Please specify your desired functionality below." - }, - { - "value": "product-listing", - "label": "Product Listing - Add this feature to shows lists of product or services, with individual detail pages for each one." - }, - { - "value": "activity-feed", - "label": "Activity Feed - Show your users an activity feed of some kind, as they’re used to seeing on Facebook and Twitter, for example." - }, - { - "value": "profiles", - "label": "Profiles - Add this feature if your app requires users to have a profile, including the ability to edit it." - }, - { - "value": "messaging", - "label": "Messaging - Allow direct communication between two or more users." - }, - { - "value": "admin-tool", - "label": "Admin Tool - App must have an administrative tool or panel to enable direct management of users, content and the application." - }, - { - "value": "social-media-integration", - "label": "Social Media Integration - App must integrate with social media providers (Facebook, Instagram, Twitter, Google+, etc)" - }, - { - "value": "reporting", - "label": "Reporting - App must have the ability to report/export data" - }, - { - "value": "contact-us", - "label": "Contact Us - App must have the ability to allow users to contact an administrator/send feedback to administrators." - }, - { - "value": "3d-touch", - "label": "3D Touch - If this is an iOS App -- should the designers make use of 3D Touch?" - } - ], - "hidden": true - }, - { - "icon": "question", - "title": "Technology Requirements", - "description": "Please select each required technology requirement above", - "fieldName": "details.appDefinition.techFeatures", - "type": "checkbox-group", - "options": [ - { - "value": "enterprise-login", - "label": "SSO Integration - App must integrate with enterprise single-sign-on capability." - }, - { - "value": "api-integration", - "label": "API Integration - App must integrate with a pre-existing API." - }, - { - "value": "third-party-system-integration", - "label": "Third Party System Integration - App must integrate with an external application or system and either retrieve or post data." - }, - { - "value": "containerized-code", - "label": "Containerized Code - The codebase must be containerized via Docker to allow for easier deployment and maintenance." - }, - { - "value": "unit-tests", - "label": "Unit Tests - App must have unit tests to ensure code coverage." - }, - { - "value": "continuous-integration-/-continuous-deployment", - "label": "Continuous Integration / Continuous Deployment - Establishment of a CI/CD pipeline." - }, - { - "value": "analytics-implementation", - "label": "Analytics Implementation - Implementation of analytics to track user behavior and app usage." - }, - { - "value": "email-(smtp-server)-setup", - "label": "Email (SMTP Server) Setup - Development and configuration of an SMTP server to provide email notifications. Design, content and development of the emails will need to be handled separately." - }, - { - "value": "offline-capability", - "label": "Offline Capability - Ability to use features of the application offline, and have the data persist/saved locally and then sent back to a server for syncing." - }, - { - "value": "camera", - "label": "Minimal Battery Usage Implementation - Update to the core features of a mobile application to support the ability to minimize usage of network bandwidth and battery usage." - }, - { - "value": "apple-app-store-&-google-play-submission-support", - "label": "Apple App Store & Google Play Submission Support - Consulting support to help streamline the app publishing process to Apple App Store or Google Play." - }, - { - "value": "sms-gateway-integration", - "label": "SMS Gateway Integration - App must integrate with an external SMS gateway/provider for notifications via SMS." - }, - { - "value": "error-logging", - "label": "Error Logging - Does the application need error logging (this will log all errors, exceptions, warnings, debug information during the application execution and will be helpful to rectify the issues)?" - }, - { - "value": "faceid-touchid", - "label": "Face ID / Touch ID -- If this is an iOS App -- should we support Face ID/Touch ID for login" - } - ], - "hidden": true - } - ] - }, - { - "id": "techStack", - "required": false, - "hideTitle": false, - "title": "Technology Stack - Do you have a preferred technology stack? If yes, please list those requirements here:", - "description": "Do you have a preferred technology stack? If yes, please list those requirements here:", - "type": "questions", - "questions": [ - { - "fieldName": "details.techstack.languages", - "title": "Programming Languages", - "type": "textbox", - "hidden": true - }, - { - "fieldName": "details.techstack.frameworks", - "title": "Frameworks", - "type": "textbox", - "hidden": true - }, - { - "fieldName": "details.techstack.Database", - "title": "Database", - "type": "textbox", - "hidden": true - }, - { - "fieldName": "details.techstack.server", - "title": "Server", - "type": "textbox", - "hidden": true - }, - { - "fieldName": "details.techstack.hosting", - "title": "Hosting Environment", - "type": "textbox", - "hidden": true - } - ] - }, - { - "hideTitle": true, - "title": "Quality Assurance, Testing and Security", - "description": "", - "type": "questions", - "questions": [ - { - "fieldName": "details.qaTesting.security", - "title": "Security Requirements", - "type": "checkbox-group", - "options": [ - { - "value": "standard", - "label": "Standard Security - Select this option if your app requires standard security." - }, - { - "value": "enterprise", - "label": "Enterprise - Select this option if your application will house or transmit PII or sensitive data. The data will be encrypted on the device and the server." - }, - { - "value": "vulnerability", - "label": "Vulnerability Scanning - Vulnerability scanning is a security technique used to identify security weaknesses in a computer system." - }, - { - "value": "auditing", - "label": "Audit - Is it necessary to audit user actions? Auditing will keep a record of specific user actions like data creation/modification and will be helpful in identifying which user performed a particular action." - }, - { - "value": "confidential", - "label": "Confidential Information, Sensitive Financial Data or Personally Identifiable Information (PII) - Will the user be working directly with financial or other protected information such has health records?" - }, - { - "value": "mdm", - "label": "Mobile Device Management (MDM) - Do you employ an MDM solution? If yes, what service do you use?" - } - ], - "description": "Please select each required security requirement above." - }, - { - "icon": "question", - "title": "Quality Assurance, Test Data & Performance Testing", - "description": "Please select each for each required QA requirement.", - "fieldName": "details.qaTesting.testing", - "type": "checkbox-group", - "options": [ - { - "value": "rw-unstructured", - "label": "Real World Unstructured - Functional testing performed without test scripts. Users search on their own for bugs or usability issues." - }, - { - "value": "rw-structured", - "label": "Real World Testing - Structured - Test case based execution, covering all the functional requirements & cross-browser device testing." - }, - { - "value": "testcases", - "label": "Test Cases/Scenarios - Creation of test cases/test scenarios including scenario setup, pre/post conditions to scenario, instructions to execute scenario, and expected results" - }, - { - "value": "certification", - "label": "App Certification - Certify your mobile application release against predefined device set including; --App profiling to see the device vital monitoring – CPU, battery and memory usage of APP; --App behavior analysis in different modes (inactive, active, low battery, ); --App performance under various interrupts, under simulated network conditions, etc. " - }, - { - "value": "devicelab", - "label": "Mobile Device Lab on Hire - Allows you to remotely access devices in real cell networks across the world" - }, - { - "value": "performanceTuning", - "label": "Performance Testing - Testing web application’s robustness, availability, and reliability for defined business scenarios and concurrent users." - }, - { - "value": "performanceTesting", - "label": "Performance Tuning - Analyze and identify performance issues, actionable items for improvement." - } - ] - }, - { - "icon": "question", - "title": "How many users do you intend to support?", - "type": "textbox", - "fieldName": "details.qaTesting.users", - "required": false - }, - { - "icon": "question", - "title": "Do you intend to supply test data or should Topcoder create it?", - "fieldName": "details.qaTesting.data", - "type": "slide-radiogroup", - "options": [ - { - "value": "create", - "title": "We will provide obfuscated data" - }, - { - "value": "provide", - "title": "Topcoder will create data" - } - ], - "required": false - }, - { - "icon": "question", - "title": "User Acceptance / Beta Testing", - "description": "UAT is the process of sharing the final application with users and gathering feedback. Please select each required UAT requirement.", - "fieldName": "details.qaTesting.uat", - "type": "checkbox-group", - "options": [ - { - "value": "uat", - "label": "1 UAT/Beta Test Cycle." - }, - { - "value": "uat-updates", - "label": "Implementation of Updates (update the app based on UAT/Beta Testing feedback)" - } - ] - } - ] - }, - { - "hideTitle": false, - "title": "Budget and Timeline", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "description": "How much budget do you have?", - "title": "Budget", - "fieldName": "details.loadDetails.budget", - "type": "slide-radiogroup", - "options": [ - { - "value": "upto-25", - "title": "Under $25K " - }, - { - "value": "upto-50", - "title": "$25K to $50K" - }, - { - "value": "upto-75", - "title": "$50K to $75K" - }, - { - "value": "upto-100", - "title": "$75K to $100K" - }, - { - "value": "above-100", - "title": "More than $100K" - } - ], - "required": true, - "validationError": "Please provide expected hours of execution" - }, - { - "icon": "question", - "description": "When do you need your app by?", - "title": "Timeline", - "fieldName": "details.loadDetails.timeline", - "type": "slide-radiogroup", - "options": [ - { - "value": "upto-1month", - "title": "Under 1 month" - }, - { - "value": "upto-2months", - "title": "1 to 2 months" - }, - { - "value": "upto-3months", - "title": "2 to 3 months" - }, - { - "value": "upto-6months", - "title": "3 to 6 months" - } - ], - "required": true, - "validationError": "Please provide expected hours of execution" - } - ] - }, - { - "id": "notes", - "fieldName": "details.appDefinition.notes", - "title": "Notes", - "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)", - "type": "notes", - "hidden": true - } - ], - "title": "Enterprise Mobile" - } - ] - }, - "disabled": false, - "hidden": false - }, - { - "id": 3, - "name": "Enterprise Web", - "productKey": "enterprise_web", - "icon": "product-app-app", - "brief": "Enterprise Web", - "details": "Enterprise Web", - "aliases": [ - "enterprise-web" - ], - "template": { - "questions": [ - { - "id": "appDefinition", - "required": true, - "description": "Please answer a few basic questions about your project. You can also provide the needed information in a supporting document--add a link in the notes section or upload it below.", - "subSections": [ - { - "id": "projectName", - "required": true, - "validationError": "Please provide a name for your project", - "fieldName": "name", - "description": "", - "title": "Project Name", - "type": "project-name", - "hidden": true - }, - { - "id": "user", - "required": true, - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "id": "projectInfo", - "required": true, - "validations": "isRequired,minLength:160", - "validationErrors": { - "isRequired": "Please provide a description", - "minLength": "Please enter at least 160 characters" - }, - "fieldName": "description", - "description": "Can you provide a brief summary of the application you’d like to develop?", - "title": "App Summary", - "type": "textbox", - "hidden": true - }, - { - "icon": "question", - "required": true, - "validationError": "Please let us know the target device", - "title": "App Type", - "description": "What type of application are we developing? Please place an X in the Required column for each required app type. Please note that each additional app type incurs a cost, but that the cost will be detailed and broken out in the final project proposal. ", - "fieldName": "details.appDefinition.appType", - "type": "checkbox-group", - "options": [ - { - "value": "desktop", - "label": "Desktop Web App - An app built to be accessed over the web using a desktop browser such as Chrome, Safari and MS Explorer" - }, - { - "value": "responsive", - "label": "Responsive Web App - An app built to be accessed over the web using a desktop, tablet or mobile browser such as Chrome, Safari and MS Explorer. The application will render on multiple devices types, with a optimized screen for each type of device." - } - ], - "hidden": true - }, - { - "fieldName": "details.appDefinition.workflow", - "description": "Please describe the ideal workflow for the proposed solution.", - "title": "Workflow", - "type": "textbox", - "hidden": true - }, - { - "fieldName": "details.appDefinition.objectives", - "description": "What are the main business objectives you want to achieve by developing this application?", - "title": "Objectives", - "type": "textbox", - "hidden": true - } - ] - }, - { - "required": false, - "hideTitle": false, - "title": "Style Guide & Brand Guidelines - Please add your answers below. If you do not know the answer, please add “Open to suggestions from the community/looking for creative solutions”", - "description": "", - "type": "questions", - "questions": [ - { - "fieldName": "details.designGuidelines.Styleguide", - "title": "Do you have a style guide or branding guidelines that need to be followed?", - "type": "textbox" - }, - { - "fieldName": "details.designGuidelines.fonts", - "title": "Are there any particular fonts you want used?", - "type": "textbox" - }, - { - "fieldName": "details.designGuidelines.colors", - "title": "Are there any particular colors/themes you want used?", - "type": "textbox" - }, - { - "fieldName": "details.designGuidelines.appIcon", - "title": "Do you need an app icon designed, or will you provide one?", - "type": "textbox" - } - ] - }, - { - "required": false, - "hideTitle": false, - "title": "User Roles - Please use the fields below to specify the type of users/roles for the application. If the role is not applicable, please enter N/A", - "type": "questions", - "description": "Please select each for each user type/role. Please provide details on what the user/role should do in the Description column.", - "questions": [ - { - "fieldName": "details.userRoles.standard", - "title": "Standard User", - "type": "textbox" - }, - { - "fieldName": "details.userRoles.admin", - "title": "Admin", - "type": "textbox" - }, - { - "fieldName": "details.userRoles.superAdmin", - "title": "Super Admin", - "type": "textbox" - } - ] - }, - { - "required": false, - "hideTitle": false, - "title": " - Will this application be dependant on data from another system or tool? If yes, please briefly describe that dependency here. This can include integration with an API or an existing backend/database.", - "description": "Will this application be dependant on data from another system or tool? If yes, please briefly describe that dependency here. This can include integration with an API or an existing backend/database.", - "type": "questions", - "questions": [ - { - "fieldName": "details.integrations.api", - "title": "API", - "type": "textbox" - }, - { - "fieldName": "details.integrations.backend", - "title": "Backend", - "type": "textbox" - }, - { - "fieldName": "details.integrations.database", - "title": "Database", - "type": "textbox" - } - ] - }, - { - "id": "screen-features", - "required": false, - "hideTitle": false, - "title": "Screen and Features", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "title": "Screen / Feature List", - "description": "Please select each required feature. Please note that each added feature incurs a cost, but that the cost will be detailed and broken out in the final project proposal. ", - "fieldName": "details.appDefinition.screens", - "type": "checkbox-group", - "options": [ - { - "value": "enterprise-login", - "label": "Enterprise Login - Supports integration with an existing authorization/authentication mechanism." - }, - { - "value": "email-login", - "label": "Email Login - Support sign in using an email address/password." - }, - { - "value": "social-login", - "label": "Social Login - Support register and login using third-party services such as Facebook, Twitter, and Google." - }, - { - "value": "registration", - "label": "Registration - Allow users to register and login using their email address and a password. Users can also change their password or recover a forgotten one." - }, - { - "value": "invitations", - "label": "Invitations - Allow users to invite others to use your app via email. " - }, - { - "value": "introductions", - "label": "Introductions - Present your app and inform users of core functionality using a series of introductory screens before they sign up." - }, - { - "value": "onboarding", - "label": "Onboarding - Virtually walk your users through your application. This functionality is especially useful if you need new users to set up an account or express preferences after they sign up." - }, - { - "value": "search", - "label": "Search - Provide the ability to search your app for specific content, such as products, members, or locations. Please specify below if you also would like autocomplete--suggesting appropriate search terms as a user starts typing." - }, - { - "value": "location-based-services", - "label": "Location Based Services - App must support the identification of the users geographic location for location based features. Ex. show store locations on a map or illustrating the progress of a delivery." - }, - { - "value": "camera", - "label": "Camera (Audio & Video) - Add this feature if your app will require using the camera to capture audio or video." - }, - { - "value": "file-upload", - "label": "File Upload - Allow users to upload photos or other files." - }, - { - "value": "notifications", - "label": "Notifications - Take advantage of notifications; for example, remind users to do certain tasks or update them on new content." - }, - { - "value": "dashboard", - "label": "Dashboard - App must have a central dashboard where users can access functionality" - }, - { - "value": "tagging", - "label": "Tagging - Allow users to tag products, people or content; for example, in order to classify and easily retrieve notes." - }, - { - "value": "account-settings", - "label": "Account Settings - Allow your users to adjust settings or specify preferences, such as communication frequency." - }, - { - "value": "help-faws", - "label": "Help/FAQs - Include a section dedicated to FAQ or Help content." - }, - { - "value": "marketplace", - "label": "Marketplace - Allow users to buy, sell, or rent products or services." - }, - { - "value": "ratings-reviews", - "label": "Ratings & Reviews - Let users rate or review people, products, or services." - }, - { - "value": "payments", - "label": "Payments - Allow users to pay in some way; for example, using credit cards, PayPal, or Bitcoin." - }, - { - "value": "shopping-cart", - "label": "Shopping Cart - Allow users to save items before purchasing. Please specify your desired functionality below." - }, - { - "value": "product-listing", - "label": "Product Listing - Add this feature to shows lists of product or services, with individual detail pages for each one." - }, - { - "value": "activity-feed", - "label": "Activity Feed - Show your users an activity feed of some kind, as they’re used to seeing on Facebook and Twitter, for example." - }, - { - "value": "profiles", - "label": "Profiles - Add this feature if your app requires users to have a profile, including the ability to edit it." - }, - { - "value": "messaging", - "label": "Messaging - Allow direct communication between two or more users." - }, - { - "value": "admin-tool", - "label": "Admin Tool - App must have an administrative tool or panel to enable direct management of users, content and the application." - }, - { - "value": "social-media-integration", - "label": "Social Media Integration - App must integrate with social media providers (Facebook, Instagram, Twitter, Google+, etc)" - }, - { - "value": "reporting", - "label": "Reporting - App must have the ability to report/export data" - }, - { - "value": "contact-us", - "label": "Contact Us - App must have the ability to allow users to contact an administrator/send feedback to administrators." - } - ], - "hidden": true - }, - { - "icon": "question", - "title": "Technology Requirements", - "description": "Please select each required technology requirement above", - "fieldName": "details.appDefinition.techFeatures", - "type": "checkbox-group", - "options": [ - { - "value": "enterprise-login", - "label": "SSO Integration - App must integrate with enterprise single-sign-on capability." - }, - { - "value": "api-integration", - "label": "API Integration - App must integrate with a pre-existing API." - }, - { - "value": "third-party-system-integration", - "label": "Third Party System Integration - App must integrate with an external application or system and either retrieve or post data." - }, - { - "value": "containerized-code", - "label": "Containerized Code - The codebase must be containerized via Docker to allow for easier deployment and maintenance." - }, - { - "value": "unit-tests", - "label": "Unit Tests - App must have unit tests to ensure code coverage." - }, - { - "value": "continuous-integration-/-continuous-deployment", - "label": "Continuous Integration / Continuous Deployment - Establishment of a CI/CD pipeline." - }, - { - "value": "analytics-implementation", - "label": "Analytics Implementation - Implementation of analytics to track user behavior and app usage." - }, - { - "value": "email-(smtp-server)-setup", - "label": "Email (SMTP Server) Setup - Development and configuration of an SMTP server to provide email notifications. Design, content and development of the emails will need to be handled separately." - }, - { - "value": "sms-gateway-integration", - "label": "SMS Gateway Integration - App must integrate with an external SMS gateway/provider for notifications via SMS." - }, - { - "value": "error-logging", - "label": "Error Logging - Does the application need error logging (this will log all errors, exceptions, warnings, debug information during the application execution and will be helpful to rectify the issues)?" - } - ], - "hidden": true - } - ] - }, - { - "id": "techStack", - "required": false, - "hideTitle": false, - "title": "Technology Stack - Do you have a preferred technology stack? If yes, please list those requirements here:", - "description": "Do you have a preferred technology stack? If yes, please list those requirements here:", - "type": "questions", - "questions": [ - { - "fieldName": "details.techstack.languages", - "title": "Programming Languages", - "type": "textbox", - "hidden": true - }, - { - "fieldName": "details.techstack.frameworks", - "title": "Frameworks", - "type": "textbox", - "hidden": true - }, - { - "fieldName": "details.techstack.Database", - "title": "Database", - "type": "textbox", - "hidden": true - }, - { - "fieldName": "details.techstack.server", - "title": "Server", - "type": "textbox", - "hidden": true - }, - { - "fieldName": "details.techstack.hosting", - "title": "Hosting Environment", - "type": "textbox", - "hidden": true - } - ] - }, - { - "hideTitle": true, - "title": "Quality Assurance, Testing and Security", - "description": "", - "type": "questions", - "questions": [ - { - "fieldName": "details.qaTesting.security", - "title": "Security Requirements", - "type": "checkbox-group", - "options": [ - { - "value": "standard", - "label": "Standard Security - Select this option if your app requires standard security." - }, - { - "value": "enterprise", - "label": "Enterprise - Select this option if your application will house or transmit PII or sensitive data. The data will be encrypted on the device and the server." - }, - { - "value": "vulnerability", - "label": "Vulnerability Scanning - Vulnerability scanning is a security technique used to identify security weaknesses in a computer system." - }, - { - "value": "auditing", - "label": "Audit - Is it necessary to audit user actions? Auditing will keep a record of specific user actions like data creation/modification and will be helpful in identifying which user performed a particular action." - }, - { - "value": "confidential", - "label": "Confidential Information, Sensitive Financial Data or Personally Identifiable Information (PII) - Will the user be working directly with financial or other protected information such has health records?" - } - ], - "description": "Please select each required security requirement above." - }, - { - "icon": "question", - "title": "Quality Assurance, Test Data & Performance Testing", - "description": "Please select each for each required QA requirement.", - "fieldName": "details.qaTesting.testing", - "type": "checkbox-group", - "options": [ - { - "value": "rw-unstructured", - "label": "Real World Unstructured - Functional testing performed without test scripts. Users search on their own for bugs or usability issues." - }, - { - "value": "rw-structured", - "label": "Real World Testing - Structured - Test case based execution, covering all the functional requirements & cross-browser device testing." - }, - { - "value": "testcases", - "label": "Test Cases/Scenarios - Creation of test cases/test scenarios including scenario setup, pre/post conditions to scenario, instructions to execute scenario, and expected results" - }, - { - "value": "certification", - "label": "App Certification - Certify your mobile application release against predefined device set including; --App profiling to see the device vital monitoring – CPU, battery and memory usage of APP; --App behavior analysis in different modes (inactive, active, low battery, ); --App performance under various interrupts, under simulated network conditions, etc. " - }, - { - "value": "performanceTuning", - "label": "Performance Testing - Testing web application’s robustness, availability, and reliability for defined business scenarios and concurrent users." - }, - { - "value": "performanceTesting", - "label": "Performance Tuning - Analyze and identify performance issues, actionable items for improvement." - } - ] - }, - { - "icon": "question", - "title": "How many users do you intend to support?", - "type": "textbox", - "fieldName": "details.qaTesting.users", - "required": false - }, - { - "icon": "question", - "title": "Do you intend to supply test data or should Topcoder create it?", - "fieldName": "details.qaTesting.data", - "type": "slide-radiogroup", - "options": [ - { - "value": "create", - "title": "We will provide obfuscated data" - }, - { - "value": "provide", - "title": "Topcoder will create data" - } - ], - "required": false - }, - { - "icon": "question", - "title": "User Acceptance / Beta Testing", - "description": "UAT is the process of sharing the final application with users and gathering feedback. Please select each required UAT requirement.", - "fieldName": "details.qaTesting.uat", - "type": "checkbox-group", - "options": [ - { - "value": "uat", - "label": "1 UAT/Beta Test Cycle." - }, - { - "value": "uat-updates", - "label": "Implementation of Updates (update the app based on UAT/Beta Testing feedback)" - } - ] - } - ] - }, - { - "hideTitle": false, - "title": "Budget and Timeline", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "description": "How much budget do you have?", - "title": "Budget", - "fieldName": "details.loadDetails.budget", - "type": "slide-radiogroup", - "options": [ - { - "value": "upto-25", - "title": "Under $25K " - }, - { - "value": "upto-50", - "title": "$25K to $50K" - }, - { - "value": "upto-75", - "title": "$50K to $75K" - }, - { - "value": "upto-100", - "title": "$75K to $100K" - }, - { - "value": "above-100", - "title": "More than $100K" - } - ], - "required": true, - "validationError": "Please provide expected hours of execution" - }, - { - "icon": "question", - "description": "When do you need your app by?", - "title": "Timeline", - "fieldName": "details.loadDetails.timeline", - "type": "slide-radiogroup", - "options": [ - { - "value": "upto-1month", - "title": "Under 1 month" - }, - { - "value": "upto-2months", - "title": "1 to 2 months" - }, - { - "value": "upto-3months", - "title": "2 to 3 months" - }, - { - "value": "upto-6months", - "title": "3 to 6 months" - } - ], - "required": true, - "validationError": "Please provide expected hours of execution" - } - ] - }, - { - "id": "notes", - "fieldName": "details.appDefinition.notes", - "title": "Notes", - "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)", - "type": "notes", - "hidden": true - } - ], - "title": "Enterprise Web" - } - ] - }, - "disabled": false, - "hidden": false - }, - { - "id": 4, - "name": "topgear-dev", - "productKey": "topgear_dev", - "icon": "product-app-app", - "brief": "Topgear", - "details": "Topgear", - "aliases": [ - "topgear-dev" - ], - "template": { - "questions": [ - { - "id": "appDefinition", - "required": true, - "description": "Please answer a few basic questions about your project. You can also provide the needed information in a supporting document--add a link in the notes section or upload it below.", - "subSections": [ - { - "id": "projectName", - "required": true, - "validationError": "Please provide a name for your project", - "fieldName": "name", - "description": "", - "title": "Project Name", - "type": "project-name", - "hidden": true - }, - { - "id": "questions", - "required": true, - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "id": "projectInfo", - "validations": "isRequired,minLength:160", - "validationErrors": { - "isRequired": "Please provide a description", - "minLength": "Please enter at least 160 characters" - }, - "fieldName": "description", - "description": "Brief Description", - "title": "Description", - "type": "textbox", - "hidden": true - }, - { - "icon": "question", - "title": "DU", - "description": "", - "type": "textbox", - "fieldName": "details.appDefinition.goal.du", - "hidden": true - }, - { - "icon": "question", - "title": "Project Code", - "type": "textbox", - "fieldName": "details.appDefinition.users.projectCode", - "hidden": true - }, - { - "icon": "question", - "title": "Cost Center code", - "type": "textbox", - "fieldName": "details.appDefinition.users.cost_center", - "hidden": true - }, - { - "icon": "question", - "title": "Part of NG3", - "type": "textbox", - "fieldName": "details.appDefinition.users.ng3", - "hidden": true - } - ] - } - ], - "title": "topgear-dev" - } - ] - }, - "disabled": false, - "hidden": false - }, - { - "id": 5, - "name": "caas-intake", - "productKey": "caas_intake", - "icon": "product-app-app", - "brief": "CaaS", - "details": "CaaS", - "aliases": [ - "caas-intake", - "caas", - "caas_intake" - ], - "template": { - "questions": [ - { - "id": "appDefinition", - "title": "caas-intake", - "required": true, - "description": "Welcome to your own private Gig Crowd", - "subSections": [ - { - "id": "projectName", - "required": true, - "validationError": "Please provide a name to your project", - "fieldName": "name", - "description": "", - "title": "Project Name", - "type": "project-name", - "hidden": true - }, - { - "id": "questions", - "required": true, - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "id": "projectInfo", - "fieldName": "description", - "validations": "isRequired,minLength:160", - "validationErrors": { - "isRequired": "Please describe your application.", - "minLength": "Please enter at least 160 characters" - }, - "description": "Brief describe your application", - "title": "Description", - "type": "textbox", - "hidden": true - }, - { - "icon": "question", - "title": "How many full time resources do you need?", - "description": "", - "fieldName": "details.resources.total", - "type": "textbox", - "required": true, - "validationError": "Please enter number of resources", - "hidden": true - }, - { - "icon": "question", - "title": "How many months do you need the resource for", - "description": "", - "fieldName": "details.resources.months", - "type": "slide-radiogroup", - "options": [ - { - "value": "1", - "title": "1" - }, - { - "value": "2", - "title": "2" - }, - { - "value": "3", - "title": "3" - }, - { - "value": "4", - "title": "4" - }, - { - "value": "5", - "title": "5" - }, - { - "value": "6", - "title": "6" - }, - { - "value": "7", - "title": "7" - }, - { - "value": "8", - "title": "8" - }, - { - "value": "9", - "title": "9" - }, - { - "value": "10", - "title": "10" - }, - { - "value": "11", - "title": "11" - }, - { - "value": "12", - "title": "12" - } - ], - "required": true, - "validationError": "Please select one", - "hidden": true - }, - { - "icon": "question", - "title": "What skills do you need?", - "description": "", - "fieldName": "details.resources.skills", - "type": "checkbox-group", - "options": [ - { - "value": "ios", - "label": "iOS" - }, - { - "value": "data-sci", - "label": "Data Science" - }, - { - "value": "android", - "label": "Android" - }, - { - "value": "java", - "label": "java" - }, - { - "value": "dotnet", - "label": ".NET" - }, - { - "value": "node", - "label": "NodeJS" - }, - { - "value": "javascript", - "label": "Javascript" - }, - { - "value": "react", - "label": "ReactJS" - }, - { - "value": "angular", - "label": "AngularJS" - } - ], - "hidden": true - }, - { - "icon": "question", - "title": "What is the typical hourly rate you are paying?", - "description": "", - "fieldName": "details.resources.hourlyrate", - "type": "slide-radiogroup", - "options": [ - { - "value": "under30", - "title": "Under $30" - }, - { - "value": "under60", - "title": "Under $60" - }, - { - "value": "under80", - "title": "Under $80" - }, - { - "value": "under100", - "title": "Under $100" - }, - { - "value": "under125", - "title": "Under $125" - }, - { - "value": "under150", - "title": "Under $150" - }, - { - "value": "over150", - "title": "Over $150" - } - ], - "hidden": true - }, - { - "icon": "question", - "title": "What language would you like to interact with the team?", - "description": "", - "fieldName": "details.resources.hourlyrate", - "type": "slide-radiogroup", - "options": [ - { - "value": "english", - "title": "English" - }, - { - "value": "spanish", - "title": "Spanish" - }, - { - "value": "german", - "title": "German" - }, - { - "value": "japanese", - "title": "Japanese" - }, - { - "value": "other", - "title": "Other" - } - ], - "hidden": true - }, - { - "fieldName": "details.resources.tooling", - "description": "Please List all project tools you normally interact with", - "title": "Project Tools you utilize for interacting with developers", - "type": "textbox", - "hidden": true - } - ] - }, - { - "id": "notes", - "fieldName": "details.appDefinition.notes", - "title": "Additional Notes", - "description": "Please detail any other additional information. After completing this form, you'll be able to add additional information about your code base", - "type": "notes", - "hidden": true - } - ] - }, - { - "id": "optionals", - "required": false, - "title": "Code base", - "description": "Please provide us access to your codebase below or contact Topcoder through your dashboard.", - "subSections": [ - { - "id": "additional", - "required": false, - "title": "Codebase questions", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "fieldName": "details.security.codeURL", - "description": "(if you prefer you can also upload your code below)", - "title": "Please provide a URL to your code base repository", - "type": "textbox" - }, - { - "icon": "question", - "title": "Please provide Topcoder with any additional information about accessing your code base", - "description": "", - "fieldName": "details.security.additionalInfo", - "type": "textbox" - } - ] - }, - { - "id": "files", - "description": "", - "type": "files", - "fieldName": "attachments" - } - ] - } - ] - }, - "disabled": false, - "hidden": false - }, - { - "id": 6, - "name": "Website", - "productKey": "website_development", - "icon": "product-website-website", - "brief": "Websites", - "details": "Build responsive or regular websites", - "aliases": [ - "website", - "website_development" - ], - "template": { - "questions": [ - { - "id": "appDefinition", - "title": "Website", - "required": true, - "description": "Please answer a few basic questions about your project. You can also provide the needed information in a supporting document--add a link in the notes section or upload it below.", - "subSections": [ - { - "id": "projectName", - "required": true, - "validationError": "Please provide a name for your project", - "fieldName": "name", - "description": "", - "title": "Project Name", - "type": "project-name", - "hidden": true - }, - { - "id": "questions", - "required": true, - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "title": "Which is your primary device target?", - "description": "Select only the device that you need to develop for. In most cases limiting the scope of your project would result in better final result. Topcoder recommends to always start with the mobile phone view and expand to other devices as your app matures.", - "fieldName": "details.appDefinition.primaryTarget", - "type": "tiled-radio-group", - "options": [ - { - "value": "phone", - "title": "Phone", - "icon": "icon-tech-outline-mobile", - "iconOptions": { - "fill": "#00000" - }, - "desc": "iOS, Android, Hybrid" - }, - { - "value": "tablet", - "title": "Tablet", - "icon": "icon-tech-outline-tablet", - "iconOptions": { - "fill": "#00000" - }, - "desc": "iOS, Android, Hybrid" - }, - { - "value": "desktop", - "title": "Desktop", - "icon": "icon-tech-outline-desktop", - "iconOptions": { - "fill": "#00000" - }, - "desc": "all OS" - }, - { - "value": "wearable", - "title": "Wearable", - "icon": "icon-tech-outline-watch-apple", - "iconOptions": { - "fill": "#00000" - }, - "desc": "Watch OS, Android Wear" - } - ], - "hidden": true - }, - { - "id": "projectInfo", - "validations": "isRequired,minLength:160", - "validationErrors": { - "isRequired": "Please provide a description", - "minLength": "Please enter at least 160 characters" - }, - "fieldName": "description", - "description": "Brief Description", - "title": "Description", - "type": "textbox", - "hidden": true - }, - { - "icon": "question", - "title": "What is the goal of your application? How will people use it?", - "description": "Describe your objectives for creating this application", - "type": "see-attached-textbox", - "fieldName": "details.appDefinition.goal" - }, - { - "icon": "question", - "title": "Who are the users of your application? ", - "description": "Describe the roles and needs of your target users", - "type": "see-attached-textbox", - "fieldName": "details.appDefinition.users" - }, - { - "icon": "question", - "title": "Feature requirements", - "description": "Please list all the features you would like in your application. You can use our wizard to pick from common features or define your own.", - "type": "see-attached-features", - "fieldName": "details.appDefinition.features" - } - ] - }, - { - "id": "notes", - "fieldName": "details.appDefinition.notes", - "title": "Notes", - "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)", - "type": "notes", - "hidden": true - }, - { - "id": "files", - "description": "", - "type": "files", - "fieldName": "attachments" - } - ] - }, - { - "id": "designSpecification", - "required": false, - "title": "Design Specification", - "description": "Define the visual style for your application or provide a style guide or brand guidelines. Skip this section (or particular questions) if you don't have any preferences or restrictions.", - "subSections": [ - { - "id": "questions", - "required": false, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "title": "What font style do you prefer? (Pick one)", - "description": "The typography used in your designs will fit within these broad font styles", - "type": "tiled-radio-group", - "options": [ - { - "value": "serif", - "title": "Serif", - "icon": "icon-tc-spec-type-serif", - "iconOptions": { - "fill": "#00000" - }, - "desc": "formal, old style" - }, - { - "value": "sanSerif", - "title": "Sans Serif", - "icon": "icon-tc-spec-type-sans-serif", - "iconOptions": { - "fill": "#00000" - }, - "desc": "clean, modern, informal" - } - ], - "fieldName": "details.designSpecification.fontStyle" - }, - { - "icon": "question", - "title": "What colors do you like? (Select all that apply)", - "description": "Your preferred colors will be used to guide the shading in your designs", - "type": "colors", - "defaultColors": [], - "fieldName": "details.designSpecification.colors" - }, - { - "icon": "question", - "title": "What icon style do you prefer? (Pick one)", - "description": "Icons within your designs will follow these styles", - "type": "tiled-radio-group", - "options": [ - { - "value": "flatColor", - "title": "Flat Color", - "icon": "icon-tc-spec-icon-type-color-home", - "iconOptions": { - "fill": "#00000" - }, - "desc": "playful" - }, - { - "value": "thinLine", - "title": "Thin Line", - "icon": "icon-tc-spec-icon-type-outline-home", - "iconOptions": { - "fill": "#00000" - }, - "desc": "modern" - }, - { - "value": "solidLine", - "title": "Solid Line", - "icon": "icon-tc-spec-icon-type-glyph-home", - "iconOptions": { - "fill": "#00000" - }, - "desc": "classic" - } - ], - "fieldName": "details.designSpecification.iconStyle" - } - ] - }, - { - "id": "notes", - "required": false, - "fieldName": "details.designSpecification.notes", - "title": "Notes", - "description": "Add any other important information regarding your project (e.g., links to documents or existing applications, budget or timing constraints)", - "type": "notes" - } - ] - }, - { - "id": "devSpecification", - "title": "Development Specification", - "description": "Define some basic technical requirements for your application or provide any architecture or technical guidelines. Skip this section if you dont know what is required.", - "required": false, - "subSections": [ - { - "id": "questions", - "required": false, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "title": "How should your application be built?", - "description": "Choose the operating system/platform for your application", - "type": "checkbox-group", - "options": [ - { - "value": "ios", - "label": "iOS" - }, - { - "value": "android", - "label": "Android" - }, - { - "value": "web", - "label": "Web" - }, - { - "value": "hybrid", - "label": "Hybrid" - } - ], - "fieldName": "details.devSpecification.platform" - }, - { - "icon": "question", - "title": "Is offline access required for your application?", - "description": "Do your users need to use the application when they are unable to connect to the internet?", - "type": "radio-group", - "options": [ - { - "value": "true", - "label": "Yes" - }, - { - "value": "false", - "label": "No" - } - ], - "fieldName": "details.devSpecification.offlineAccess" - }, - { - "icon": "question", - "title": "What level of security is needed for your application?", - "description": "Do you expect to be storing or transmitting personal or sensitive information?", - "type": "radio-group", - "options": [ - { - "value": "standard", - "label": "Standard - Nothing to do here" - }, - { - "value": "enhanced", - "label": "Enhanced" - }, - { - "value": "maximumm", - "label": "Maximum" - } - ], - "fieldName": "details.devSpecification.securityLevel" - } - ] - }, - { - "id": "notes", - "required": false, - "fieldName": "details.devSpecification.notes", - "title": "Notes", - "description": "Add any other important information regarding your project (e.g., links to documents or existing applications, budget or timing constraints)", - "type": "notes" - } - ] - } - ] - }, - "disabled": false, - "hidden": false - }, - { - "id": 7, - "name": "Watson Chatbot", - "productKey": "watson_chatbot", - "icon": "product-chatbot-watson", - "brief": "Watson Chatbot", - "details": "Build Chatbot using IBM Watson", - "aliases": [ - "watson_chatbot", - "watson-chatbot" - ], - "template": { - "questions": [ - { - "id": "appDefinition", - "title": "Watson Chatbot", - "required": true, - "description": "Please answer a few basic questions about your project. You can also provide the needed information in a supporting document--add a link in the notes section or upload it below.", - "subSections": [ - { - "id": "projectName", - "required": true, - "validationError": "Please provide a name for your project", - "fieldName": "name", - "description": "", - "title": "Project Name", - "type": "project-name", - "hidden": true - }, - { - "id": "questions", - "required": true, - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "id": "projectInfo", - "fieldName": "description", - "validations": "isRequired,minLength:160", - "validationErrors": { - "isRequired": "Please provide a description", - "minLength": "Please enter at least 160 characters" - }, - "description": "Brief Description", - "title": "Description", - "type": "textbox", - "hidden": true - }, - { - "icon": "question", - "required": true, - "title": "Do you have an existing IBM Cloud (formerly IBM Bluemix) account?", - "description": "", - "type": "radio-group", - "fieldName": "details.appDefinition.hasBluemixAccount", - "options": [ - { - "value": "true", - "label": "Yes" - }, - { - "value": "false", - "label": "No" - } - ], - "hidden": true - }, - { - "icon": "question", - "required": true, - "title": "Does your organization currently have a chatbot?", - "description": "", - "type": "radio-group", - "fieldName": "details.appDefinition.hasChatbot", - "options": [ - { - "value": "true", - "label": "Yes" - }, - { - "value": "false", - "label": "No" - } - ], - "hidden": true - }, - { - "icon": "question", - "title": "If yes, can you provide some brief specifics about your current chatbot?", - "description": "", - "type": "textbox", - "fieldName": "details.appDefinition.existingChatbotDesc", - "hidden": true - }, - { - "icon": "question", - "title": "What capabilities does the chatbot need to support?", - "description": "", - "type": "checkbox-group", - "fieldName": "details.appDefinition.capabilities", - "options": [ - { - "value": "order_management", - "label": "Order Management" - }, - { - "value": "information", - "label": "Information" - }, - { - "value": "help", - "label": "Help" - }, - { - "value": "complaints", - "label": "Complaints" - }, - { - "value": "billing", - "label": "Billing" - }, - { - "value": "account_management", - "label": "Account Management" - }, - { - "value": "custom", - "label": "Custom (please explain in the Notes)" - } - ], - "hidden": true - }, - { - "icon": "question", - "title": "Will the chatbot need to access data from any systems to support the capabilities you listed above? If so, please list the systems below.", - "description": "", - "type": "textbox", - "fieldName": "details.appDefinition.integrationSystems", - "hidden": true - }, - { - "icon": "question", - "title": "Do you have any example agent conversations you can provide? If so, please paste them or any links to documents below (you’ll be able to upload documents later).", - "description": "", - "type": "textbox", - "fieldName": "details.appDefinition.existingAgentScripts", - "hidden": true - }, - { - "icon": "question", - "title": "Are you planning to transfer conversations to human agents? If so, please list the agents’ communication tools (e.g., Slack, LiveAgent, Intercom, etc.).", - "description": "", - "type": "textbox", - "fieldName": "details.appDefinition.transferToHumanAgents", - "hidden": true - } - ] - }, - { - "id": "notes", - "fieldName": "details.appDefinition.notes", - "title": "Notes", - "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)", - "type": "notes", - "hidden": true - }, - { - "id": "files", - "description": "", - "type": "files", - "fieldName": "attachments" - } - ] - } - ] - }, - "disabled": false, - "hidden": false - }, - { - "id": 8, - "name": "Chatbot", - "productKey": "generic_chatbot", - "icon": "product-chatbot-chatbot", - "brief": "Chatbot", - "details": "Build, train and test a custom conversation for your chat bot", - "aliases": [ - "chatbot", - "generic_chatbot" - ], - "template": { - "questions": [ - { - "id": "appDefinition", - "title": "Chatbot", - "required": true, - "description": "Please answer a few basic questions about your project. You can also provide the needed information in a supporting document--add a link in the notes section or upload it below.", - "subSections": [ - { - "id": "projectName", - "required": true, - "validationError": "Please provide a name for your project", - "fieldName": "name", - "description": "", - "title": "Project Name", - "type": "project-name", - "hidden": true - }, - { - "id": "questions", - "required": true, - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "id": "projectInfo", - "fieldName": "description", - "validations": "isRequired,minLength:160", - "validationErrors": { - "isRequired": "Please provide a description", - "minLength": "Please enter at least 160 characters" - }, - "description": "Brief Description", - "title": "Description", - "type": "textbox", - "hidden": true - }, - { - "icon": "question", - "title": "What capabilities does the chatbot need to support?", - "description": "", - "type": "checkbox-group", - "fieldName": "details.appDefinition.capabilities", - "options": [ - { - "value": "order_management", - "label": "Order Management" - }, - { - "value": "information", - "label": "Information" - }, - { - "value": "help", - "label": "Help" - }, - { - "value": "complaints", - "label": "Complaints" - }, - { - "value": "billing", - "label": "Billing" - }, - { - "value": "account_management", - "label": "Account Management" - }, - { - "value": "custom", - "label": "Custom (please explain in the Notes)" - } - ], - "hidden": true - }, - { - "icon": "question", - "title": "Will the chatbot need to access data from any systems to support the capabilities you listed above? If so, please list the systems below.", - "description": "", - "type": "textbox", - "fieldName": "details.appDefinition.integrationSystems", - "hidden": true - }, - { - "icon": "question", - "title": "Do you have any example agent conversations you can provide? If so, please paste them or any links to documents below (you’ll be able to upload documents later).", - "description": "", - "type": "textbox", - "fieldName": "details.appDefinition.existingAgentScripts", - "hidden": true - }, - { - "icon": "question", - "title": "Are you planning to transfer conversations to human agents? If so, please list the agents’ communication tools (e.g., Slack, LiveAgent, Intercom, etc.).", - "description": "", - "type": "textbox", - "fieldName": "details.appDefinition.transferToHumanAgents", - "hidden": true - } - ] - }, - { - "id": "notes", - "fieldName": "details.appDefinition.notes", - "title": "Notes", - "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)", - "type": "notes", - "hidden": true - }, - { - "id": "files", - "description": "", - "type": "files", - "fieldName": "attachments" - } - ] - } - ] - }, - "disabled": false, - "hidden": false - }, - { - "id": 9, - "name": "Computer Vision", - "productKey": "computer_vision", - "icon": "product-qa-crowd-testing", - "brief": "TBD", - "details": "Work with images to recognize patterns, compute correspondences, etc", - "aliases": [ - "computer-vision", - "computer_vision" - ], - "template": { - "questions": [ - { - "id": "appDefinition", - "title": "Computer Vision", - "required": true, - "description": "Please answer a few basic questions about your project. You can also provide the needed information in a supporting document--add a link in the notes section or upload it below.", - "subSections": [ - { - "id": "projectName", - "required": true, - "validationError": "Please provide a name to your project", - "fieldName": "name", - "description": "", - "title": "Project Name", - "type": "project-name", - "hidden": true - }, - { - "id": "questions", - "required": true, - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "id": "projectInfo", - "fieldName": "description", - "validations": "isRequired,minLength:160", - "validationErrors": { - "isRequired": "Please provide your objectives", - "minLength": "Please enter at least 160 characters" - }, - "description": "Brief Description of your objectives", - "title": "Objectives", - "type": "textbox", - "hidden": true - }, - { - "icon": "question", - "title": "Do you have ground truth defined?", - "description": "", - "fieldName": "details.vision.groundtruth", - "type": "radio-group", - "options": [ - { - "value": "true", - "label": "Yes" - }, - { - "value": "false", - "label": "No" - } - ], - "required": true, - "validationError": "Please select one", - "hidden": true - }, - { - "icon": "question", - "title": "Describe your ground truth?", - "description": "(if applicable)", - "type": "textbox", - "fieldName": "details.vision.groundtruthDesc", - "required": true, - "validationError": "Please tell us about your ground truth", - "hidden": true - }, - { - "icon": "question", - "title": "Describe your data set", - "description": "(if applicable)", - "type": "textbox", - "fieldName": "details.vision.dataDesc", - "required": true, - "validationError": "Please tell us about your data set", - "hidden": true - }, - { - "icon": "question", - "title": "Approximately how large is your data set in MB, GB, TB?", - "description": "", - "type": "textbox", - "fieldName": "details.vision.datasetSize", - "required": true, - "validationError": "Please tell us the size of your data set", - "hidden": true - }, - { - "icon": "question", - "title": "Approximately how many images are in your data set?", - "description": "", - "type": "textbox", - "fieldName": "details.vision.imageSet", - "required": true, - "validationError": "Please tell us roughly the number of images in your set", - "hidden": true - } - ] - }, - { - "id": "notes", - "fieldName": "details.appDefinition.notes", - "title": "Additional Notes", - "description": "Please detail any other additional information", - "type": "notes", - "hidden": true - }, - { - "id": "files", - "description": "", - "type": "files", - "fieldName": "attachments" - } - ] - }, - { - "id": "optionals", - "required": false, - "title": "Additional Questions", - "description": "Please complete these optional questions.", - "subSections": [ - { - "id": "additional", - "required": false, - "title": "Additional Questions", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "fieldName": "details.dataURL", - "description": "", - "title": "Please provide a URL to your data", - "type": "textbox" - }, - { - "icon": "question", - "fieldName": "details.performanceInfo", - "description": "", - "title": "Please describe the performance of your existing software", - "type": "textbox" - }, - { - "icon": "question", - "fieldName": "details.externalDataUsage", - "description": "", - "title": "Do you anticipate allowing contestants to use external data?", - "type": "radio-group", - "options": [ - { - "value": "Yes", - "label": "Yes" - }, - { - "value": "No", - "label": "No" - }, - { - "value": "Unsure", - "label": "Unsure" - } - ] - }, - { - "icon": "question", - "fieldName": "details.externalDataUsage", - "description": "", - "title": "If you have already thought of a scoring method, please indicate them here", - "type": "checkbox-group", - "options": [ - { - "value": "F1/Dice", - "label": "F1/Dice" - }, - { - "value": "Jaccard Index", - "label": "Jaccard Index" - }, - { - "value": "Harmonic Mean", - "label": "Harmonic Mean" - } - ] - }, - { - "icon": "question", - "fieldName": "details.otherScoringInfo", - "description": "", - "title": "If scoring method was other, please provide your approach", - "type": "textbox" - } - ] - } - ] - } - ] - }, - "disabled": false, - "hidden": false - }, - { - "id": 10, - "name": "Data Exploration", - "productKey": "data_exploration", - "icon": "product-qa-crowd-testing", - "brief": "TBD", - "details": "Ask a crowd of experts to look at your data, understand your goals, and suggest solutions", - "aliases": [ - "data-exploration", - "data_exploration" - ], - "template": { - "questions": [ - { - "id": "appDefinition", - "title": "Data Exploration", - "required": true, - "description": "Please answer a few basic questions about your project. You can also provide the needed information in a supporting document--add a link in the notes section or upload it below.", - "subSections": [ - { - "id": "projectName", - "required": true, - "validationError": "Please provide a name to your project", - "fieldName": "name", - "description": "", - "title": "Project Name", - "type": "project-name", - "hidden": true - }, - { - "id": "questions", - "required": true, - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "id": "projectInfo", - "fieldName": "description", - "validations": "isRequired,minLength:160", - "validationErrors": { - "isRequired": "Please provide an overview of your project", - "minLength": "Please enter at least 160 characters" - }, - "description": "Brief provide an overview of your project", - "title": "Objectives", - "type": "textbox", - "hidden": true - }, - { - "icon": "question", - "title": "Describe what you would like to learn or accomplish with this data?", - "description": "", - "type": "textbox", - "fieldName": "details.data.learnings", - "hidden": true - }, - { - "icon": "question", - "title": "Describe your data set", - "description": "", - "type": "textbox", - "fieldName": "details.vision.dataDesc", - "required": true, - "validationError": "Please tell us about your data set", - "hidden": true - }, - { - "icon": "question", - "title": "Approximately how many records are in your data set?", - "description": "", - "type": "textbox", - "fieldName": "details.data.records", - "required": true, - "validationError": "Please tell us roughly the number of records in your set", - "hidden": true - }, - { - "icon": "question", - "title": "Approximately how large is your data set in MB, GB, TB?", - "description": "", - "type": "textbox", - "fieldName": "details.vision.datasetSize", - "required": true, - "validationError": "Please tell us the size of your data set", - "hidden": true - }, - { - "icon": "question", - "title": "Does your data need to be obfuscated?", - "description": "(if applicable)", - "fieldName": "details.data.obfuscation", - "type": "radio-group", - "options": [ - { - "value": "true", - "label": "Yes" - }, - { - "value": "false", - "label": "No" - } - ], - "required": true, - "validationError": "Please select one", - "hidden": true - }, - { - "icon": "question", - "fieldName": "details.dataURL", - "description": "Or provide us a sample of your data by uploading an example below", - "title": "Please provide a URL to your data ", - "type": "textbox" - } - ] - }, - { - "id": "files", - "description": "", - "type": "files", - "fieldName": "attachments" - }, - { - "id": "notes", - "fieldName": "details.appDefinition.notes", - "title": "Additional Notes", - "description": "Please detail any other additional information", - "type": "notes", - "hidden": true - } - ] - } - ] - }, - "disabled": false, - "hidden": false - }, - { - "id": 11, - "name": "Wireframes", - "productKey": "wireframes", - "icon": "product-design-wireframes", - "brief": "10-15 screens", - "details": "Plan and explore the navigation and structure of your app", - "aliases": [ - "wireframes" - ], - "template": { - "questions": [ - { - "id": "appDefinition", - "title": "Wireframes", - "productName": "Wireframes", - "required": true, - "description": "Please answer a few basic questions about your project. You can also provide the needed information in a supporting document--add a link in the notes section or upload it below.", - "subSections": [ - { - "id": "projectName", - "required": true, - "validationError": "Please provide a name for your project", - "fieldName": "name", - "description": "", - "title": "Project Name", - "type": "project-name", - "hidden": true - }, - { - "id": "questions", - "required": true, - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "title": "How many screens do you need designed?", - "description": "This is the most popular project size that can get a medium-sized app designed in a breeze", - "fieldName": "details.appDefinition.numberScreens", - "type": "tiled-radio-group", - "affectsQuickQuote": true, - "options": [ - { - "value": "10", - "title": "screens", - "icon": "NumberText", - "iconOptions": { - "number": "10" - }, - "desc": "7-10 days", - "quoteUp": 0, - "minTimeUp": 0, - "maxTimeUp": 0 - }, - { - "value": "15", - "title": "screens", - "icon": "NumberText", - "iconOptions": { - "number": "15" - }, - "desc": "10-12 days", - "quoteUp": 2000, - "minTimeUp": 3, - "maxTimeUp": 2 - } - ], - "hidden": true - }, - { - "icon": "question", - "title": "Which is your primary device target?", - "description": "Select only the device that you need to develop for. In most cases limiting the scope of your project would result in better final result. Topcoder recommends to always start with the mobile phone view and expand to other devices as your app matures.", - "fieldName": "details.appDefinition.primaryTarget", - "type": "tiled-radio-group", - "options": [ - { - "value": "Phone", - "title": "Phone", - "icon": "icon-tech-outline-mobile", - "iconOptions": { - "fill": "#00000" - }, - "desc": "iOS, Android, Hybrid" - }, - { - "value": "Tablet", - "title": "Tablet", - "icon": "icon-tech-outline-tablet", - "iconOptions": { - "fill": "#00000" - }, - "desc": "iOS, Android, Hybrid" - }, - { - "value": "Desktop", - "title": "Desktop", - "icon": "icon-tech-outline-desktop", - "iconOptions": { - "fill": "#00000" - }, - "desc": "all OS" - }, - { - "value": "Wearable", - "title": "Wearable", - "icon": "icon-tech-outline-watch-apple", - "iconOptions": { - "fill": "#00000" - }, - "desc": "Watch OS, Android Wear" - } - ], - "hidden": true - }, - { - "icon": "question", - "id": "projectInfo", - "fieldName": "description", - "validations": "isRequired,minLength:160", - "validationErrors": { - "isRequired": "Please provide a description", - "minLength": "Please enter at least 160 characters" - }, - "description": "Brief Description", - "title": "Description", - "type": "textbox", - "hidden": true - }, - { - "icon": "question", - "title": "What is the goal of your application? How will people use it?", - "description": "Describe your objectives for creating this application", - "type": "see-attached-textbox", - "fieldName": "details.appDefinition.goal" - }, - { - "icon": "question", - "title": "Who are the users of your application? ", - "description": "Describe the roles and needs of your target users", - "type": "see-attached-textbox", - "fieldName": "details.appDefinition.users" - } - ] - }, - { - "id": "notes", - "fieldName": "details.appDefinition.notes", - "title": "Notes", - "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)", - "type": "notes", - "hidden": true - }, - { - "id": "files", - "description": "", - "type": "files", - "fieldName": "attachments" - } - ] - }, - { - "id": "appScreens", - "required": true, - "title": "App Screens", - "description": "Please describe all the primary screens first. It is important to think about the biggest problem of your application, rather than list all possible screens. Well documented and researched design patterns like \"Settings\", \"Search\", \"Listing\", \"Log In\", \"Registration\" do not need to be the focus of the design, unless you're doing something transformative with said screens. In that case please list in details what is the novel approach for your screens.", - "subSections": [ - { - "id": "screens", - "required": true, - "fieldName": "details.appScreens.screens", - "title": "Screens", - "hideTitle": true, - "description": "Add any other important information regarding your project (e.g., links to documents or existing applications, budget or timing constraints)", - "type": "screens", - "questions": [ - { - "icon": "question", - "title": "Screen name", - "required": true, - "description": "Describe your objectives for creating this application", - "type": "textinput", - "fieldName": "name", - "validationError": "Screen name cannot be blank", - "validations": "isRequired" - }, - { - "icon": "question", - "title": "What are the things the user can do on this screen?", - "required": true, - "description": "What are the important features/capabilities that the screen provides to your end users?", - "type": "textbox", - "fieldName": "description", - "validationError": "Answer cannot be blank", - "validations": "isRequired" - }, - { - "icon": "question", - "title": "Screen importance", - "required": true, - "description": "Pick how important is this screen for your project from 1 to 10", - "type": "select-dropdown", - "fieldName": "importanceLevel", - "options": [ - { - "value": 1, - "title": "1" - }, - { - "value": 2, - "title": "2" - }, - { - "value": 3, - "title": "3" - }, - { - "value": 4, - "title": "4" - }, - { - "value": 5, - "title": "5" - }, - { - "value": 6, - "title": "6" - }, - { - "value": 7, - "title": "7" - }, - { - "value": 8, - "title": "8" - }, - { - "value": 9, - "title": "9" - }, - { - "value": 10, - "title": "10" - } - ] - } - ] - } - ] - }, - { - "id": "designSpecification", - "required": false, - "title": "Design Guidelines", - "description": "Define the visual style for your application or provide a style guide or brand guidelines. Skip this section (or particular questions) if you don't have any preferences or restrictions.", - "subSections": [ - { - "id": "questions", - "required": false, - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "id": "guidelines", - "title": "Guidelines", - "description": "Do you have brand guidelines that need to be followed? If yes, please include a link or attach them in the definition section, above.", - "type": "textbox", - "fieldName": "details.designSpecification.guidelines" - }, - { - "id": "examples", - "title": "Examples", - "description": "Are there any apps or sites that have a look and feel that you would want used as inspiration? Please provide links or examples.", - "type": "textbox", - "fieldName": "details.designSpecification.examples" - }, - { - "id": "excludeExamples", - "fieldName": "details.designSpecification.excludeExamples", - "title": "Exclude Examples", - "description": "On the other hand, are there any apps or sites that you dislike? Please provide links or examples.", - "type": "textbox" - } - ] - } - ] - } - ] - }, - "disabled": false, - "hidden": false - }, - { - "id": 12, - "name": "App Visual Design - Concepts", - "productKey": "visual_design_concepts", - "icon": "product-design-app-visual", - "brief": "1-15 screens", - "details": "Visualize and test your app requirements and ideas", - "aliases": [ - "visual_design_concepts" - ], - "template": { - "questions": [ - { - "id": "appDefinition", - "title": "Infographic", - "required": true, - "description": "Please answer a few basic questions about your project. You can also provide the needed information in a supporting document--add a link in the notes section or upload it below.", - "subSections": [ - { - "id": "projectName", - "required": true, - "validationError": "Please provide a name for your project", - "fieldName": "name", - "description": "", - "title": "Project Name", - "type": "project-name", - "hidden": true - }, - { - "id": "questions", - "required": true, - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "title": "How many screens do you need designed?", - "description": "This is the most popular project size that can get a medium-sized app designed in a breeze", - "fieldName": "details.appDefinition.numberScreens", - "type": "tiled-radio-group", - "affectsQuickQuote": true, - "options": [ - { - "value": "1-3", - "title": "screens", - "icon": "NumberText", - "iconOptions": { - "number": "1-3" - }, - "desc": "5-7 days", - "quoteUp": 0, - "minTimeUp": 0, - "maxTimeUp": 0 - }, - { - "value": "4-8", - "title": "screens", - "icon": "NumberText", - "iconOptions": { - "number": "4-8" - }, - "desc": "7-10 days", - "quoteUp": 2000, - "minTimeUp": 3, - "maxTimeUp": 5 - }, - { - "value": "9-15", - "title": "screens", - "icon": "NumberText", - "iconOptions": { - "number": "9-15" - }, - "desc": "8-10 days", - "quoteUp": 3500, - "minTimeUp": 8, - "maxTimeUp": 12 - } - ], - "hidden": true - }, - { - "icon": "question", - "title": "Which is your primary device target?", - "description": "Select only the device that you need to develop for. In most cases limiting the scope of your project would result in better final result. Topcoder recommends to always start with the mobile phone view and expand to other devices as your app matures.", - "fieldName": "details.appDefinition.primaryTarget", - "type": "tiled-radio-group", - "options": [ - { - "value": "Phone", - "title": "Phone", - "icon": "icon-tech-outline-mobile", - "iconOptions": { - "fill": "#00000" - }, - "desc": "iOS, Android, Hybrid" - }, - { - "value": "Tablet", - "title": "Tablet", - "icon": "icon-tech-outline-tablet", - "iconOptions": { - "fill": "#00000" - }, - "desc": "iOS, Android, Hybrid" - }, - { - "value": "Desktop", - "title": "Desktop", - "icon": "icon-tech-outline-desktop", - "iconOptions": { - "fill": "#00000" - }, - "desc": "all OS" - }, - { - "value": "Wearable", - "title": "Wearable", - "icon": "icon-tech-outline-watch-apple", - "iconOptions": { - "fill": "#00000" - }, - "desc": "Watch OS, Android Wear" - } - ], - "hidden": true - }, - { - "icon": "question", - "id": "projectInfo", - "fieldName": "description", - "description": "Brief Description", - "validations": "isRequired,minLength:160", - "validationErrors": { - "isRequired": "Please provide a description", - "minLength": "Please enter at least 160 characters" - }, - "title": "Description", - "type": "textbox", - "hidden": true - }, - { - "icon": "question", - "title": "What is the goal of your application? How will people use it?", - "description": "Describe your objectives for creating this application", - "type": "see-attached-textbox", - "fieldName": "details.appDefinition.goal" - }, - { - "icon": "question", - "title": "Who are the users of your application? ", - "description": "Describe the roles and needs of your target users", - "type": "see-attached-textbox", - "fieldName": "details.appDefinition.users" - } - ] - }, - { - "id": "notes", - "fieldName": "details.appDefinition.notes", - "title": "Notes", - "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)", - "type": "notes", - "hidden": true - }, - { - "id": "files", - "description": "", - "type": "files", - "fieldName": "attachments" - } - ] - }, - { - "id": "appScreens", - "required": true, - "title": "App Screens", - "description": "Please describe all the primary screens first. It is important to think about the biggest problem of your application, rather than list all possible screens. Well documented and researched design patterns like \"Settings\", \"Search\", \"Listing\", \"Log In\", \"Registration\" do not need to be the focus of the design, unless you're doing something transformative with said screens. In that case please list in details what is the novel approach for your screens.", - "subSections": [ - { - "id": "screens", - "required": true, - "fieldName": "details.appScreens.screens", - "title": "Screens", - "hideTitle": true, - "description": "Add any other important information regarding your project (e.g., links to documents or existing applications, budget or timing constraints)", - "type": "screens", - "questions": [ - { - "icon": "question", - "title": "Screen name", - "required": true, - "description": "Describe your objectives for creating this application", - "type": "textinput", - "fieldName": "name", - "validationError": "Screen name cannot be blank", - "validations": "isRequired" - }, - { - "icon": "question", - "title": "What are the things the user can do on this screen?", - "required": true, - "description": "What are the important features/capabilities that the screen provides to your end users?", - "type": "textbox", - "fieldName": "description", - "validationError": "Answer cannot be blank", - "validations": "isRequired" - }, - { - "icon": "question", - "title": "Screen importance", - "required": true, - "description": "Pick how important is this screen for your project from 1 to 10", - "type": "select-dropdown", - "fieldName": "importanceLevel", - "options": [ - { - "value": 1, - "title": "1" - }, - { - "value": 2, - "title": "2" - }, - { - "value": 3, - "title": "3" - }, - { - "value": 4, - "title": "4" - }, - { - "value": 5, - "title": "5" - }, - { - "value": 6, - "title": "6" - }, - { - "value": 7, - "title": "7" - }, - { - "value": 8, - "title": "8" - }, - { - "value": 9, - "title": "9" - }, - { - "value": 10, - "title": "10" - } - ] - } - ] - } - ] - }, - { - "id": "designSpecification", - "required": false, - "title": "Design Guidelines", - "description": "Define the visual style for your application or provide a style guide or brand guidelines. Skip this section (or particular questions) if you don't have any preferences or restrictions.", - "subSections": [ - { - "id": "questions", - "required": false, - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "id": "guidelines", - "title": "Guidelines", - "description": "Do you have brand guidelines that need to be followed? If yes, please include a link or attach them in the definition section, above.", - "type": "textbox", - "fieldName": "details.designSpecification.guidelines" - }, - { - "id": "examples", - "title": "Examples", - "description": "Are there any apps or sites that have a look and feel that you would want used as inspiration? Please provide links or examples.", - "type": "textbox", - "fieldName": "details.designSpecification.examples" - }, - { - "id": "excludeExamples", - "fieldName": "details.designSpecification.excludeExamples", - "title": "Exclude Examples", - "description": "On the other hand, are there any apps or sites that you dislike? Please provide links or examples.", - "type": "textbox" - } - ] - } - ] - } - ] - }, - "disabled": false, - "hidden": false - }, - { - "id": 13, - "name": "Visual Design", - "productKey": "visual_design_prod", - "icon": "product-design-app-visual", - "brief": "1-15 screens", - "details": "Create development-ready designs", - "aliases": [ - "visual-design", - "visual_design_prod" - ], - "template": { - "questions": [ - { - "id": "appDefinition", - "title": "Infographic", - "required": true, - "description": "Please answer a few basic questions about your project. You can also provide the needed information in a supporting document--add a link in the notes section or upload it below.", - "subSections": [ - { - "id": "projectName", - "required": true, - "validationError": "Please provide a name for your project", - "fieldName": "name", - "description": "", - "title": "Project Name", - "type": "project-name", - "hidden": true - }, - { - "id": "questions", - "required": true, - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "title": "How many screens do you need designed?", - "description": "This is the most popular project size that can get a medium-sized app designed in a breeze", - "fieldName": "details.appDefinition.numberScreens", - "type": "tiled-radio-group", - "affectsQuickQuote": true, - "options": [ - { - "value": "1-3", - "title": "screens", - "icon": "NumberText", - "iconOptions": { - "number": "1-3" - }, - "desc": "5-7 days", - "quoteUp": 0, - "minTimeUp": 0, - "maxTimeUp": 0 - }, - { - "value": "4-8", - "title": "screens", - "icon": "NumberText", - "iconOptions": { - "number": "4-8" - }, - "desc": "7-10 days", - "quoteUp": 2000, - "minTimeUp": 3, - "maxTimeUp": 5 - }, - { - "value": "9-15", - "title": "screens", - "icon": "NumberText", - "iconOptions": { - "number": "9-15" - }, - "desc": "8-10 days", - "quoteUp": 3500, - "minTimeUp": 8, - "maxTimeUp": 12 - } - ], - "hidden": true - }, - { - "icon": "question", - "title": "Which is your primary device target?", - "description": "Select only the device that you need to develop for. In most cases limiting the scope of your project would result in better final result. Topcoder recommends to always start with the mobile phone view and expand to other devices as your app matures.", - "fieldName": "details.appDefinition.primaryTarget", - "type": "tiled-radio-group", - "options": [ - { - "value": "Phone", - "title": "Phone", - "icon": "icon-tech-outline-mobile", - "iconOptions": { - "fill": "#00000" - }, - "desc": "iOS, Android, Hybrid" - }, - { - "value": "Tablet", - "title": "Tablet", - "icon": "icon-tech-outline-tablet", - "iconOptions": { - "fill": "#00000" - }, - "desc": "iOS, Android, Hybrid" - }, - { - "value": "Desktop", - "title": "Desktop", - "icon": "icon-tech-outline-desktop", - "iconOptions": { - "fill": "#00000" - }, - "desc": "all OS" - }, - { - "value": "Wearable", - "title": "Wearable", - "icon": "icon-tech-outline-watch-apple", - "iconOptions": { - "fill": "#00000" - }, - "desc": "Watch OS, Android Wear" - } - ], - "hidden": true - }, - { - "icon": "question", - "id": "projectInfo", - "fieldName": "description", - "description": "Brief Description", - "validations": "isRequired,minLength:160", - "validationErrors": { - "isRequired": "Please provide a description", - "minLength": "Please enter at least 160 characters" - }, - "title": "Description", - "type": "textbox", - "hidden": true - }, - { - "icon": "question", - "title": "What is the goal of your application? How will people use it?", - "description": "Describe your objectives for creating this application", - "type": "see-attached-textbox", - "fieldName": "details.appDefinition.goal" - }, - { - "icon": "question", - "title": "Who are the users of your application? ", - "description": "Describe the roles and needs of your target users", - "type": "see-attached-textbox", - "fieldName": "details.appDefinition.users" - } - ] - }, - { - "id": "notes", - "fieldName": "details.appDefinition.notes", - "title": "Notes", - "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)", - "type": "notes", - "hidden": true - }, - { - "id": "files", - "description": "", - "type": "files", - "fieldName": "attachments" - } - ] - }, - { - "id": "appScreens", - "required": true, - "title": "App Screens", - "description": "Please describe all the primary screens first. It is important to think about the biggest problem of your application, rather than list all possible screens. Well documented and researched design patterns like \"Settings\", \"Search\", \"Listing\", \"Log In\", \"Registration\" do not need to be the focus of the design, unless you're doing something transformative with said screens. In that case please list in details what is the novel approach for your screens.", - "subSections": [ - { - "id": "screens", - "required": true, - "fieldName": "details.appScreens.screens", - "title": "Screens", - "hideTitle": true, - "description": "Add any other important information regarding your project (e.g., links to documents or existing applications, budget or timing constraints)", - "type": "screens", - "questions": [ - { - "icon": "question", - "title": "Screen name", - "required": true, - "description": "Describe your objectives for creating this application", - "type": "textinput", - "fieldName": "name", - "validationError": "Screen name cannot be blank", - "validations": "isRequired" - }, - { - "icon": "question", - "title": "What are the things the user can do on this screen?", - "required": true, - "description": "What are the important features/capabilities that the screen provides to your end users?", - "type": "textbox", - "fieldName": "description", - "validationError": "Answer cannot be blank", - "validations": "isRequired" - }, - { - "icon": "question", - "title": "Screen importance", - "required": true, - "description": "Pick how important is this screen for your project from 1 to 10", - "type": "select-dropdown", - "fieldName": "importanceLevel", - "options": [ - { - "value": 1, - "title": "1" - }, - { - "value": 2, - "title": "2" - }, - { - "value": 3, - "title": "3" - }, - { - "value": 4, - "title": "4" - }, - { - "value": 5, - "title": "5" - }, - { - "value": 6, - "title": "6" - }, - { - "value": 7, - "title": "7" - }, - { - "value": 8, - "title": "8" - }, - { - "value": 9, - "title": "9" - }, - { - "value": 10, - "title": "10" - } - ] - } - ] - } - ] - }, - { - "id": "designSpecification", - "required": false, - "title": "Design Guidelines", - "description": "Define the visual style for your application or provide a style guide or brand guidelines. Skip this section (or particular questions) if you don't have any preferences or restrictions.", - "subSections": [ - { - "id": "questions", - "required": false, - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "id": "guidelines", - "title": "Guidelines", - "description": "Do you have brand guidelines that need to be followed? If yes, please include a link or attach them in the definition section, above.", - "type": "textbox", - "fieldName": "details.designSpecification.guidelines" - }, - { - "id": "examples", - "title": "Examples", - "description": "Are there any apps or sites that have a look and feel that you would want used as inspiration? Please provide links or examples.", - "type": "textbox", - "fieldName": "details.designSpecification.examples" - }, - { - "id": "excludeExamples", - "fieldName": "details.designSpecification.excludeExamples", - "title": "Exclude Examples", - "description": "On the other hand, are there any apps or sites that you dislike? Please provide links or examples.", - "type": "textbox" - } - ] - } - ] - } - ] - }, - "disabled": false, - "hidden": false - }, - { - "id": 14, - "name": "Infographic", - "productKey": "infographic", - "icon": "product-design-infographic", - "brief": "Infographic", - "details": "Present your data in an easy-to-understand and interesting way", - "aliases": [ - "infographic" - ], - "template": { - "questions": [ - { - "id": "appDefinition", - "title": "Infographic", - "required": true, - "description": "Please answer a few basic questions about your project. You can also provide the needed information in a supporting document--add a link in the notes section or upload it below.", - "subSections": [ - { - "id": "projectName", - "required": true, - "validationError": "Please provide a name for your project", - "fieldName": "name", - "description": "", - "title": "Project Name", - "type": "project-name", - "hidden": true - }, - { - "id": "questions", - "required": true, - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "title": "How many screens do you need designed?", - "description": "This is the most popular project size that can get a medium-sized app designed in a breeze", - "fieldName": "details.appDefinition.numberScreens", - "type": "tiled-radio-group", - "affectsQuickQuote": true, - "options": [ - { - "value": "1-3", - "title": "screens", - "icon": "NumberText", - "iconOptions": { - "number": "1-3" - }, - "desc": "5-7 days", - "quoteUp": 0, - "minTimeUp": 0, - "maxTimeUp": 0 - }, - { - "value": "4-8", - "title": "screens", - "icon": "NumberText", - "iconOptions": { - "number": "4-8" - }, - "desc": "7-10 days", - "quoteUp": 2000, - "minTimeUp": 3, - "maxTimeUp": 5 - }, - { - "value": "9-15", - "title": "screens", - "icon": "NumberText", - "iconOptions": { - "number": "9-15" - }, - "desc": "8-10 days", - "quoteUp": 3500, - "minTimeUp": 8, - "maxTimeUp": 12 - } - ], - "hidden": true - }, - { - "icon": "question", - "title": "Which is your primary device target?", - "description": "Select only the device that you need to develop for. In most cases limiting the scope of your project would result in better final result. Topcoder recommends to always start with the mobile phone view and expand to other devices as your app matures.", - "fieldName": "details.appDefinition.primaryTarget", - "type": "tiled-radio-group", - "options": [ - { - "value": "Phone", - "title": "Phone", - "icon": "icon-tech-outline-mobile", - "iconOptions": { - "fill": "#00000" - }, - "desc": "iOS, Android, Hybrid" - }, - { - "value": "Tablet", - "title": "Tablet", - "icon": "icon-tech-outline-tablet", - "iconOptions": { - "fill": "#00000" - }, - "desc": "iOS, Android, Hybrid" - }, - { - "value": "Desktop", - "title": "Desktop", - "icon": "icon-tech-outline-desktop", - "iconOptions": { - "fill": "#00000" - }, - "desc": "all OS" - }, - { - "value": "Wearable", - "title": "Wearable", - "icon": "icon-tech-outline-watch-apple", - "iconOptions": { - "fill": "#00000" - }, - "desc": "Watch OS, Android Wear" - } - ], - "hidden": true - }, - { - "icon": "question", - "id": "projectInfo", - "fieldName": "description", - "description": "Brief Description", - "validations": "isRequired,minLength:160", - "validationErrors": { - "isRequired": "Please provide a description", - "minLength": "Please enter at least 160 characters" - }, - "title": "Description", - "type": "textbox", - "hidden": true - }, - { - "icon": "question", - "title": "What is the goal of your application? How will people use it?", - "description": "Describe your objectives for creating this application", - "type": "see-attached-textbox", - "fieldName": "details.appDefinition.goal" - }, - { - "icon": "question", - "title": "Who are the users of your application? ", - "description": "Describe the roles and needs of your target users", - "type": "see-attached-textbox", - "fieldName": "details.appDefinition.users" - } - ] - }, - { - "id": "notes", - "fieldName": "details.appDefinition.notes", - "title": "Notes", - "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)", - "type": "notes", - "hidden": true - }, - { - "id": "files", - "description": "", - "type": "files", - "fieldName": "attachments" - } - ] - }, - { - "id": "appScreens", - "required": true, - "title": "App Screens", - "description": "Please describe all the primary screens first. It is important to think about the biggest problem of your application, rather than list all possible screens. Well documented and researched design patterns like \"Settings\", \"Search\", \"Listing\", \"Log In\", \"Registration\" do not need to be the focus of the design, unless you're doing something transformative with said screens. In that case please list in details what is the novel approach for your screens.", - "subSections": [ - { - "id": "screens", - "required": true, - "fieldName": "details.appScreens.screens", - "title": "Screens", - "hideTitle": true, - "description": "Add any other important information regarding your project (e.g., links to documents or existing applications, budget or timing constraints)", - "type": "screens", - "questions": [ - { - "icon": "question", - "title": "Screen name", - "required": true, - "description": "Describe your objectives for creating this application", - "type": "textinput", - "fieldName": "name", - "validationError": "Screen name cannot be blank", - "validations": "isRequired" - }, - { - "icon": "question", - "title": "What are the things the user can do on this screen?", - "required": true, - "description": "What are the important features/capabilities that the screen provides to your end users?", - "type": "textbox", - "fieldName": "description", - "validationError": "Answer cannot be blank", - "validations": "isRequired" - }, - { - "icon": "question", - "title": "Screen importance", - "required": true, - "description": "Pick how important is this screen for your project from 1 to 10", - "type": "select-dropdown", - "fieldName": "importanceLevel", - "options": [ - { - "value": 1, - "title": "1" - }, - { - "value": 2, - "title": "2" - }, - { - "value": 3, - "title": "3" - }, - { - "value": 4, - "title": "4" - }, - { - "value": 5, - "title": "5" - }, - { - "value": 6, - "title": "6" - }, - { - "value": 7, - "title": "7" - }, - { - "value": 8, - "title": "8" - }, - { - "value": 9, - "title": "9" - }, - { - "value": 10, - "title": "10" - } - ] - } - ] - } - ] - }, - { - "id": "designSpecification", - "required": false, - "title": "Design Guidelines", - "description": "Define the visual style for your application or provide a style guide or brand guidelines. Skip this section (or particular questions) if you don't have any preferences or restrictions.", - "subSections": [ - { - "id": "questions", - "required": false, - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "id": "guidelines", - "title": "Guidelines", - "description": "Do you have brand guidelines that need to be followed? If yes, please include a link or attach them in the definition section, above.", - "type": "textbox", - "fieldName": "details.designSpecification.guidelines" - }, - { - "id": "examples", - "title": "Examples", - "description": "Are there any apps or sites that have a look and feel that you would want used as inspiration? Please provide links or examples.", - "type": "textbox", - "fieldName": "details.designSpecification.examples" - }, - { - "id": "excludeExamples", - "fieldName": "details.designSpecification.excludeExamples", - "title": "Exclude Examples", - "description": "On the other hand, are there any apps or sites that you dislike? Please provide links or examples.", - "type": "textbox" - } - ] - } - ] - } - ] - }, - "disabled": false, - "hidden": false - }, - { - "id": 15, - "name": "Other Design", - "productKey": "generic_design", - "icon": "product-design-other", - "brief": "other designs", - "details": "Get help with other types of design", - "aliases": [ - "generic-design", - "generic_design" - ], - "template": { - "questions": [ - { - "id": "appDefinition", - "title": "Other Design", - "required": true, - "description": "Please answer a few basic questions about your project. You can also provide the needed information in a supporting document--add a link in the notes section or upload it below.", - "subSections": [ - { - "id": "projectName", - "required": true, - "validationError": "Please provide a name for your project", - "fieldName": "name", - "description": "", - "title": "Project Name", - "type": "project-name", - "hidden": true - }, - { - "id": "projectInfo", - "required": true, - "fieldName": "description", - "description": "Description", - "title": "Project Info", - "type": "notes" - }, - { - "id": "questions", - "required": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "title": "What is the goal of your application? How will people use it?", - "description": "Describe your objectives for creating this application", - "type": "see-attached-textbox", - "fieldName": "details.appDefinition.goal" - }, - { - "icon": "question", - "title": "Who are the users of your application? ", - "description": "Describe the roles and needs of your target users", - "type": "see-attached-textbox", - "fieldName": "details.appDefinition.users" - }, - { - "icon": "question", - "title": "Feature requirements", - "description": "Please list all the features you would like in your application. You can use our wizard to pick from common features or define your own.", - "type": "see-attached-features", - "fieldName": "details.appDefinition.features" - } - ] - }, - { - "id": "notes", - "fieldName": "details.appDefinition.notes", - "title": "Notes", - "description": "Add any other important information regarding your project (e.g., links to documents or existing applications, budget or timing constraints)", - "type": "notes", - "hidden": true - }, - { - "id": "files", - "description": "", - "type": "files", - "fieldName": "attachments" - } - ] - }, - { - "id": "designSpecification", - "required": false, - "title": "Design Specification", - "description": "Define the visual style for your application or provide a style guide or brand guidelines. Skip this section (or particular questions) if you don't have any preferences or restrictions.", - "subSections": [ - { - "id": "questions", - "required": false, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "title": "What font style do you prefer? (Pick one)", - "description": "The typography used in your designs will fit within these broad font styles", - "type": "tiled-radio-group", - "options": [ - { - "value": "serif", - "title": "Serif", - "icon": "icon-tc-spec-type-serif", - "iconOptions": { - "fill": "#00000" - }, - "desc": "formal, old style" - }, - { - "value": "sanSerif", - "title": "Sans Serif", - "icon": "icon-tc-spec-type-sans-serif", - "iconOptions": { - "fill": "#00000" - }, - "desc": "clean, modern, informal" - } - ], - "fieldName": "details.designSpecification.fontStyle" - }, - { - "icon": "question", - "title": "What colors do you like? (Select all that apply)", - "description": "Your preferred colors will be used to guide the shading in your designs", - "type": "colors", - "defaultColors": [], - "fieldName": "details.designSpecification.colors" - }, - { - "icon": "question", - "title": "What icon style do you prefer? (Pick one)", - "description": "Icons within your designs will follow these styles", - "type": "tiled-radio-group", - "options": [ - { - "value": "flatColor", - "title": "Flat Color", - "icon": "icon-tc-spec-icon-type-color-home", - "iconOptions": { - "fill": "#00000" - }, - "desc": "playful" - }, - { - "value": "thinLine", - "title": "Thin Line", - "icon": "icon-tc-spec-icon-type-outline-home", - "iconOptions": { - "fill": "#00000" - }, - "desc": "modern" - }, - { - "value": "solidLine", - "title": "Solid Line", - "icon": "icon-tc-spec-icon-type-glyph-home", - "iconOptions": { - "fill": "#00000" - }, - "desc": "classic" - } - ], - "fieldName": "details.designSpecification.iconStyle" - } - ] - }, - { - "id": "notes", - "required": false, - "fieldName": "details.designSpecification.notes", - "title": "Notes", - "description": "Add any other important information regarding your project (e.g., links to documents or existing applications, budget or timing constraints)", - "type": "notes" - } - ] - }, - { - "id": "devSpecification", - "title": "Development Specification", - "description": "Define some basic technical requirements for your application or provide any architecture or technical guidelines. Skip this section if you dont know what is required.", - "required": false, - "subSections": [ - { - "id": "questions", - "required": false, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "title": "How should your application be built?", - "description": "Choose the operating system/platform for your application", - "type": "checkbox-group", - "options": [ - { - "value": "ios", - "label": "iOS" - }, - { - "value": "android", - "label": "Android" - }, - { - "value": "web", - "label": "Web" - }, - { - "value": "hybrid", - "label": "Hybrid" - } - ], - "fieldName": "details.devSpecification.platform" - }, - { - "icon": "question", - "title": "Is offline access required for your application?", - "description": "Do your users need to use the application when they are unable to connect to the internet?", - "type": "radio-group", - "options": [ - { - "value": "true", - "label": "Yes" - }, - { - "value": "false", - "label": "No" - } - ], - "fieldName": "details.devSpecification.offlineAccess" - }, - { - "icon": "question", - "title": "What level of security is needed for your application?", - "description": "Do you expect to be storing or transmitting personal or sensitive information?", - "type": "radio-group", - "options": [ - { - "value": "standard", - "label": "Standard - Nothing to do here" - }, - { - "value": "enhanced", - "label": "Enhanced" - }, - { - "value": "maximumm", - "label": "Maximum" - } - ], - "fieldName": "details.devSpecification.securityLevel" - } - ] - }, - { - "id": "notes", - "required": false, - "fieldName": "details.devSpecification.notes", - "title": "Notes", - "description": "Add any other important information regarding your project (e.g., links to documents or existing applications, budget or timing constraints)", - "type": "notes" - } - ] - } - ] - }, - "disabled": false, - "hidden": false - }, - { - "id": 16, - "name": "Front-end Prototype", - "productKey": "visual_prototype", - "icon": "product-dev-prototype", - "brief": "3-20 screens", - "details": "Translate designs to a web (HTML/CSS/JavaScript) or mobile prototype", - "aliases": [ - "visual-prototype", - "visual_prototype" - ], - "template": { - "questions": [ - { - "id": "appDefinition", - "title": "Development Integration", - "required": true, - "description": "Please answer a few basic questions about your project. You can also provide the needed information in a supporting document--add a link in the notes section or upload it below.", - "subSections": [ - { - "id": "projectName", - "required": true, - "validationError": "Please provide a name for your project", - "fieldName": "name", - "description": "", - "title": "Project Name", - "type": "project-name", - "hidden": true - }, - { - "id": "questions", - "required": true, - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "title": "Which is your primary device target?", - "description": "Select only the device that you need to develop for. In most cases limiting the scope of your project would result in better final result. Topcoder recommends to always start with the mobile phone view and expand to other devices as your app matures.", - "fieldName": "details.appDefinition.primaryTarget", - "type": "tiled-radio-group", - "options": [ - { - "value": "phone", - "title": "Phone", - "icon": "icon-tech-outline-mobile", - "iconOptions": { - "fill": "#00000" - }, - "desc": "iOS, Android, Hybrid" - }, - { - "value": "tablet", - "title": "Tablet", - "icon": "icon-tech-outline-tablet", - "iconOptions": { - "fill": "#00000" - }, - "desc": "iOS, Android, Hybrid" - }, - { - "value": "desktop", - "title": "Desktop", - "icon": "icon-tech-outline-desktop", - "iconOptions": { - "fill": "#00000" - }, - "desc": "all OS" - }, - { - "value": "wearable", - "title": "Wearable", - "icon": "icon-tech-outline-watch-apple", - "iconOptions": { - "fill": "#00000" - }, - "desc": "Watch OS, Android Wear" - } - ], - "hidden": true - }, - { - "id": "projectInfo", - "validations": "isRequired,minLength:160", - "validationErrors": { - "isRequired": "Please provide a description", - "minLength": "Please enter at least 160 characters" - }, - "fieldName": "description", - "description": "Brief Description", - "title": "Description", - "type": "textbox", - "hidden": true - }, - { - "icon": "question", - "title": "What is the goal of your application? How will people use it?", - "description": "Describe your objectives for creating this application", - "type": "see-attached-textbox", - "fieldName": "details.appDefinition.goal" - }, - { - "icon": "question", - "title": "Who are the users of your application? ", - "description": "Describe the roles and needs of your target users", - "type": "see-attached-textbox", - "fieldName": "details.appDefinition.users" - }, - { - "icon": "question", - "fieldName": "details.appDefinition.budget", - "description": "Project budget in USD, please enter 0 if you don't have one", - "title": "What is your project budget?", - "type": "numberinputpositive" - }, - { - "icon": "question", - "title": "How precise is your budget?", - "description": "", - "fieldName": "details.appDefinition.budgetType", - "type": "slide-radiogroup", - "options": [ - { - "value": "guess", - "title": "Its a wild guess" - }, - { - "value": "ballpark", - "title": "I have a rough idea" - }, - { - "value": "exact", - "title": "Precise to the penny" - } - ] - }, - { - "icon": "question", - "title": "When do you want to get started?", - "description": "", - "fieldName": "details.appDefinition.whenToStart", - "type": "slide-radiogroup", - "options": [ - { - "value": "asap", - "title": "ASAP" - }, - { - "value": "1-2 months", - "title": "1-2 months" - }, - { - "value": "2-plus-months", - "title": "2+ months" - }, - { - "value": "estimating", - "title": "I'm just browsing" - } - ] - }, - { - "icon": "question", - "fieldName": "details.appDefinition.deadline", - "description": "", - "title": "Deadline", - "type": "slide-radiogroup", - "options": [ - { - "value": "2-weeks", - "title": "2 weeks" - }, - { - "value": "1-2-months", - "title": "1-2 months" - }, - { - "value": "2-plus-months", - "title": "2+ months" - }, - { - "value": "estimating", - "title": "I'm just browsing" - } - ] - }, - { - "icon": "question", - "title": "Feature requirements", - "description": "Please list all the features you would like in your application. You can use our wizard to pick from common features or define your own.", - "type": "see-attached-features", - "fieldName": "details.appDefinition.features" - } - ] - }, - { - "id": "notes", - "fieldName": "details.appDefinition.notes", - "title": "Notes", - "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)", - "type": "notes", - "hidden": true - }, - { - "id": "files", - "description": "", - "type": "files", - "fieldName": "attachments" - } - ] - }, - { - "id": "designSpecification", - "required": false, - "title": "Design Specification", - "description": "Define the visual style for your application or provide a style guide or brand guidelines. Skip this section (or particular questions) if you don't have any preferences or restrictions.", - "subSections": [ - { - "id": "questions", - "required": false, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "title": "What font style do you prefer? (Pick one)", - "description": "The typography used in your designs will fit within these broad font styles", - "type": "tiled-radio-group", - "options": [ - { - "value": "serif", - "title": "Serif", - "icon": "icon-tc-spec-type-serif", - "iconOptions": { - "fill": "#00000" - }, - "desc": "formal, old style" - }, - { - "value": "sanSerif", - "title": "Sans Serif", - "icon": "icon-tc-spec-type-sans-serif", - "iconOptions": { - "fill": "#00000" - }, - "desc": "clean, modern, informal" - } - ], - "fieldName": "details.designSpecification.fontStyle" - }, - { - "icon": "question", - "title": "What colors do you like? (Select all that apply)", - "description": "Your preferred colors will be used to guide the shading in your designs", - "type": "colors", - "defaultColors": [], - "fieldName": "details.designSpecification.colors" - }, - { - "icon": "question", - "title": "What icon style do you prefer? (Pick one)", - "description": "Icons within your designs will follow these styles", - "type": "tiled-radio-group", - "options": [ - { - "value": "flatColor", - "title": "Flat Color", - "icon": "icon-tc-spec-icon-type-color-home", - "iconOptions": { - "fill": "#00000" - }, - "desc": "playful" - }, - { - "value": "thinLine", - "title": "Thin Line", - "icon": "icon-tc-spec-icon-type-outline-home", - "iconOptions": { - "fill": "#00000" - }, - "desc": "modern" - }, - { - "value": "solidLine", - "title": "Solid Line", - "icon": "icon-tc-spec-icon-type-glyph-home", - "iconOptions": { - "fill": "#00000" - }, - "desc": "classic" - } - ], - "fieldName": "details.designSpecification.iconStyle" - } - ] - }, - { - "id": "notes", - "required": false, - "fieldName": "details.designSpecification.notes", - "title": "Notes", - "description": "Add any other important information regarding your project (e.g., links to documents or existing applications, budget or timing constraints)", - "type": "notes" - } - ] - }, - { - "id": "devSpecification", - "title": "Development Specification", - "description": "Define some basic technical requirements for your application or provide any architecture or technical guidelines. Skip this section if you dont know what is required.", - "required": false, - "subSections": [ - { - "id": "questions", - "required": false, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "title": "How should your application be built?", - "description": "Choose the operating system/platform for your application", - "type": "checkbox-group", - "options": [ - { - "value": "ios", - "label": "iOS" - }, - { - "value": "android", - "label": "Android" - }, - { - "value": "web", - "label": "Web" - }, - { - "value": "hybrid", - "label": "Hybrid" - } - ], - "fieldName": "details.devSpecification.platform" - }, - { - "icon": "question", - "title": "Is offline access required for your application?", - "description": "Do your users need to use the application when they are unable to connect to the internet?", - "type": "radio-group", - "options": [ - { - "value": "true", - "label": "Yes" - }, - { - "value": "false", - "label": "No" - } - ], - "fieldName": "details.devSpecification.offlineAccess" - }, - { - "icon": "question", - "title": "What level of security is needed for your application?", - "description": "Do you expect to be storing or transmitting personal or sensitive information?", - "type": "radio-group", - "options": [ - { - "value": "standard", - "label": "Standard - Nothing to do here" - }, - { - "value": "enhanced", - "label": "Enhanced" - }, - { - "value": "maximumm", - "label": "Maximum" - } - ], - "fieldName": "details.devSpecification.securityLevel" - } - ] - }, - { - "id": "notes", - "required": false, - "fieldName": "details.devSpecification.notes", - "title": "Notes", - "description": "Add any other important information regarding your project (e.g., links to documents or existing applications, budget or timing constraints)", - "type": "notes" - } - ] - } - ] - }, - "disabled": false, - "hidden": false - }, - { - "id": 17, - "name": "Front-end", - "productKey": "frontend_dev", - "icon": "product-dev-front-end-dev", - "brief": "", - "details": "Translate your designs into Web or Mobile front-end", - "aliases": [ - "frontend-development", - "frontend_dev" - ], - "template": { - "questions": [ - { - "id": "appDefinition", - "title": "Development Integration", - "required": true, - "description": "Please answer a few basic questions about your project. You can also provide the needed information in a supporting document--add a link in the notes section or upload it below.", - "subSections": [ - { - "id": "projectName", - "required": true, - "validationError": "Please provide a name for your project", - "fieldName": "name", - "description": "", - "title": "Project Name", - "type": "project-name", - "hidden": true - }, - { - "id": "questions", - "required": true, - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "title": "Which is your primary device target?", - "description": "Select only the device that you need to develop for. In most cases limiting the scope of your project would result in better final result. Topcoder recommends to always start with the mobile phone view and expand to other devices as your app matures.", - "fieldName": "details.appDefinition.primaryTarget", - "type": "tiled-radio-group", - "options": [ - { - "value": "phone", - "title": "Phone", - "icon": "icon-tech-outline-mobile", - "iconOptions": { - "fill": "#00000" - }, - "desc": "iOS, Android, Hybrid" - }, - { - "value": "tablet", - "title": "Tablet", - "icon": "icon-tech-outline-tablet", - "iconOptions": { - "fill": "#00000" - }, - "desc": "iOS, Android, Hybrid" - }, - { - "value": "desktop", - "title": "Desktop", - "icon": "icon-tech-outline-desktop", - "iconOptions": { - "fill": "#00000" - }, - "desc": "all OS" - }, - { - "value": "wearable", - "title": "Wearable", - "icon": "icon-tech-outline-watch-apple", - "iconOptions": { - "fill": "#00000" - }, - "desc": "Watch OS, Android Wear" - } - ], - "hidden": true - }, - { - "id": "projectInfo", - "validations": "isRequired,minLength:160", - "validationErrors": { - "isRequired": "Please provide a description", - "minLength": "Please enter at least 160 characters" - }, - "fieldName": "description", - "description": "Brief Description", - "title": "Description", - "type": "textbox", - "hidden": true - }, - { - "icon": "question", - "title": "What is the goal of your application? How will people use it?", - "description": "Describe your objectives for creating this application", - "type": "see-attached-textbox", - "fieldName": "details.appDefinition.goal" - }, - { - "icon": "question", - "title": "Who are the users of your application? ", - "description": "Describe the roles and needs of your target users", - "type": "see-attached-textbox", - "fieldName": "details.appDefinition.users" - }, - { - "icon": "question", - "fieldName": "details.appDefinition.budget", - "description": "Project budget in USD, please enter 0 if you don't have one", - "title": "What is your project budget?", - "type": "numberinputpositive" - }, - { - "icon": "question", - "title": "How precise is your budget?", - "description": "", - "fieldName": "details.appDefinition.budgetType", - "type": "slide-radiogroup", - "options": [ - { - "value": "guess", - "title": "Its a wild guess" - }, - { - "value": "ballpark", - "title": "I have a rough idea" - }, - { - "value": "exact", - "title": "Precise to the penny" - } - ] - }, - { - "icon": "question", - "title": "When do you want to get started?", - "description": "", - "fieldName": "details.appDefinition.whenToStart", - "type": "slide-radiogroup", - "options": [ - { - "value": "asap", - "title": "ASAP" - }, - { - "value": "1-2 months", - "title": "1-2 months" - }, - { - "value": "2-plus-months", - "title": "2+ months" - }, - { - "value": "estimating", - "title": "I'm just browsing" - } - ] - }, - { - "icon": "question", - "fieldName": "details.appDefinition.deadline", - "description": "", - "title": "Deadline", - "type": "slide-radiogroup", - "options": [ - { - "value": "2-weeks", - "title": "2 weeks" - }, - { - "value": "1-2-months", - "title": "1-2 months" - }, - { - "value": "2-plus-months", - "title": "2+ months" - }, - { - "value": "estimating", - "title": "I'm just browsing" - } - ] - }, - { - "icon": "question", - "title": "Feature requirements", - "description": "Please list all the features you would like in your application. You can use our wizard to pick from common features or define your own.", - "type": "see-attached-features", - "fieldName": "details.appDefinition.features" - } - ] - }, - { - "id": "notes", - "fieldName": "details.appDefinition.notes", - "title": "Notes", - "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)", - "type": "notes", - "hidden": true - }, - { - "id": "files", - "description": "", - "type": "files", - "fieldName": "attachments" - } - ] - }, - { - "id": "designSpecification", - "required": false, - "title": "Design Specification", - "description": "Define the visual style for your application or provide a style guide or brand guidelines. Skip this section (or particular questions) if you don't have any preferences or restrictions.", - "subSections": [ - { - "id": "questions", - "required": false, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "title": "What font style do you prefer? (Pick one)", - "description": "The typography used in your designs will fit within these broad font styles", - "type": "tiled-radio-group", - "options": [ - { - "value": "serif", - "title": "Serif", - "icon": "icon-tc-spec-type-serif", - "iconOptions": { - "fill": "#00000" - }, - "desc": "formal, old style" - }, - { - "value": "sanSerif", - "title": "Sans Serif", - "icon": "icon-tc-spec-type-sans-serif", - "iconOptions": { - "fill": "#00000" - }, - "desc": "clean, modern, informal" - } - ], - "fieldName": "details.designSpecification.fontStyle" - }, - { - "icon": "question", - "title": "What colors do you like? (Select all that apply)", - "description": "Your preferred colors will be used to guide the shading in your designs", - "type": "colors", - "defaultColors": [], - "fieldName": "details.designSpecification.colors" - }, - { - "icon": "question", - "title": "What icon style do you prefer? (Pick one)", - "description": "Icons within your designs will follow these styles", - "type": "tiled-radio-group", - "options": [ - { - "value": "flatColor", - "title": "Flat Color", - "icon": "icon-tc-spec-icon-type-color-home", - "iconOptions": { - "fill": "#00000" - }, - "desc": "playful" - }, - { - "value": "thinLine", - "title": "Thin Line", - "icon": "icon-tc-spec-icon-type-outline-home", - "iconOptions": { - "fill": "#00000" - }, - "desc": "modern" - }, - { - "value": "solidLine", - "title": "Solid Line", - "icon": "icon-tc-spec-icon-type-glyph-home", - "iconOptions": { - "fill": "#00000" - }, - "desc": "classic" - } - ], - "fieldName": "details.designSpecification.iconStyle" - } - ] - }, - { - "id": "notes", - "required": false, - "fieldName": "details.designSpecification.notes", - "title": "Notes", - "description": "Add any other important information regarding your project (e.g., links to documents or existing applications, budget or timing constraints)", - "type": "notes" - } - ] - }, - { - "id": "devSpecification", - "title": "Development Specification", - "description": "Define some basic technical requirements for your application or provide any architecture or technical guidelines. Skip this section if you dont know what is required.", - "required": false, - "subSections": [ - { - "id": "questions", - "required": false, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "title": "How should your application be built?", - "description": "Choose the operating system/platform for your application", - "type": "checkbox-group", - "options": [ - { - "value": "ios", - "label": "iOS" - }, - { - "value": "android", - "label": "Android" - }, - { - "value": "web", - "label": "Web" - }, - { - "value": "hybrid", - "label": "Hybrid" - } - ], - "fieldName": "details.devSpecification.platform" - }, - { - "icon": "question", - "title": "Is offline access required for your application?", - "description": "Do your users need to use the application when they are unable to connect to the internet?", - "type": "radio-group", - "options": [ - { - "value": "true", - "label": "Yes" - }, - { - "value": "false", - "label": "No" - } - ], - "fieldName": "details.devSpecification.offlineAccess" - }, - { - "icon": "question", - "title": "What level of security is needed for your application?", - "description": "Do you expect to be storing or transmitting personal or sensitive information?", - "type": "radio-group", - "options": [ - { - "value": "standard", - "label": "Standard - Nothing to do here" - }, - { - "value": "enhanced", - "label": "Enhanced" - }, - { - "value": "maximumm", - "label": "Maximum" - } - ], - "fieldName": "details.devSpecification.securityLevel" - } - ] - }, - { - "id": "notes", - "required": false, - "fieldName": "details.devSpecification.notes", - "title": "Notes", - "description": "Add any other important information regarding your project (e.g., links to documents or existing applications, budget or timing constraints)", - "type": "notes" - } - ] - } - ] - }, - "disabled": false, - "hidden": false - }, - { - "id": 18, - "name": "Back-end & API", - "productKey": "api_dev", - "icon": "product-dev-integration", - "brief": "", - "details": "Build the server, DB, and API for your app", - "aliases": [ - "api-development", - "api_dev" - ], - "template": { - "questions": [ - { - "id": "appDefinition", - "title": "Development Integration", - "required": true, - "description": "Please answer a few basic questions about your project. You can also provide the needed information in a supporting document--add a link in the notes section or upload it below.", - "subSections": [ - { - "id": "projectName", - "required": true, - "validationError": "Please provide a name for your project", - "fieldName": "name", - "description": "", - "title": "Project Name", - "type": "project-name", - "hidden": true - }, - { - "id": "questions", - "required": true, - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "title": "Which is your primary device target?", - "description": "Select only the device that you need to develop for. In most cases limiting the scope of your project would result in better final result. Topcoder recommends to always start with the mobile phone view and expand to other devices as your app matures.", - "fieldName": "details.appDefinition.primaryTarget", - "type": "tiled-radio-group", - "options": [ - { - "value": "phone", - "title": "Phone", - "icon": "icon-tech-outline-mobile", - "iconOptions": { - "fill": "#00000" - }, - "desc": "iOS, Android, Hybrid" - }, - { - "value": "tablet", - "title": "Tablet", - "icon": "icon-tech-outline-tablet", - "iconOptions": { - "fill": "#00000" - }, - "desc": "iOS, Android, Hybrid" - }, - { - "value": "desktop", - "title": "Desktop", - "icon": "icon-tech-outline-desktop", - "iconOptions": { - "fill": "#00000" - }, - "desc": "all OS" - }, - { - "value": "wearable", - "title": "Wearable", - "icon": "icon-tech-outline-watch-apple", - "iconOptions": { - "fill": "#00000" - }, - "desc": "Watch OS, Android Wear" - } - ], - "hidden": true - }, - { - "id": "projectInfo", - "validations": "isRequired,minLength:160", - "validationErrors": { - "isRequired": "Please provide a description", - "minLength": "Please enter at least 160 characters" - }, - "fieldName": "description", - "description": "Brief Description", - "title": "Description", - "type": "textbox", - "hidden": true - }, - { - "icon": "question", - "title": "What is the goal of your application? How will people use it?", - "description": "Describe your objectives for creating this application", - "type": "see-attached-textbox", - "fieldName": "details.appDefinition.goal" - }, - { - "icon": "question", - "title": "Who are the users of your application? ", - "description": "Describe the roles and needs of your target users", - "type": "see-attached-textbox", - "fieldName": "details.appDefinition.users" - }, - { - "icon": "question", - "fieldName": "details.appDefinition.budget", - "description": "Project budget in USD, please enter 0 if you don't have one", - "title": "What is your project budget?", - "type": "numberinputpositive" - }, - { - "icon": "question", - "title": "How precise is your budget?", - "description": "", - "fieldName": "details.appDefinition.budgetType", - "type": "slide-radiogroup", - "options": [ - { - "value": "guess", - "title": "Its a wild guess" - }, - { - "value": "ballpark", - "title": "I have a rough idea" - }, - { - "value": "exact", - "title": "Precise to the penny" - } - ] - }, - { - "icon": "question", - "title": "When do you want to get started?", - "description": "", - "fieldName": "details.appDefinition.whenToStart", - "type": "slide-radiogroup", - "options": [ - { - "value": "asap", - "title": "ASAP" - }, - { - "value": "1-2 months", - "title": "1-2 months" - }, - { - "value": "2-plus-months", - "title": "2+ months" - }, - { - "value": "estimating", - "title": "I'm just browsing" - } - ] - }, - { - "icon": "question", - "fieldName": "details.appDefinition.deadline", - "description": "", - "title": "Deadline", - "type": "slide-radiogroup", - "options": [ - { - "value": "2-weeks", - "title": "2 weeks" - }, - { - "value": "1-2-months", - "title": "1-2 months" - }, - { - "value": "2-plus-months", - "title": "2+ months" - }, - { - "value": "estimating", - "title": "I'm just browsing" - } - ] - }, - { - "icon": "question", - "title": "Feature requirements", - "description": "Please list all the features you would like in your application. You can use our wizard to pick from common features or define your own.", - "type": "see-attached-features", - "fieldName": "details.appDefinition.features" - } - ] - }, - { - "id": "notes", - "fieldName": "details.appDefinition.notes", - "title": "Notes", - "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)", - "type": "notes", - "hidden": true - }, - { - "id": "files", - "description": "", - "type": "files", - "fieldName": "attachments" - } - ] - }, - { - "id": "designSpecification", - "required": false, - "title": "Design Specification", - "description": "Define the visual style for your application or provide a style guide or brand guidelines. Skip this section (or particular questions) if you don't have any preferences or restrictions.", - "subSections": [ - { - "id": "questions", - "required": false, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "title": "What font style do you prefer? (Pick one)", - "description": "The typography used in your designs will fit within these broad font styles", - "type": "tiled-radio-group", - "options": [ - { - "value": "serif", - "title": "Serif", - "icon": "icon-tc-spec-type-serif", - "iconOptions": { - "fill": "#00000" - }, - "desc": "formal, old style" - }, - { - "value": "sanSerif", - "title": "Sans Serif", - "icon": "icon-tc-spec-type-sans-serif", - "iconOptions": { - "fill": "#00000" - }, - "desc": "clean, modern, informal" - } - ], - "fieldName": "details.designSpecification.fontStyle" - }, - { - "icon": "question", - "title": "What colors do you like? (Select all that apply)", - "description": "Your preferred colors will be used to guide the shading in your designs", - "type": "colors", - "defaultColors": [], - "fieldName": "details.designSpecification.colors" - }, - { - "icon": "question", - "title": "What icon style do you prefer? (Pick one)", - "description": "Icons within your designs will follow these styles", - "type": "tiled-radio-group", - "options": [ - { - "value": "flatColor", - "title": "Flat Color", - "icon": "icon-tc-spec-icon-type-color-home", - "iconOptions": { - "fill": "#00000" - }, - "desc": "playful" - }, - { - "value": "thinLine", - "title": "Thin Line", - "icon": "icon-tc-spec-icon-type-outline-home", - "iconOptions": { - "fill": "#00000" - }, - "desc": "modern" - }, - { - "value": "solidLine", - "title": "Solid Line", - "icon": "icon-tc-spec-icon-type-glyph-home", - "iconOptions": { - "fill": "#00000" - }, - "desc": "classic" - } - ], - "fieldName": "details.designSpecification.iconStyle" - } - ] - }, - { - "id": "notes", - "required": false, - "fieldName": "details.designSpecification.notes", - "title": "Notes", - "description": "Add any other important information regarding your project (e.g., links to documents or existing applications, budget or timing constraints)", - "type": "notes" - } - ] - }, - { - "id": "devSpecification", - "title": "Development Specification", - "description": "Define some basic technical requirements for your application or provide any architecture or technical guidelines. Skip this section if you dont know what is required.", - "required": false, - "subSections": [ - { - "id": "questions", - "required": false, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "title": "How should your application be built?", - "description": "Choose the operating system/platform for your application", - "type": "checkbox-group", - "options": [ - { - "value": "ios", - "label": "iOS" - }, - { - "value": "android", - "label": "Android" - }, - { - "value": "web", - "label": "Web" - }, - { - "value": "hybrid", - "label": "Hybrid" - } - ], - "fieldName": "details.devSpecification.platform" - }, - { - "icon": "question", - "title": "Is offline access required for your application?", - "description": "Do your users need to use the application when they are unable to connect to the internet?", - "type": "radio-group", - "options": [ - { - "value": "true", - "label": "Yes" - }, - { - "value": "false", - "label": "No" - } - ], - "fieldName": "details.devSpecification.offlineAccess" - }, - { - "icon": "question", - "title": "What level of security is needed for your application?", - "description": "Do you expect to be storing or transmitting personal or sensitive information?", - "type": "radio-group", - "options": [ - { - "value": "standard", - "label": "Standard - Nothing to do here" - }, - { - "value": "enhanced", - "label": "Enhanced" - }, - { - "value": "maximumm", - "label": "Maximum" - } - ], - "fieldName": "details.devSpecification.securityLevel" - } - ] - }, - { - "id": "notes", - "required": false, - "fieldName": "details.devSpecification.notes", - "title": "Notes", - "description": "Add any other important information regarding your project (e.g., links to documents or existing applications, budget or timing constraints)", - "type": "notes" - } - ] - } - ] - }, - "disabled": false, - "hidden": false - }, - { - "id": 19, - "name": "Development Integration", - "productKey": "generic_dev", - "icon": "product-dev-other", - "brief": "Tasks or adhoc", - "details": "Get help with any part of your app or software", - "aliases": [ - "generic-development", - "generic_dev" - ], - "template": { - "questions": [ - { - "id": "appDefinition", - "title": "Development Integration", - "required": true, - "description": "Please answer a few basic questions about your project. You can also provide the needed information in a supporting document--add a link in the notes section or upload it below.", - "subSections": [ - { - "id": "projectName", - "required": true, - "validationError": "Please provide a name for your project", - "fieldName": "name", - "description": "", - "title": "Project Name", - "type": "project-name", - "hidden": true - }, - { - "id": "questions", - "required": true, - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "title": "Which is your primary device target?", - "description": "Select only the device that you need to develop for. In most cases limiting the scope of your project would result in better final result. Topcoder recommends to always start with the mobile phone view and expand to other devices as your app matures.", - "fieldName": "details.appDefinition.primaryTarget", - "type": "tiled-radio-group", - "options": [ - { - "value": "phone", - "title": "Phone", - "icon": "icon-tech-outline-mobile", - "iconOptions": { - "fill": "#00000" - }, - "desc": "iOS, Android, Hybrid" - }, - { - "value": "tablet", - "title": "Tablet", - "icon": "icon-tech-outline-tablet", - "iconOptions": { - "fill": "#00000" - }, - "desc": "iOS, Android, Hybrid" - }, - { - "value": "desktop", - "title": "Desktop", - "icon": "icon-tech-outline-desktop", - "iconOptions": { - "fill": "#00000" - }, - "desc": "all OS" - }, - { - "value": "wearable", - "title": "Wearable", - "icon": "icon-tech-outline-watch-apple", - "iconOptions": { - "fill": "#00000" - }, - "desc": "Watch OS, Android Wear" - } - ], - "hidden": true - }, - { - "id": "projectInfo", - "validations": "isRequired,minLength:160", - "validationErrors": { - "isRequired": "Please provide a description", - "minLength": "Please enter at least 160 characters" - }, - "fieldName": "description", - "description": "Brief Description", - "title": "Description", - "type": "textbox", - "hidden": true - }, - { - "icon": "question", - "title": "What is the goal of your application? How will people use it?", - "description": "Describe your objectives for creating this application", - "type": "see-attached-textbox", - "fieldName": "details.appDefinition.goal" - }, - { - "icon": "question", - "title": "Who are the users of your application? ", - "description": "Describe the roles and needs of your target users", - "type": "see-attached-textbox", - "fieldName": "details.appDefinition.users" - }, - { - "icon": "question", - "fieldName": "details.appDefinition.budget", - "description": "Project budget in USD, please enter 0 if you don't have one", - "title": "What is your project budget?", - "type": "numberinputpositive" - }, - { - "icon": "question", - "title": "How precise is your budget?", - "description": "", - "fieldName": "details.appDefinition.budgetType", - "type": "slide-radiogroup", - "options": [ - { - "value": "guess", - "title": "Its a wild guess" - }, - { - "value": "ballpark", - "title": "I have a rough idea" - }, - { - "value": "exact", - "title": "Precise to the penny" - } - ] - }, - { - "icon": "question", - "title": "When do you want to get started?", - "description": "", - "fieldName": "details.appDefinition.whenToStart", - "type": "slide-radiogroup", - "options": [ - { - "value": "asap", - "title": "ASAP" - }, - { - "value": "1-2 months", - "title": "1-2 months" - }, - { - "value": "2-plus-months", - "title": "2+ months" - }, - { - "value": "estimating", - "title": "I'm just browsing" - } - ] - }, - { - "icon": "question", - "fieldName": "details.appDefinition.deadline", - "description": "", - "title": "Deadline", - "type": "slide-radiogroup", - "options": [ - { - "value": "2-weeks", - "title": "2 weeks" - }, - { - "value": "1-2-months", - "title": "1-2 months" - }, - { - "value": "2-plus-months", - "title": "2+ months" - }, - { - "value": "estimating", - "title": "I'm just browsing" - } - ] - }, - { - "icon": "question", - "title": "Feature requirements", - "description": "Please list all the features you would like in your application. You can use our wizard to pick from common features or define your own.", - "type": "see-attached-features", - "fieldName": "details.appDefinition.features" - } - ] - }, - { - "id": "notes", - "fieldName": "details.appDefinition.notes", - "title": "Notes", - "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)", - "type": "notes", - "hidden": true - }, - { - "id": "files", - "description": "", - "type": "files", - "fieldName": "attachments" - } - ] - }, - { - "id": "designSpecification", - "required": false, - "title": "Design Specification", - "description": "Define the visual style for your application or provide a style guide or brand guidelines. Skip this section (or particular questions) if you don't have any preferences or restrictions.", - "subSections": [ - { - "id": "questions", - "required": false, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "title": "What font style do you prefer? (Pick one)", - "description": "The typography used in your designs will fit within these broad font styles", - "type": "tiled-radio-group", - "options": [ - { - "value": "serif", - "title": "Serif", - "icon": "icon-tc-spec-type-serif", - "iconOptions": { - "fill": "#00000" - }, - "desc": "formal, old style" - }, - { - "value": "sanSerif", - "title": "Sans Serif", - "icon": "icon-tc-spec-type-sans-serif", - "iconOptions": { - "fill": "#00000" - }, - "desc": "clean, modern, informal" - } - ], - "fieldName": "details.designSpecification.fontStyle" - }, - { - "icon": "question", - "title": "What colors do you like? (Select all that apply)", - "description": "Your preferred colors will be used to guide the shading in your designs", - "type": "colors", - "defaultColors": [], - "fieldName": "details.designSpecification.colors" - }, - { - "icon": "question", - "title": "What icon style do you prefer? (Pick one)", - "description": "Icons within your designs will follow these styles", - "type": "tiled-radio-group", - "options": [ - { - "value": "flatColor", - "title": "Flat Color", - "icon": "icon-tc-spec-icon-type-color-home", - "iconOptions": { - "fill": "#00000" - }, - "desc": "playful" - }, - { - "value": "thinLine", - "title": "Thin Line", - "icon": "icon-tc-spec-icon-type-outline-home", - "iconOptions": { - "fill": "#00000" - }, - "desc": "modern" - }, - { - "value": "solidLine", - "title": "Solid Line", - "icon": "icon-tc-spec-icon-type-glyph-home", - "iconOptions": { - "fill": "#00000" - }, - "desc": "classic" - } - ], - "fieldName": "details.designSpecification.iconStyle" - } - ] - }, - { - "id": "notes", - "required": false, - "fieldName": "details.designSpecification.notes", - "title": "Notes", - "description": "Add any other important information regarding your project (e.g., links to documents or existing applications, budget or timing constraints)", - "type": "notes" - } - ] - }, - { - "id": "devSpecification", - "title": "Development Specification", - "description": "Define some basic technical requirements for your application or provide any architecture or technical guidelines. Skip this section if you dont know what is required.", - "required": false, - "subSections": [ - { - "id": "questions", - "required": false, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "title": "How should your application be built?", - "description": "Choose the operating system/platform for your application", - "type": "checkbox-group", - "options": [ - { - "value": "ios", - "label": "iOS" - }, - { - "value": "android", - "label": "Android" - }, - { - "value": "web", - "label": "Web" - }, - { - "value": "hybrid", - "label": "Hybrid" - } - ], - "fieldName": "details.devSpecification.platform" - }, - { - "icon": "question", - "title": "Is offline access required for your application?", - "description": "Do your users need to use the application when they are unable to connect to the internet?", - "type": "radio-group", - "options": [ - { - "value": "true", - "label": "Yes" - }, - { - "value": "false", - "label": "No" - } - ], - "fieldName": "details.devSpecification.offlineAccess" - }, - { - "icon": "question", - "title": "What level of security is needed for your application?", - "description": "Do you expect to be storing or transmitting personal or sensitive information?", - "type": "radio-group", - "options": [ - { - "value": "standard", - "label": "Standard - Nothing to do here" - }, - { - "value": "enhanced", - "label": "Enhanced" - }, - { - "value": "maximumm", - "label": "Maximum" - } - ], - "fieldName": "details.devSpecification.securityLevel" - } - ] - }, - { - "id": "notes", - "required": false, - "fieldName": "details.devSpecification.notes", - "title": "Notes", - "description": "Add any other important information regarding your project (e.g., links to documents or existing applications, budget or timing constraints)", - "type": "notes" - } - ] - } - ] - }, - "disabled": false, - "hidden": false - }, - { - "id": 20, - "name": "Computer Vision", - "productKey": "computer_vision", - "icon": "product-analytics-computer-vision", - "brief": "TBD", - "details": "Recognize patters in images, compute correspondences, etc.", - "aliases": [ - "computer-vision", - "computer_vision" - ], - "template": { - "questions": [ - { - "id": "appDefinition", - "title": "Computer Vision", - "required": true, - "description": "Please answer a few basic questions about your project. You can also provide the needed information in a supporting document--add a link in the notes section or upload it below.", - "subSections": [ - { - "id": "projectName", - "required": true, - "validationError": "Please provide a name to your project", - "fieldName": "name", - "description": "", - "title": "Project Name", - "type": "project-name", - "hidden": true - }, - { - "id": "questions", - "required": true, - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "id": "projectInfo", - "fieldName": "description", - "validations": "isRequired,minLength:160", - "validationErrors": { - "isRequired": "Please provide your objectives", - "minLength": "Please enter at least 160 characters" - }, - "description": "Brief Description of your objectives", - "title": "Objectives", - "type": "textbox", - "hidden": true - }, - { - "icon": "question", - "title": "Do you have ground truth defined?", - "description": "", - "fieldName": "details.vision.groundtruth", - "type": "radio-group", - "options": [ - { - "value": "true", - "label": "Yes" - }, - { - "value": "false", - "label": "No" - } - ], - "required": true, - "validationError": "Please select one", - "hidden": true - }, - { - "icon": "question", - "title": "Describe your ground truth?", - "description": "(if applicable)", - "type": "textbox", - "fieldName": "details.vision.groundtruthDesc", - "required": true, - "validationError": "Please tell us about your ground truth", - "hidden": true - }, - { - "icon": "question", - "title": "Describe your data set", - "description": "(if applicable)", - "type": "textbox", - "fieldName": "details.vision.dataDesc", - "required": true, - "validationError": "Please tell us about your data set", - "hidden": true - }, - { - "icon": "question", - "title": "Approximately how large is your data set in MB, GB, TB?", - "description": "", - "type": "textbox", - "fieldName": "details.vision.datasetSize", - "required": true, - "validationError": "Please tell us the size of your data set", - "hidden": true - }, - { - "icon": "question", - "title": "Approximately how many images are in your data set?", - "description": "", - "type": "textbox", - "fieldName": "details.vision.imageSet", - "required": true, - "validationError": "Please tell us roughly the number of images in your set", - "hidden": true - } - ] - }, - { - "id": "notes", - "fieldName": "details.appDefinition.notes", - "title": "Additional Notes", - "description": "Please detail any other additional information", - "type": "notes", - "hidden": true - }, - { - "id": "files", - "description": "", - "type": "files", - "fieldName": "attachments" - } - ] - }, - { - "id": "optionals", - "required": false, - "title": "Additional Questions", - "description": "Please complete these optional questions.", - "subSections": [ - { - "id": "additional", - "required": false, - "title": "Additional Questions", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "fieldName": "details.dataURL", - "description": "", - "title": "Please provide a URL to your data", - "type": "textbox" - }, - { - "icon": "question", - "fieldName": "details.performanceInfo", - "description": "", - "title": "Please describe the performance of your existing software", - "type": "textbox" - }, - { - "icon": "question", - "fieldName": "details.externalDataUsage", - "description": "", - "title": "Do you anticipate allowing contestants to use external data?", - "type": "radio-group", - "options": [ - { - "value": "Yes", - "label": "Yes" - }, - { - "value": "No", - "label": "No" - }, - { - "value": "Unsure", - "label": "Unsure" - } - ] - }, - { - "icon": "question", - "fieldName": "details.externalDataUsage", - "description": "", - "title": "If you have already thought of a scoring method, please indicate them here", - "type": "checkbox-group", - "options": [ - { - "value": "F1/Dice", - "label": "F1/Dice" - }, - { - "value": "Jaccard Index", - "label": "Jaccard Index" - }, - { - "value": "Harmonic Mean", - "label": "Harmonic Mean" - } - ] - }, - { - "icon": "question", - "fieldName": "details.otherScoringInfo", - "description": "", - "title": "If scoring method was other, please provide your approach", - "type": "textbox" - } - ] - } - ] - } - ] - }, - "disabled": false, - "hidden": false - }, - { - "id": 21, - "name": "Data Exploration", - "productKey": "data_exploration", - "icon": "product-analytics-data-exploration", - "brief": "TBD", - "details": "Review your data, extrapolate patterns, and suggest solutions", - "aliases": [ - "data-exploration", - "data_exploration" - ], - "template": { - "questions": [ - { - "id": "appDefinition", - "title": "Data Exploration", - "required": true, - "description": "Please answer a few basic questions about your project. You can also provide the needed information in a supporting document--add a link in the notes section or upload it below.", - "subSections": [ - { - "id": "projectName", - "required": true, - "validationError": "Please provide a name to your project", - "fieldName": "name", - "description": "", - "title": "Project Name", - "type": "project-name", - "hidden": true - }, - { - "id": "questions", - "required": true, - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "id": "projectInfo", - "fieldName": "description", - "validations": "isRequired,minLength:160", - "validationErrors": { - "isRequired": "Please provide an overview of your project", - "minLength": "Please enter at least 160 characters" - }, - "description": "Brief provide an overview of your project", - "title": "Objectives", - "type": "textbox", - "hidden": true - }, - { - "icon": "question", - "title": "Describe what you would like to learn or accomplish with this data?", - "description": "", - "type": "textbox", - "fieldName": "details.data.learnings", - "hidden": true - }, - { - "icon": "question", - "title": "Describe your data set", - "description": "", - "type": "textbox", - "fieldName": "details.vision.dataDesc", - "required": true, - "validationError": "Please tell us about your data set", - "hidden": true - }, - { - "icon": "question", - "title": "Approximately how many records are in your data set?", - "description": "", - "type": "textbox", - "fieldName": "details.data.records", - "required": true, - "validationError": "Please tell us roughly the number of records in your set", - "hidden": true - }, - { - "icon": "question", - "title": "Approximately how large is your data set in MB, GB, TB?", - "description": "", - "type": "textbox", - "fieldName": "details.vision.datasetSize", - "required": true, - "validationError": "Please tell us the size of your data set", - "hidden": true - }, - { - "icon": "question", - "title": "Does your data need to be obfuscated?", - "description": "(if applicable)", - "fieldName": "details.data.obfuscation", - "type": "radio-group", - "options": [ - { - "value": "true", - "label": "Yes" - }, - { - "value": "false", - "label": "No" - } - ], - "required": true, - "validationError": "Please select one", - "hidden": true - }, - { - "icon": "question", - "fieldName": "details.dataURL", - "description": "Or provide us a sample of your data by uploading an example below", - "title": "Please provide a URL to your data ", - "type": "textbox" - } - ] - }, - { - "id": "files", - "description": "", - "type": "files", - "fieldName": "attachments" - }, - { - "id": "notes", - "fieldName": "details.appDefinition.notes", - "title": "Additional Notes", - "description": "Please detail any other additional information", - "type": "notes", - "hidden": true - } - ] - } - ] - }, - "disabled": false, - "hidden": false - }, - { - "id": 22, - "name": "Real World Testing", - "productKey": "real_world_testing", - "icon": "product-qa-crowd-testing", - "brief": "TBD", - "details": "Exploratory Testing, Cross browser-device Testing", - "aliases": [ - "real-world-testing", - "real_world_testing" - ], - "template": { - "questions": [ - { - "id": "appDefinition", - "title": "Real World Testing", - "required": true, - "description": "Please answer a few basic questions about your project. You can also provide the needed information in a supporting document--add a link in the notes section or upload it below.", - "subSections": [ - { - "id": "projectName", - "required": true, - "validationError": "Please provide a name to your project", - "fieldName": "name", - "description": "", - "title": "Project Name", - "type": "project-name", - "hidden": true - }, - { - "id": "questions", - "required": true, - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "required": true, - "validationError": "Please let us know what kind of testing you would like to execute", - "title": "What kind of crowd testing are you interested in?", - "description": "Structured testing focuses on the execution of test cases, whereas unstructured testing lets the testers create their own path through an application as an end user might.", - "fieldName": "details.appDefinition.testType", - "type": "tiled-radio-group", - "options": [ - { - "value": "unstructured", - "title": "Unstructured", - "icon": "icon-test-unstructured", - "iconOptions": { - "filePath": "icon-test-unstructured", - "fill": "#00000" - }, - "desc": "", - "price": 6000 - }, - { - "value": "structured", - "title": "Structured", - "icon": "icon-test-structured", - "iconOptions": { - "filePath": "icon-test-structured", - "fill": "#00000" - }, - "desc": "", - "price": 4000 - }, - { - "value": "dontKnow", - "title": "Do not know", - "icon": "icon-dont-know", - "iconOptions": { - "filePath": "icon-dont-know", - "fill": "#00000" - }, - "desc": "" - } - ], - "hidden": true - }, - { - "icon": "question", - "required": true, - "validationError": "Please let us know if you have test cases.", - "title": "Do you have test cases written?", - "description": "Do you have test cases you would like executed? These are essential when running structured testing and optional for unstructured testing. If you are planning a structured test cycle and do not have test cases do not worry, we can help!", - "fieldName": "details.appDefinition.expectedHours", - "type": "radio-group", - "options": [ - { - "value": "true", - "label": "Yes I have test cases." - }, - { - "value": "false", - "label": "No I do not have test cases." - } - ], - "hidden": true - }, - { - "id": "projectInfo", - "fieldName": "description", - "validations": "isRequired,minLength:160", - "validationErrors": { - "isRequired": "Please provide a description", - "minLength": "Please enter at least 160 characters" - }, - "description": "Brief Description", - "title": "Description", - "type": "textbox", - "hidden": true - }, - { - "icon": "question", - "title": "Please tell us about your users.", - "description": "Please share information about your end users. Where are they from? What is their goal? This information can help you find the best testers for your application.", - "type": "textbox", - "fieldName": "details.appDefinition.userInfo", - "hidden": true - }, - { - "icon": "question", - "title": "Which is your primary device target?", - "description": "Select only the device that you need to develop for. In most cases limiting the scope of your project would result in better final result. Topcoder recommends to always start with the mobile phone view and expand to other devices as your app matures.", - "fieldName": "details.appDefinition.primaryTarget", - "type": "tiled-radio-group", - "options": [ - { - "value": "phone", - "title": "Phone", - "icon": "icon-tech-outline-mobile", - "iconOptions": { - "fill": "#00000" - }, - "desc": "iOS, Android, Hybrid" - }, - { - "value": "tablet", - "title": "Tablet", - "icon": "icon-tech-outline-tablet", - "iconOptions": { - "fill": "#00000" - }, - "desc": "iOS, Android, Hybrid" - }, - { - "value": "desktop", - "title": "Desktop", - "icon": "icon-tech-outline-desktop", - "iconOptions": { - "fill": "#00000" - }, - "desc": "all OS" - }, - { - "value": "wearable", - "title": "Wearable", - "icon": "icon-tech-outline-watch-apple", - "iconOptions": { - "fill": "#00000" - }, - "desc": "Watch OS, Android Wear" - } - ], - "hidden": true - } - ] - }, - { - "id": "notes", - "fieldName": "details.appDefinition.notes", - "title": "Notes", - "description": "Please enter any additional information like requirements and/or test cases. After creating your project you will be able to upload files.", - "type": "notes", - "hidden": true - } - ] - }, - { - "id": "testingNeeds", - "required": false, - "title": "Testing Needs", - "description": "Please answer these additional questions to better help us understand your needs.", - "subSections": [ - { - "id": "scope", - "required": false, - "title": "Scope", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "id": "testingNeeds.description", - "fieldName": "details.testingNeeds.description", - "description": "", - "title": "Please describe your website and/or application.", - "type": "textbox" - }, - { - "icon": "question", - "id": "testingNeeds.inScope", - "fieldName": "details.testingNeeds.inScope", - "description": "", - "title": "Please describe which features or components are in-scope in this testing effort.", - "type": "textbox" - }, - { - "icon": "question", - "id": "testingNeeds.outOfScope", - "fieldName": "details.testingNeeds.outOfScope", - "description": "", - "title": "Are any features or components out of scope? If yes, please describe.", - "type": "textbox" - }, - { - "icon": "question", - "id": "testingNeeds.duration", - "fieldName": "details.testingNeeds.duration", - "description": "", - "title": "Do you have a specific timeline for testing? If so, please provide approximate start and end dates.", - "type": "textbox" - } - ] - }, - { - "id": "testerDetails", - "required": false, - "title": "Tester Details", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "id": "testerDetails.demographics", - "fieldName": "details.testerDetails.demographics", - "description": "", - "title": "Do you have preferred demographics you would like to target?", - "type": "textbox" - }, - { - "icon": "question", - "id": "testerDetails.geographies", - "fieldName": "details.testerDetails.geographies", - "description": "", - "title": "Would you like to target any specific geographies?", - "type": "textbox" - }, - { - "icon": "question", - "id": "testerDetails.skills", - "fieldName": "details.testerDetails.skills", - "description": "", - "title": "Are any specific skills required to test your application? If so, please list them.", - "type": "textbox" - } - ] - }, - { - "id": "testEnvironment", - "required": false, - "title": "Testing Enviroment", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "id": "testEnvironment.environmentDetails", - "fieldName": "details.testEnvironment.environmentDetails", - "description": "", - "title": "Do you have a version of the application available for testers to access? If so, please provide details. Details can include a test URL, access information, etc.", - "type": "textbox" - }, - { - "icon": "question", - "id": "testEnvironment.assets", - "fieldName": "details.testEnvironment.assets", - "description": "", - "title": "Are any test assets available? For exmaple: test plan, test scenario, test scripts, test data.", - "type": "textbox" - }, - { - "icon": "question", - "id": "testEnvironment.other", - "fieldName": "details.testEnvironment.otherInformation", - "description": "", - "title": "Are there any other specific details related to the environment you can share?", - "type": "textbox" - } - ] - }, - { - "id": "targetApplication", - "required": false, - "title": "Target Application", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "id": "targetApplication.description", - "fieldName": "details.targetApplication.description", - "description": "", - "title": "Please describe your application.", - "type": "textbox" - }, - { - "icon": "question", - "id": "targetApplication.platform", - "fieldName": "details.targetApplication.platform", - "description": "", - "title": "Please list all platforms the application should be tested on.", - "type": "textbox" - }, - { - "icon": "question", - "id": "targetApplication.training", - "fieldName": "details.targetApplication.training", - "description": "", - "title": "Does the application require training to utilize it properly? If so, are you able to provide these inputs?", - "type": "textbox" - } - ] - }, - { - "id": "cyclePreferences", - "required": false, - "title": "Test Cycle Preferences", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "id": "preferences.suggestions", - "fieldName": "details.cyclePreferences.usabilitySuggestions", - "description": "", - "title": "Would you like usability suggestions included in the issue report?", - "type": "textbox" - }, - { - "icon": "question", - "id": "preferences.omissions", - "fieldName": "details.cyclePreferences.omissions", - "description": "", - "title": "Are there any types of defects you would like ommitted from issue reports?", - "type": "textbox" - } - ] - }, - { - "id": "files", - "description": "", - "type": "files", - "fieldName": "attachments" - } - ] - } - ] - }, - "disabled": false, - "hidden": false - }, - { - "id": 23, - "name": "Mobility Testing", - "productKey": "mobility_testing", - "icon": "product-qa-mobility-testing", - "brief": "TBD", - "details": "App Certification, Lab on Hire, User Sentiment Analysis", - "aliases": [ - "mobility-testing", - "mobility_testing" - ], - "template": { - "questions": [ - { - "id": "appDefinition", - "title": "Mobility Testing", - "required": true, - "description": "Please answer a few basic questions about your project. You can also provide the needed information in a supporting document--add a link in the notes section or upload it below.", - "subSections": [ - { - "id": "projectName", - "required": true, - "validationError": "Please provide a name to your project", - "fieldName": "name", - "description": "", - "title": "Project Name", - "type": "project-name", - "hidden": true - }, - { - "id": "questions", - "required": true, - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "required": true, - "validationError": "Please let us know what kind of application you would like to test.", - "title": "What kind of application would you like to test?", - "description": "Please let us know the type of application to test. If you are unsure, please select \"Other\"", - "fieldName": "details.appDefinition.mobilityTestingType", - "type": "select-dropdown", - "options": [ - { - "value": "", - "title": "Select" - }, - { - "value": "finserv", - "title": "Banking or Financial Services" - }, - { - "value": "ecommerce", - "title": "eCommerce" - }, - { - "value": "entertainment", - "title": "Media / Entertainment" - }, - { - "value": "gaming", - "title": "Gaming" - }, - { - "value": "health", - "title": "Health and Fitness" - }, - { - "value": "manufacturing", - "title": "Manufacturing" - }, - { - "value": "retail", - "title": "Retail" - }, - { - "value": "travel", - "title": "Travel / Transportation" - }, - { - "value": "other", - "title": "Other" - } - ], - "hidden": true - }, - { - "icon": "question", - "required": true, - "validationError": "Please let us know if you have test cases.", - "title": "Do you have test cases written?", - "description": "Please let us know if you have any test cases written. If not, they can be created as part of your test cycle.", - "fieldName": "details.appDefinition.testCases", - "type": "radio-group", - "options": [ - { - "value": "true", - "label": "Yes I have test cases." - }, - { - "value": "false", - "label": "No I do not have test cases." - } - ], - "hidden": true - }, - { - "id": "projectInfo", - "fieldName": "description", - "validations": "isRequired,minLength:160", - "validationErrors": { - "isRequired": "Please provide a description", - "minLength": "Please enter at least 160 characters" - }, - "description": "Brief Description", - "title": "Description", - "type": "textbox", - "hidden": true - }, - { - "icon": "question", - "title": "Please tell us about your users.", - "description": "Please share information about your end users. Where are they from? What is their goal? This information can help us find the best testers for your application.", - "type": "textbox", - "fieldName": "details.appDefinition.userInfo", - "hidden": true - }, - { - "icon": "question", - "title": "Which is your primary device target?", - "description": "Select only the device that you need to develop for. In most cases limiting the scope of your project would result in better final result. Topcoder recommends to always start with the mobile phone view and expand to other devices as your app matures.", - "fieldName": "details.appDefinition.primaryTarget", - "type": "tiled-radio-group", - "options": [ - { - "value": "phone", - "title": "Phone", - "icon": "icon-tech-outline-mobile", - "iconOptions": { - "fill": "#00000" - }, - "desc": "iOS, Android, Hybrid" - }, - { - "value": "tablet", - "title": "Tablet", - "icon": "icon-tech-outline-tablet", - "iconOptions": { - "fill": "#00000" - }, - "desc": "iOS, Android, Hybrid" - }, - { - "value": "wearable", - "title": "Wearable", - "icon": "icon-tech-outline-watch-apple", - "iconOptions": { - "fill": "#00000" - }, - "desc": "Watch OS, Android Wear" - } - ], - "hidden": true - } - ] - }, - { - "id": "notes", - "fieldName": "details.appDefinition.notes", - "title": "Notes", - "description": "Please enter any additional information like requirements and/or test cases. After creating your project you will be able to upload files.", - "type": "notes", - "hidden": true - } - ] - }, - { - "id": "testingNeeds", - "required": false, - "title": "Testing Needs", - "description": "Please answer these additional questions to better help us understand your needs.", - "subSections": [ - { - "id": "scope", - "required": false, - "title": "Scope", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "id": "testingNeeds.description", - "fieldName": "details.testingNeeds.description", - "description": "", - "title": "Please describe your website and/or application.", - "type": "textbox" - }, - { - "icon": "question", - "id": "testingNeeds.inScope", - "fieldName": "details.testingNeeds.inScope", - "description": "", - "title": "Please describe which features or components are in-scope in this testing effort.", - "type": "textbox" - }, - { - "icon": "question", - "id": "testingNeeds.outOfScope", - "fieldName": "details.testingNeeds.outOfScope", - "description": "", - "title": "Are any features or components out of scope? If yes, please describe.", - "type": "textbox" - }, - { - "icon": "question", - "id": "testingNeeds.duration", - "fieldName": "details.testingNeeds.duration", - "description": "", - "title": "Do you have a specific timeline for testing? If so, please provide approximate start and end dates.", - "type": "textbox" - } - ] - }, - { - "id": "testerDetails", - "required": false, - "title": "Tester Details", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "id": "testerDetails.demographics", - "fieldName": "details.testerDetails.demographics", - "description": "", - "title": "Do you have preferred demographics you would like to target?", - "type": "textbox" - }, - { - "icon": "question", - "id": "testerDetails.geographies", - "fieldName": "details.testerDetails.geographies", - "description": "", - "title": "Would you like to target any specific geographies?", - "type": "textbox" - }, - { - "icon": "question", - "id": "testerDetails.skills", - "fieldName": "details.testerDetails.skills", - "description": "", - "title": "Are any specific skills required to test your application? If so, please list them.", - "type": "textbox" - } - ] - }, - { - "id": "testEnvironment", - "required": false, - "title": "Testing Enviroment", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "id": "testEnvironment.environmentDetails", - "fieldName": "details.testEnvironment.environmentDetails", - "description": "", - "title": "Do you have a version of the application available for testers to access? If so, please provide details. Details can include a test URL, access information, etc.", - "type": "textbox" - }, - { - "icon": "question", - "id": "testEnvironment.assets", - "fieldName": "details.testEnvironment.assets", - "description": "", - "title": "Are any test assets available? For exmaple: test plan, test scenario, test scripts, test data.", - "type": "textbox" - }, - { - "icon": "question", - "id": "testEnvironment.other", - "fieldName": "details.testEnvironment.otherInformation", - "description": "", - "title": "Are there any other specific details related to the environment you can share?", - "type": "textbox" - } - ] - }, - { - "id": "targetApplication", - "required": false, - "title": "Target Application", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "id": "targetApplication.description", - "fieldName": "details.targetApplication.description", - "description": "Please describe your application.", - "title": "", - "type": "textbox" - }, - { - "icon": "question", - "id": "targetApplication.platform", - "fieldName": "details.targetApplication.platform", - "description": "Please list all platforms the application should be tested on.", - "title": "", - "type": "textbox" - }, - { - "icon": "question", - "id": "targetApplication.training", - "fieldName": "details.targetApplication.training", - "description": "", - "title": "Does the application require training to utilize it properly? If so, are you able to provide these inputs?", - "type": "textbox" - } - ] - }, - { - "id": "cyclePreferences", - "required": false, - "title": "Test Cycle Preferences", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "id": "preferences.suggestions", - "fieldName": "details.cyclePreferences.usabilitySuggestions", - "description": "Would you like usability suggestions included in the issue report?", - "title": "", - "type": "textbox" - }, - { - "icon": "question", - "id": "preferences.omissions", - "fieldName": "details.cyclePreferences.omissions", - "description": "Are there any types of defects you would like ommitted from issue reports?", - "title": "", - "type": "textbox" - } - ] - }, - { - "id": "files", - "description": "", - "type": "files", - "fieldName": "attachments" - } - ] - } - ] - }, - "disabled": false, - "hidden": false - }, - { - "id": 24, - "name": "Performance Testing", - "productKey": "performance_testing", - "icon": "product-qa-website-performance", - "brief": "TBD", - "details": "Webpage rendering effiency, Load, Stress and Endurance Test", - "aliases": [ - "performance-testing", - "performance_testing" - ], - "template": { - "questions": [ - { - "id": "appDefinition", - "title": "Performance Testing", - "required": true, - "description": "Please answer a few basic questions about your project. You can also provide the needed information in a supporting document—add a link in the notes section or upload it below.", - "subSections": [ - { - "id": "projectName", - "required": true, - "validationError": "Please provide a name to your project", - "fieldName": "name", - "description": "", - "title": "Project Name", - "type": "project-name", - "hidden": true - }, - { - "id": "questions", - "required": true, - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "id": "projectInfo", - "fieldName": "description", - "validations": "isRequired,minLength:160", - "validationErrors": { - "isRequired": "Please provide a description", - "minLength": "Please enter at least 160 characters" - }, - "description": "In 160 or more characters tell us what is the app, main functions, problem area, etc..", - "title": "Please provide brief description of the system and/or application you would like to execute Performance Testing on.", - "type": "textbox", - "hidden": true - }, - { - "icon": "question", - "title": "What is the desired load on the system in terms of concurrent users for this test?", - "description": "(Unit package includes 500 virtual users, additional load would require Top-Ups)", - "type": "slide-radiogroup", - "options": [ - { - "value": "upto-500", - "title": "Up to 500" - }, - { - "value": "upto-1000", - "title": "Up to 1000" - }, - { - "value": "upto-5000", - "title": "Up to 5000" - }, - { - "value": "above-5000", - "title": "More than 5000" - } - ], - "fieldName": "details.loadDetails.concurrentUsersCount", - "required": true, - "validationError": "Please provide expected load", - "hidden": true - }, - { - "icon": "question", - "title": "Approximately how many business processes/transactions will be included in your Performance Test?", - "description": "(Unit package covers 10 transactions, additional transactions would require Top-Ups)", - "fieldName": "details.loadDetails.businessProcessesCount", - "type": "slide-radiogroup", - "options": [ - { - "value": "upto-5", - "title": "Up to 5" - }, - { - "value": "upto-10", - "title": "Up to 10" - }, - { - "value": "upto-25", - "title": "Up to 25" - }, - { - "value": "above-25", - "title": "More than 25" - } - ], - "required": true, - "validationError": "Please provide expected number of business processes", - "hidden": true - }, - { - "icon": "question", - "title": "How many hours do you expect the Performance Test to be executed for?", - "description": "(Unit package covers 10 hours of execution, additional execution time would require Top-Ups)", - "fieldName": "details.loadDetails.expectedExecutionHours", - "type": "slide-radiogroup", - "options": [ - { - "value": "upto-5", - "title": "Up to 5" - }, - { - "value": "upto-10", - "title": "Up to 10" - }, - { - "value": "upto-25", - "title": "Up to 25" - }, - { - "value": "above-25", - "title": "More than 25" - } - ], - "required": true, - "validationError": "Please provide expected hours of execution", - "hidden": true - }, - { - "icon": "question", - "title": "Please select any additional add-ons.", - "description": "", - "type": "checkbox-group", - "options": [ - { - "value": "scenario", - "label": "Scenario Booster add 3 more" - }, - { - "value": "250vusers", - "label": "Add 250 vUsers" - }, - { - "value": "2500vusers", - "label": "Add 2500 vUsers" - }, - { - "value": "geo", - "label": "Add additional Geography" - }, - { - "value": "poc", - "label": "Precurser to purchase - 1 Tool, 2 scripts,1 hour execution" - }, - { - "value": "strategy", - "label": "Utilize consultant to tailor strategy" - }, - { - "value": "execution", - "label": "Execution Booster extra 2 hours" - }, - { - "value": "mytool", - "label": "Use my own testing tool" - }, - { - "value": "myscripts", - "label": "Modify/Use own scripts" - }, - { - "value": "late", - "label": "Late Entry - 1 week lead time" - } - ], - "required": false, - "fieldName": "details.testingNeeds.addons" - } - ] - }, - { - "id": "notes", - "fieldName": "details.appDefinition.notes", - "title": "Notes", - "description": "Please enter any additional information like requirements and/or test cases. After creating your project you will be able to upload files.", - "type": "notes", - "hidden": true - }, - { - "id": "files", - "description": "", - "type": "files", - "fieldName": "attachments" - } - ] - }, - { - "id": "pocs", - "required": false, - "title": "Points of Contacts", - "description": "Please provide information on specific points of contacts.", - "subSections": [ - { - "id": "spoc", - "required": false, - "title": "SPOCs (Single Point of Contact)", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "fieldName": "details.spoc.business.name", - "description": "", - "title": "Name of the Business SPOC", - "type": "textbox", - "validationError": "Please provide name of business SPOC" - }, - { - "icon": "question", - "fieldName": "details.spoc.business.email", - "description": "", - "title": "Email of the Business SPOC", - "type": "textbox", - "validations": "isEmail", - "validationErrors": { - "isEmail": "Please enter a valid email" - } - }, - { - "icon": "question", - "fieldName": "details.spoc.testing.name", - "description": "", - "title": "Name of the Testing SPOC", - "type": "textbox", - "validationError": "Please provide name of testing SPOC" - }, - { - "icon": "question", - "fieldName": "details.spoc.testing.email", - "description": "", - "title": "Email of the Testing SPOC", - "type": "textbox", - "validations": "isEmail", - "validationErrors": { - "isEmail": "Please enter a valid email" - } - }, - { - "icon": "question", - "fieldName": "details.spoc.dev.name", - "description": "", - "title": "Name of the development SPOC", - "type": "textbox", - "validationError": "Please provide name of development SPOC" - }, - { - "icon": "question", - "fieldName": "details.spoc.dev.email", - "description": "", - "title": "Email of the development SPOC", - "type": "textbox", - "validations": "isEmail", - "validationErrors": { - "isEmail": "Please enter a valid email" - } - } - ] - } - ] - }, - { - "id": "systemOverview", - "title": "System Overview", - "required": false, - "description": "Please provide the overview of the system to be tested", - "subSections": [ - { - "id": "questions", - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "id": "architecture", - "fieldName": "details.targetApplication.architecture", - "description": "", - "title": "Briefly describe the architecture of the system. Please attach any architecture diagrams, design documents, and non-functional requirements in the Files section of this page.", - "type": "textbox" - }, - { - "id": "developmentPlatform", - "icon": "question", - "title": "What is the application development platform?", - "description": "", - "type": "checkbox-group", - "options": [ - { - "value": "dotnet", - "label": ".NET" - }, - { - "value": "j2ee", - "label": "J2EE" - }, - { - "value": "ria", - "label": "Rich Internet Applications" - }, - { - "value": "oracle", - "label": "Oracle Technology" - }, - { - "value": "sap", - "label": "SAP" - }, - { - "value": "mainframe", - "label": "Mainframe" - }, - { - "value": "adobe-flex", - "label": "Adobe Flex" - }, - { - "value": "others", - "label": "Others" - } - ], - "fieldName": "details.targetApplication.developmentPlatform" - }, - { - "id": "frontEnd", - "icon": "question", - "title": "What is the front end of the system?", - "description": "", - "fieldName": "details.targetApplication.frontEnd", - "type": "checkbox-group", - "options": [ - { - "value": "web-browser", - "label": "Web Browser - Thin Client" - }, - { - "value": "desktop-app", - "label": "Desktop App (Executable) - Thick Client" - }, - { - "value": "citrix", - "label": "Citrix based Desktop App (Executable)" - }, - { - "value": "java", - "label": "Java based (with Swing/Applets)" - }, - { - "value": "oracle-forms", - "label": "Web based Oracle Forms" - }, - { - "value": "other", - "label": "Any other" - } - ] - }, - { - "icon": "question", - "title": "If applicable what web servers are used?", - "description": "(For eg. Webserver can be Apache, IIS etc.)", - "fieldName": "details.targetApplication.webBrowsers", - "type": "textbox" - }, - { - "icon": "question", - "title": "If applicable what application servers are used?", - "description": "(For eg. Application server can be JBoss or Weblogic or Websphere etc.)", - "fieldName": "details.targetApplication.appServers", - "type": "textbox" - }, - { - "icon": "question", - "title": "What data store technology is used?", - "description": "(For eg. Back end can be Oracle, MS SQL or Sybase etc)", - "fieldName": "details.targetApplication.backEnd", - "type": "textbox" - }, - { - "icon": "question", - "title": "If the back end is a legacy system then specify the below", - "description": "Mainframe(S390), AS400, Others", - "fieldName": "details.targetApplication.legacyBackEnd", - "type": "textbox" - }, - { - "icon": "question", - "title": "What middleware is used, if any?", - "description": "(For eg. Middleware can be MQSeries or TIBCO or Webmethod etc)", - "fieldName": "details.targetApplication.middleware", - "type": "textbox" - }, - { - "icon": "question", - "title": "If your system uses web services, what architecture do they use? What functions do your web services perform?", - "description": "(For eg. SOAP/REST Webservices deployed in App server for new customer creation and maintenance)", - "fieldName": "details.targetApplication.webservices", - "type": "textbox" - }, - { - "id": "targetApplication.authMode", - "icon": "question", - "title": "What is the authentication mode used by the application?", - "description": "", - "fieldName": "details.targetApplication.authMode", - "type": "checkbox-group", - "options": [ - { - "value": "ntlm", - "label": "NTLM" - }, - { - "value": "sso", - "label": "Siteminder/SSO" - }, - { - "value": "ldap", - "label": "LDAP" - }, - { - "value": "others", - "label": "Others" - } - ] - }, - { - "id": "targetApplication.interfaces", - "icon": "question", - "title": "What interfaces does the application have?", - "description": "", - "fieldName": "details.targetApplication.interfaces", - "type": "checkbox-group", - "options": [ - { - "value": "vendor-system", - "label": "Vendor System" - }, - { - "value": "document-mgmt-system", - "label": "Document Mgmt System" - }, - { - "value": "payments", - "label": "Payments" - }, - { - "value": "other", - "label": "Others" - } - ] - } - ] - } - ] - }, - { - "id": "perfTestEnv", - "title": "Performance Test Environment", - "description": "Please provide information on test environments.", - "subSections": [ - { - "id": "perfTestEnvSec", - "title": "Questions", - "hideTitle": true, - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "fieldName": "details.perfTestEnv.missingCompSimulators", - "description": "", - "title": "Are the simulators/stubs available in test environment for the components available and if so do they support concurrent request simulation?", - "type": "textbox" - }, - { - "icon": "question", - "fieldName": "details.perfTestEnv.thirdPartyStubs", - "description": "", - "title": "Will online interfaces/stubs for the payment systems, vendor systems etc. be available for performance testing?", - "type": "textbox" - }, - { - "icon": "question", - "fieldName": "details.perfTestEnv.testDataAvailability", - "description": "", - "title": "Please provide details on test data availability - A) Resident or master test data in DB e.g. Customers, products, locations etc. B) User specific data e.g. User Ids, email, credit card, order number etc. Who will support creating/importing/masking test data?", - "type": "textbox" - }, - { - "icon": "question", - "fieldName": "details.perfTestEnv.soa", - "description": "", - "title": "Please let us know if SOA based services need to be performance tested in a stand alone manner. If yes, please provide relevant details", - "type": "textbox" - }, - { - "icon": "question", - "fieldName": "details.perfTestEnv.hostedOn", - "description": "Are the applications hosted on physical servers or virtual/cloud infrastructure", - "title": "Where are applications hosted?", - "type": "radio-group", - "options": [ - { - "value": "physical-servers", - "label": "Physical servers" - }, - { - "value": "cloud", - "label": "Virtual/Cloud infrastructure" - } - ] - }, - { - "icon": "question", - "fieldName": "details.perfTestEnv.tools", - "description": "", - "title": "Are performance testing tools available within your organization? (e.g. HP Loadrunner, Performance Center, Jmeter) If yes, has a PoC been conducted to validate the compatibility of these tools with the application to be tested? Will these be tools be made available in with required license for this performance test?", - "type": "textbox" - }, - { - "icon": "question", - "fieldName": "details.perfTestEnv.diagnosticTools", - "description": "", - "title": "Are performance diagnostic tools available within your organization? (e.g. Dynatrace, Yourkit, Profiler) If yes, has a PoC been conducted to validate compatibility ofthese tools with the applicationto be tested? Will these be tools be made available in with required license for this performance test?", - "type": "textbox" - }, - { - "icon": "question", - "fieldName": "details.perfTestEnv.monitoring", - "description": "", - "title": "How is application performance being monitored or planned to be monitored in production. Are same tools available in testing environment?", - "type": "textbox" - }, - { - "icon": "question", - "fieldName": "details.perfTestEnv.saasAllowPortsOpening", - "description": "", - "title": "In case of cloud based or SaaS performance testing tools, will your organization open necessary ports in any firewalls required to inject load on the application in a test environment?", - "type": "textbox" - } - ] - } - ] - }, - { - "id": "previousDetails", - "title": "Previous Performance Test Details", - "description": "Please provide information on specific points of contacts.", - "subSections": [ - { - "id": "prevDetails", - "title": "Questions", - "hideTitle": true, - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "fieldName": "details.prevDetails.time", - "description": "", - "title": "When was the last time performance test carried out? On which version of application code base?", - "type": "textbox" - }, - { - "icon": "question", - "fieldName": "details.prevDetails.reports", - "description": "", - "title": "Please share the previous performance test reports if available by pasting here, or attaching in the Files section.", - "type": "textbox" - }, - { - "icon": "question", - "fieldName": "details.prevDetails.changes", - "description": "", - "title": "What are the changes in application, architecture, infrastructure since the last test?", - "type": "textbox" - }, - { - "icon": "question", - "fieldName": "details.prevDetails.typesOfTests", - "description": "", - "title": "What different types of tests were carried out and which measurements were captured?", - "type": "textbox" - }, - { - "icon": "question", - "fieldName": "details.prevDetails.monitoringTools", - "description": "", - "title": "What were the performance testing and performance monitoring tools used?", - "type": "textbox" - }, - { - "icon": "question", - "fieldName": "details.prevDetails.testScripts", - "description": "", - "title": "Are the performance test scenarios and automated test scripts previously used still available?", - "type": "textbox" - }, - { - "icon": "question", - "fieldName": "details.prevDetails.issues", - "description": "", - "title": "Are there any open performance issues from previous tests?", - "type": "textbox" - }, - { - "icon": "question", - "fieldName": "details.prevDetails.fixedIssues", - "description": "", - "title": "Please detail any issues previously identified and resolved from previous performance tests.", - "type": "textbox" - } - ] - } - ] - } - ] - }, - "disabled": false, - "hidden": false - }, - { - "id": 25, - "name": "Health Security Check", - "productKey": "health_check", - "icon": "product-qa-health-check", - "brief": "TBD", - "details": "Measure your code base against our security baseline using the crowd and tooling ", - "aliases": [ - "health-check", - "health_check" - ], - "template": { - "questions": [ - { - "id": "appDefinition", - "title": "Health Security Check", - "required": true, - "description": "Topcoder will scan your application using our properiatary formula for security standards. To rate your application we combine state of the art static code analysis, security scanning, export code review and other techniques to produce a Security Health Check scorecard.", - "subSections": [ - { - "id": "projectName", - "required": true, - "validationError": "Please provide a name to your project", - "fieldName": "name", - "description": "Topcoder will scan your application using our properiatary formula for security standards. To rate your application we combine state of the art static code analysis, security scanning, export code review and other techniques to produce a Security Health Check scorecard.", - "title": "Project Name", - "type": "project-name", - "hidden": true - }, - { - "id": "questions", - "required": true, - "hideTitle": true, - "title": "Questions", - "description": "Topcoder will scan your application using our properiatary formula for security standards. To rate your application we combine state of the art static code analysis, security scanning, export code review and other techniques to produce a Security Health Check scorecard.", - "type": "questions", - "questions": [ - { - "id": "projectInfo", - "fieldName": "description", - "validations": "isRequired,minLength:160", - "validationErrors": { - "isRequired": "Please describe your application.", - "minLength": "Please enter at least 160 characters" - }, - "description": "Please describe your application.", - "title": "Description", - "type": "textbox", - "hidden": true - }, - { - "icon": "question", - "title": "What is the maximum level of acceptable risk for this application?", - "description": "Based on the features and data, how secure do you feel this application should be?", - "fieldName": "details.security.howSecure", - "type": "slide-radiogroup", - "options": [ - { - "value": "low-risk", - "title": "Low Risk" - }, - { - "value": "medium-risk", - "title": "Medium Risk" - }, - { - "value": "high-risk", - "title": "High Risk" - }, - { - "value": "custom", - "title": "Custom" - } - ], - "required": true, - "validationError": "Please select security rating", - "hidden": true - }, - { - "icon": "question", - "title": "Do you wish to baseline your application against the Topcoder Security Standard", - "description": "", - "fieldName": "details.security.baselineBool", - "type": "radio-group", - "options": [ - { - "value": "topcoder", - "label": "Topcoder" - }, - { - "value": "custom", - "label": "Custom" - } - ], - "required": true, - "validationError": "Please select one", - "hidden": true - }, - { - "icon": "question", - "title": "If you chose other, please detail your baseline testing standard", - "description": "(if applicable)", - "type": "textbox", - "fieldName": "details.security.baselineOther", - "required": false, - "hidden": true - } - ] - }, - { - "id": "notes", - "fieldName": "details.appDefinition.notes", - "title": "Additional Notes", - "description": "Please detail any other additional information. After completing this form, you'll be able to add additional information about your code base", - "type": "notes", - "hidden": true - } - ] - }, - { - "id": "optionals", - "required": false, - "title": "Code base", - "description": "Please provide us access to your codebase below or contact Topcoder through your dashboard.", - "subSections": [ - { - "id": "additional", - "required": false, - "title": "Codebase questions", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "fieldName": "details.security.codeURL", - "description": "(if you prefer you can also upload your code below)", - "title": "Please provide a URL to your code base repository", - "type": "textbox" - }, - { - "icon": "question", - "title": "Please provide Topcoder with any additional information about accessing your code base", - "description": "", - "fieldName": "details.security.additionalInfo", - "type": "textbox" - } - ] - }, - { - "id": "files", - "description": "", - "type": "files", - "fieldName": "attachments" - } - ] - } - ] - }, - "disabled": false, - "hidden": false - }, - { - "id": 26, - "name": "Performance Tuning", - "productKey": "performance_tuning", - "icon": "product-qa-website-performance", - "brief": "TBD", - "details": "Analyze your JVM based applications and generate recommendations", - "aliases": [ - "performance-tuning", - "performance_tuning" - ], - "template": { - "questions": [ - { - "id": "appDefinition", - "title": "Performance Tuning", - "required": true, - "description": "Please answer a few basic questions about your project. You can also provide the needed information in a supporting document--add a link in the notes section or upload it below.", - "subSections": [ - { - "id": "projectName", - "required": true, - "validationError": "Please provide a name to your project", - "fieldName": "name", - "description": "", - "title": "Project Name", - "type": "project-name", - "hidden": true - }, - { - "id": "questions", - "required": true, - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "id": "projectInfo", - "fieldName": "description", - "validations": "isRequired,minLength:160", - "validationErrors": { - "isRequired": "Please describe your application", - "minLength": "Please enter at least 160 characters" - }, - "description": "Brief Description of your application", - "title": "Description", - "type": "textbox", - "hidden": true - } - ] - }, - { - "id": "notes", - "fieldName": "details.appDefinition.notes", - "title": "Additional Notes", - "description": "Please detail any other additional information, you will be able to upload files on the next screen", - "type": "notes", - "hidden": true - }, - { - "id": "files", - "description": "", - "type": "files", - "fieldName": "attachments" - } - ] - } - ] - }, - "disabled": false, - "hidden": false - }, - { - "id": 27, - "name": "Digital Accessibility", - "productKey": "digital_accessability", - "icon": "product-qa-digital-accessability", - "brief": "TBD", - "details": "Make sure you app or website conforms to all rules and regulations", - "aliases": [ - "digital-accessability", - "digital_accessability" - ], - "template": { - "questions": [] - }, - "disabled": false, - "hidden": false - }, - { - "id": 28, - "name": "Open Source Automation", - "productKey": "open_source_automation", - "icon": "product-qa-os-automation", - "brief": "TBD", - "details": "Exploratory testing, cross browser testing", - "aliases": [ - "open-source-automation", - "open_source_automation" - ], - "template": { - "questions": [] - }, - "disabled": false, - "hidden": false - }, - { - "id": 29, - "name": "Consulting & Adivisory", - "productKey": "consulting_adivisory", - "icon": "product-qa-consulting", - "brief": "TBD", - "details": "Expert services to get your project covered end-to-end", - "aliases": [ - "consulting-adivisory", - "consulting_adivisory" - ], - "template": { - "questions": [] - }, - "disabled": false, - "hidden": false - }, - { - "id": 30, - "name": "Salesforce Accelerator", - "productKey": "sfdc_testing", - "icon": "product-qa-sfdc-accelerator", - "brief": "TBD", - "details": "SalesForce Testing, Cross browser-device Testing", - "aliases": [ - "sfdc_testing", - "sfdc-testing" - ], - "template": { - "questions": [ - { - "id": "appDefinition", - "title": "Salesforce Accelerator", - "required": true, - "description": "Please answer a few basic questions about your project and, as an option, add links to supporting documents in the “Notes” section. *AssureNXT - Rapid Test Design Module is a Component of AssureNXT which is a Test Management Platform. It helps in Automated Test Case and Test Data Model generation through business process diagrams. RTD establishes direct relationship between business requirements, process flows and test coverage. Accelerated Test Case generation for changed business process. *Tosca - Tricentis Tosca is a testing tool that is used to automate end-to-end testing for software applications. Tricentis Tosca combines multiple aspects of software testing (test case design, test automation, test data design and generation, and analytics) to test GUIs and APIs from a business perspective", - "subSections": [ - { - "id": "projectName", - "required": true, - "validationError": "Please provide a name to your project", - "fieldName": "name", - "description": "", - "title": "Project Name", - "type": "project-name", - "hidden": true - }, - { - "id": "questions", - "required": true, - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "id": "projectInfo", - "validations": "isRequired,minLength:160", - "validationErrors": { - "isRequired": "Please provide a description", - "minLength": "Please enter at least 160 characters" - }, - "fieldName": "description", - "description": "Brief description of your project, Salesforce.com implementation testing objectives", - "title": "Description", - "type": "textbox", - "hidden": true - }, - { - "icon": "question", - "required": true, - "validationError": "Please provide the required options", - "title": "The Salesforce.com accelerator pack comprises of pre-built test assets and tools/licenses support to enable customization services. Would you like to purchase all the components of the accelerator pack or only a subset of it? (choose all that apply)", - "description": "Full solution will have all the above components, while Partial solution - can have just either the sfdc assets mentioned in option 1 OR SFDC assets + customized service without the license", - "fieldName": "details.appDefinition.components", - "type": "checkbox-group", - "options": [ - { - "value": "pack_one", - "label": "Manual Test packs + Business Models + Automation scripts" - }, - { - "value": "pack_two", - "label": "License for AssureNXT and Tosca for 2 months" - }, - { - "value": "pack_three", - "label": "Customization services to fit the pre-built assets to your specific use cases" - } - ], - "hidden": true - }, - { - "icon": "question", - "title": "Select the functionalities which are applicable for your Salesforce.com Implementation ( 1 or multiple from the 10 listed below)", - "description": "", - "type": "checkbox-group", - "fieldName": "details.appDefinition.functionalities", - "options": [ - { - "value": "sales_cloud_campaign", - "label": "Sales Cloud - Campaign" - }, - { - "value": "lead", - "label": "Lead" - }, - { - "value": "account", - "label": "Account" - }, - { - "value": "contact", - "label": "Contact" - }, - { - "value": "opportunity", - "label": "Opportunity" - }, - { - "value": "quote", - "label": "Quote" - }, - { - "value": "contract_and_order", - "label": "Contract & Order Management" - }, - { - "value": "product_price", - "label": "Product & Price Book and End to End Processes & Misc Functions (Activites Chatter Reports & Dashboards)" - }, - { - "value": "service_cloud_case_management", - "label": "Service Cloud – Case Management" - } - ], - "hidden": true - }, - { - "icon": "question", - "required": true, - "title": "Are you using the Lightning Experience?", - "description": "", - "fieldName": "details.appDefinition.lightningExperience.value", - "type": "radio-group", - "options": [ - { - "value": "Yes", - "label": "Yes" - }, - { - "value": "No", - "label": "No" - }, - { - "value": "Neither", - "label": "I Don't Know" - } - ], - "hidden": true - } - ] - }, - { - "id": "notes", - "fieldName": "details.appDefinition.notes", - "title": "Notes", - "description": "Please enter any additional information such as any existing test automation tool used, known constraints for automation, % of customizations in your Salesforce.com implementation, etc.", - "type": "notes", - "hidden": true - }, - { - "id": "files", - "description": "", - "type": "files", - "fieldName": "attachments" - } - ] - } - ] - }, - "disabled": false, - "hidden": false - } -] \ No newline at end of file diff --git a/src/api/templates-json/project-categories.json b/src/api/templates-json/project-categories.json deleted file mode 100644 index 49a3e7b8a..000000000 --- a/src/api/templates-json/project-categories.json +++ /dev/null @@ -1,30 +0,0 @@ -[ - { - "categoryId": "app", - "categoryName": "App" - }, - { - "categoryId": "website", - "categoryName": "Website" - }, - { - "categoryId": "chatbot", - "categoryName": "Chatbot" - }, - { - "categoryId": "visual_design", - "categoryName": "Design" - }, - { - "categoryId": "app_dev", - "categoryName": "Software Development" - }, - { - "categoryId": "analytics", - "categoryName": "Analytics & Data Science" - }, - { - "categoryId": "quality_assurance", - "categoryName": "QA" - } -] \ No newline at end of file diff --git a/src/api/templates-json/project-templates.json b/src/api/templates-json/project-templates.json deleted file mode 100644 index 985f24a0e..000000000 --- a/src/api/templates-json/project-templates.json +++ /dev/null @@ -1,6172 +0,0 @@ -[ - { - "id": 1, - "name": "App", - "key": "application_development", - "type": "app", - "phases": { - "products": [ - { - "productKey": "application_development", - "id": 1 - } - ] - }, - "scope": { - "sections": [ - { - "id": "appDefinition", - "title": "Development Integration", - "required": true, - "description": "Please answer a few basic questions about your project and, as an option, add links to supporting documents in the “Notes” section. If you have any files to upload, you’ll be able to do so later.", - "subSections": [ - { - "id": "projectName", - "required": true, - "validationError": "Please provide a name for your project", - "fieldName": "name", - "description": "", - "title": "Project Name", - "type": "project-name" - }, - { - "id": "questions", - "required": true, - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "required": true, - "validationError": "Please let us know the target device", - "title": "Which is your primary device target?", - "description": "Select only the device that you need to develop for. In most cases limiting the scope of your project would result in better final result. Topcoder recommends to always start with the mobile phone view and expand to other devices as your app matures.", - "fieldName": "details.appDefinition.primaryTarget", - "type": "tiled-radio-group", - "options": [ - { - "value": "phone", - "title": "Phone", - "icon": "icon-tech-outline-mobile", - "iconOptions": { - "fill": "#00000" - }, - "desc": "iOS, Android, Hybrid" - }, - { - "value": "tablet", - "title": "Tablet", - "icon": "icon-tech-outline-tablet", - "iconOptions": { - "fill": "#00000" - }, - "desc": "iOS, Android, Hybrid" - }, - { - "value": "desktop", - "title": "Desktop", - "icon": "icon-tech-outline-desktop", - "iconOptions": { - "fill": "#00000" - }, - "desc": "all OS" - }, - { - "value": "wearable", - "title": "Wearable", - "icon": "icon-tech-outline-watch-apple", - "iconOptions": { - "fill": "#00000" - }, - "desc": "Watch OS, Android Wear" - } - ] - }, - { - "id": "projectInfo", - "validations": "isRequired,minLength:160", - "validationErrors": { - "isRequired": "Please provide a description", - "minLength": "Please enter at least 160 characters" - }, - "fieldName": "description", - "description": "Brief Description", - "title": "Description", - "type": "textbox" - }, - { - "icon": "question", - "required": true, - "validationError": "Please let us know the goal of your application", - "title": "What is the goal of your application? How will people use it?", - "description": "Describe your objectives for creating this application", - "type": "textbox", - "fieldName": "details.appDefinition.goal.value" - }, - { - "icon": "question", - "required": true, - "validationError": "Please let us know users of your application", - "title": "Who are the users of your application? ", - "description": "Describe the roles and needs of your target users", - "type": "textbox", - "fieldName": "details.appDefinition.users.value" - } - ] - }, - { - "id": "notes", - "fieldName": "details.appDefinition.notes", - "title": "Notes", - "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)", - "type": "notes" - } - ] - } - ] - }, - "icon": "product-app-app", - "question": "", - "info": "Build apps for mobile, web, or wearables", - "aliases": [ - "app", - "application_development" - ], - "disabled": false, - "hidden": false - }, - { - "id": 2, - "name": "Enterprise Mobile", - "key": "enterprise_mobile", - "type": "app", - "phases": { - "products": [ - { - "productKey": "enterprise_mobile", - "id": 2 - } - ] - }, - "scope": { - "sections": [ - { - "id": "appDefinition", - "title": "Enterprise Mobile", - "required": true, - "description": "Please answer a few basic questions about your project and, as an option, add links to supporting documents in the “Notes” section. If you have any files to upload, you’ll be able to do so later.", - "subSections": [ - { - "id": "projectName", - "required": true, - "validationError": "Please provide a name for your project", - "fieldName": "name", - "description": "", - "title": "Project Name", - "type": "project-name" - }, - { - "id": "user", - "required": true, - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "id": "projectInfo", - "required": true, - "validations": "isRequired,minLength:160", - "validationErrors": { - "isRequired": "Please provide a description", - "minLength": "Please enter at least 160 characters" - }, - "fieldName": "description", - "description": "Can you provide a brief summary of the application you’d like to develop?", - "title": "App Summary", - "type": "textbox" - }, - { - "icon": "question", - "required": true, - "validationError": "Please let us know the target device", - "title": "App Type", - "description": "What type of application are we developing? Please the required app type. Please note that each additional app type incurs a cost, but that the cost will be detailed and broken out in the final project proposal. ", - "fieldName": "details.appDefinition.appType", - "type": "checkbox-group", - "options": [ - { - "value": "ios", - "label": "iOS App - An app built for iPhone or iPads" - }, - { - "value": "android", - "label": "Android App - An app built for mobile phones or tablets running Android." - }, - { - "value": "hybrid", - "label": "Hybrid App - An app built using a hybrid framework (ex. Ionic/Cordova/Xamarin) and exported to one or more operating systems (iOS, Android or both)." - }, - { - "value": "web", - "label": "Mobile Web App - An app that is accessed by using a mobile web browser like Safari or Chrome." - } - ] - }, - { - "fieldName": "details.appDefinition.workflow", - "description": "Please describe the ideal workflow for the proposed solution.", - "title": "Workflow", - "type": "textbox" - }, - { - "fieldName": "details.appDefinition.objectives", - "description": "What are the main business objectives you want to achieve by developing this application?", - "title": "Objectives", - "type": "textbox" - }, - { - "icon": "question", - "title": "Form Factor/Orientation", - "description": "Please select each for each form factor/orientation that must be supported.", - "fieldName": "details.appDefinition.formFactor", - "type": "checkbox-group", - "options": [ - { - "value": "mobile-phone-portrait", - "label": "Mobile Phone - Portrait" - }, - { - "value": "mobile-phone-landscape", - "label": "Mobile Phone - Landscape" - }, - { - "value": "tablet-device-portrait", - "label": "Tablet Device - Portrait" - }, - { - "value": "tablet-device-landscape", - "label": "Tablet Device - Landscape" - } - ] - } - ] - }, - { - "required": false, - "hideTitle": false, - "title": "Style Guide & Brand Guidelines - Please add your answers below. If you do not know the answer, please add “Open to suggestions from the community/looking for creative solutions”", - "description": "", - "type": "questions", - "questions": [ - { - "fieldName": "details.designGuidelines.Styleguide", - "title": "Do you have a style guide or branding guidelines that need to be followed?", - "type": "textbox" - }, - { - "fieldName": "details.designGuidelines.fonts", - "title": "Are there any particular fonts you want used?", - "type": "textbox" - }, - { - "fieldName": "details.designGuidelines.colors", - "title": "Are there any particular colors/themes you want used?", - "type": "textbox" - }, - { - "fieldName": "details.designGuidelines.appIcon", - "title": "Do you need an app icon designed, or will you provide one?", - "type": "textbox" - } - ] - }, - { - "required": false, - "hideTitle": false, - "title": "User Roles - Please use the fields below to specify the type of users/roles for the application. If the role is not applicable, please enter N/A", - "type": "questions", - "description": "Please select each for each user type/role. Please provide details on what the user/role should do in the Description column.", - "questions": [ - { - "fieldName": "details.userRoles.standard", - "title": "Standard User", - "type": "textbox" - }, - { - "fieldName": "details.userRoles.admin", - "title": "Admin", - "type": "textbox" - }, - { - "fieldName": "details.userRoles.superAdmin", - "title": "Super Admin", - "type": "textbox" - } - ] - }, - { - "required": false, - "hideTitle": false, - "title": " - Will this application be dependant on data from another system or tool? If yes, please briefly describe that dependency here. This can include integration with an API or an existing backend/database.", - "description": "Will this application be dependant on data from another system or tool? If yes, please briefly describe that dependency here. This can include integration with an API or an existing backend/database.", - "type": "questions", - "questions": [ - { - "fieldName": "details.integrations.api", - "title": "API", - "type": "textbox" - }, - { - "fieldName": "details.integrations.backend", - "title": "Backend", - "type": "textbox" - }, - { - "fieldName": "details.integrations.database", - "title": "Database", - "type": "textbox" - } - ] - }, - { - "id": "screen-features", - "required": false, - "hideTitle": false, - "title": "Screen and Features", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "title": "Screen / Feature List", - "description": "Please select each required feature. Please note that each added feature incurs a cost, but that the cost will be detailed and broken out in the final project proposal. ", - "fieldName": "details.appDefinition.screens", - "type": "checkbox-group", - "options": [ - { - "value": "enterprise-login", - "label": "Enterprise Login - Supports integration with an existing authorization/authentication mechanism." - }, - { - "value": "email-login", - "label": "Email Login - Support sign in using an email address/password." - }, - { - "value": "social-login", - "label": "Social Login - Support register and login using third-party services such as Facebook, Twitter, and Google." - }, - { - "value": "registration", - "label": "Registration - Allow users to register and login using their email address and a password. Users can also change their password or recover a forgotten one." - }, - { - "value": "invitations", - "label": "Invitations - Allow users to invite others to use your app via email. " - }, - { - "value": "introductions", - "label": "Introductions - Present your app and inform users of core functionality using a series of introductory screens before they sign up." - }, - { - "value": "onboarding", - "label": "Onboarding - Virtually walk your users through your application. This functionality is especially useful if you need new users to set up an account or express preferences after they sign up." - }, - { - "value": "search", - "label": "Search - Provide the ability to search your app for specific content, such as products, members, or locations. Please specify below if you also would like autocomplete--suggesting appropriate search terms as a user starts typing." - }, - { - "value": "location-based-services", - "label": "Location Based Services - App must support the identification of the users geographic location for location based features. Ex. show store locations on a map or illustrating the progress of a delivery." - }, - { - "value": "camera", - "label": "Camera (Audio & Video) - Add this feature if your app will require using the camera to capture audio or video." - }, - { - "value": "file-upload", - "label": "File Upload - Allow users to upload photos or other files." - }, - { - "value": "notifications", - "label": "Notifications - Take advantage of notifications; for example, remind users to do certain tasks or update them on new content." - }, - { - "value": "dashboard", - "label": "Dashboard - App must have a central dashboard where users can access functionality" - }, - { - "value": "tagging", - "label": "Tagging - Allow users to tag products, people or content; for example, in order to classify and easily retrieve notes." - }, - { - "value": "account-settings", - "label": "Account Settings - Allow your users to adjust settings or specify preferences, such as communication frequency." - }, - { - "value": "help-faws", - "label": "Help/FAQs - Include a section dedicated to FAQ or Help content." - }, - { - "value": "marketplace", - "label": "Marketplace - Allow users to buy, sell, or rent products or services." - }, - { - "value": "ratings-reviews", - "label": "Ratings & Reviews - Let users rate or review people, products, or services." - }, - { - "value": "payments", - "label": "Payments - Allow users to pay in some way; for example, using credit cards, PayPal, or Bitcoin." - }, - { - "value": "shopping-cart", - "label": "Shopping Cart - Allow users to save items before purchasing. Please specify your desired functionality below." - }, - { - "value": "product-listing", - "label": "Product Listing - Add this feature to shows lists of product or services, with individual detail pages for each one." - }, - { - "value": "activity-feed", - "label": "Activity Feed - Show your users an activity feed of some kind, as they’re used to seeing on Facebook and Twitter, for example." - }, - { - "value": "profiles", - "label": "Profiles - Add this feature if your app requires users to have a profile, including the ability to edit it." - }, - { - "value": "messaging", - "label": "Messaging - Allow direct communication between two or more users." - }, - { - "value": "admin-tool", - "label": "Admin Tool - App must have an administrative tool or panel to enable direct management of users, content and the application." - }, - { - "value": "social-media-integration", - "label": "Social Media Integration - App must integrate with social media providers (Facebook, Instagram, Twitter, Google+, etc)" - }, - { - "value": "reporting", - "label": "Reporting - App must have the ability to report/export data" - }, - { - "value": "contact-us", - "label": "Contact Us - App must have the ability to allow users to contact an administrator/send feedback to administrators." - }, - { - "value": "3d-touch", - "label": "3D Touch - If this is an iOS App -- should the designers make use of 3D Touch?" - } - ] - }, - { - "icon": "question", - "title": "Technology Requirements", - "description": "Please select each required technology requirement above", - "fieldName": "details.appDefinition.techFeatures", - "type": "checkbox-group", - "options": [ - { - "value": "enterprise-login", - "label": "SSO Integration - App must integrate with enterprise single-sign-on capability." - }, - { - "value": "api-integration", - "label": "API Integration - App must integrate with a pre-existing API." - }, - { - "value": "third-party-system-integration", - "label": "Third Party System Integration - App must integrate with an external application or system and either retrieve or post data." - }, - { - "value": "containerized-code", - "label": "Containerized Code - The codebase must be containerized via Docker to allow for easier deployment and maintenance." - }, - { - "value": "unit-tests", - "label": "Unit Tests - App must have unit tests to ensure code coverage." - }, - { - "value": "continuous-integration-/-continuous-deployment", - "label": "Continuous Integration / Continuous Deployment - Establishment of a CI/CD pipeline." - }, - { - "value": "analytics-implementation", - "label": "Analytics Implementation - Implementation of analytics to track user behavior and app usage." - }, - { - "value": "email-(smtp-server)-setup", - "label": "Email (SMTP Server) Setup - Development and configuration of an SMTP server to provide email notifications. Design, content and development of the emails will need to be handled separately." - }, - { - "value": "offline-capability", - "label": "Offline Capability - Ability to use features of the application offline, and have the data persist/saved locally and then sent back to a server for syncing." - }, - { - "value": "camera", - "label": "Minimal Battery Usage Implementation - Update to the core features of a mobile application to support the ability to minimize usage of network bandwidth and battery usage." - }, - { - "value": "apple-app-store-&-google-play-submission-support", - "label": "Apple App Store & Google Play Submission Support - Consulting support to help streamline the app publishing process to Apple App Store or Google Play." - }, - { - "value": "sms-gateway-integration", - "label": "SMS Gateway Integration - App must integrate with an external SMS gateway/provider for notifications via SMS." - }, - { - "value": "error-logging", - "label": "Error Logging - Does the application need error logging (this will log all errors, exceptions, warnings, debug information during the application execution and will be helpful to rectify the issues)?" - }, - { - "value": "faceid-touchid", - "label": "Face ID / Touch ID -- If this is an iOS App -- should we support Face ID/Touch ID for login" - } - ] - } - ] - }, - { - "id": "techStack", - "required": false, - "hideTitle": false, - "title": "Technology Stack - Do you have a preferred technology stack? If yes, please list those requirements here:", - "description": "Do you have a preferred technology stack? If yes, please list those requirements here:", - "type": "questions", - "questions": [ - { - "fieldName": "details.techstack.languages", - "title": "Programming Languages", - "type": "textbox" - }, - { - "fieldName": "details.techstack.frameworks", - "title": "Frameworks", - "type": "textbox" - }, - { - "fieldName": "details.techstack.Database", - "title": "Database", - "type": "textbox" - }, - { - "fieldName": "details.techstack.server", - "title": "Server", - "type": "textbox" - }, - { - "fieldName": "details.techstack.hosting", - "title": "Hosting Environment", - "type": "textbox" - } - ] - }, - { - "hideTitle": true, - "title": "Quality Assurance, Testing and Security", - "description": "", - "type": "questions", - "questions": [ - { - "fieldName": "details.qaTesting.security", - "title": "Security Requirements", - "type": "checkbox-group", - "options": [ - { - "value": "standard", - "label": "Standard Security - Select this option if your app requires standard security." - }, - { - "value": "enterprise", - "label": "Enterprise - Select this option if your application will house or transmit PII or sensitive data. The data will be encrypted on the device and the server." - }, - { - "value": "vulnerability", - "label": "Vulnerability Scanning - Vulnerability scanning is a security technique used to identify security weaknesses in a computer system." - }, - { - "value": "auditing", - "label": "Audit - Is it necessary to audit user actions? Auditing will keep a record of specific user actions like data creation/modification and will be helpful in identifying which user performed a particular action." - }, - { - "value": "confidential", - "label": "Confidential Information, Sensitive Financial Data or Personally Identifiable Information (PII) - Will the user be working directly with financial or other protected information such has health records?" - }, - { - "value": "mdm", - "label": "Mobile Device Management (MDM) - Do you employ an MDM solution? If yes, what service do you use?" - } - ], - "description": "Please select each required security requirement above." - }, - { - "icon": "question", - "title": "Quality Assurance, Test Data & Performance Testing", - "description": "Please select each for each required QA requirement.", - "fieldName": "details.qaTesting.testing", - "type": "checkbox-group", - "options": [ - { - "value": "rw-unstructured", - "label": "Real World Unstructured - Functional testing performed without test scripts. Users search on their own for bugs or usability issues." - }, - { - "value": "rw-structured", - "label": "Real World Testing - Structured - Test case based execution, covering all the functional requirements & cross-browser device testing." - }, - { - "value": "testcases", - "label": "Test Cases/Scenarios - Creation of test cases/test scenarios including scenario setup, pre/post conditions to scenario, instructions to execute scenario, and expected results" - }, - { - "value": "certification", - "label": "App Certification - Certify your mobile application release against predefined device set including; --App profiling to see the device vital monitoring – CPU, battery and memory usage of APP; --App behavior analysis in different modes (inactive, active, low battery, ); --App performance under various interrupts, under simulated network conditions, etc. " - }, - { - "value": "devicelab", - "label": "Mobile Device Lab on Hire - Allows you to remotely access devices in real cell networks across the world" - }, - { - "value": "performanceTuning", - "label": "Performance Testing - Testing web application’s robustness, availability, and reliability for defined business scenarios and concurrent users." - }, - { - "value": "performanceTesting", - "label": "Performance Tuning - Analyze and identify performance issues, actionable items for improvement." - } - ] - }, - { - "icon": "question", - "title": "How many users do you intend to support?", - "type": "textbox", - "fieldName": "details.qaTesting.users", - "required": false - }, - { - "icon": "question", - "title": "Do you intend to supply test data or should Topcoder create it?", - "fieldName": "details.qaTesting.data", - "type": "slide-radiogroup", - "options": [ - { - "value": "create", - "title": "We will provide obfuscated data" - }, - { - "value": "provide", - "title": "Topcoder will create data" - } - ], - "required": false - }, - { - "icon": "question", - "title": "User Acceptance / Beta Testing", - "description": "UAT is the process of sharing the final application with users and gathering feedback. Please select each required UAT requirement.", - "fieldName": "details.qaTesting.uat", - "type": "checkbox-group", - "options": [ - { - "value": "uat", - "label": "1 UAT/Beta Test Cycle." - }, - { - "value": "uat-updates", - "label": "Implementation of Updates (update the app based on UAT/Beta Testing feedback)" - } - ] - } - ] - }, - { - "hideTitle": false, - "title": "Budget and Timeline", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "description": "How much budget do you have?", - "title": "Budget", - "fieldName": "details.loadDetails.budget", - "type": "slide-radiogroup", - "options": [ - { - "value": "upto-25", - "title": "Under $25K " - }, - { - "value": "upto-50", - "title": "$25K to $50K" - }, - { - "value": "upto-75", - "title": "$50K to $75K" - }, - { - "value": "upto-100", - "title": "$75K to $100K" - }, - { - "value": "above-100", - "title": "More than $100K" - } - ], - "required": true, - "validationError": "Please provide expected hours of execution" - }, - { - "icon": "question", - "description": "When do you need your app by?", - "title": "Timeline", - "fieldName": "details.loadDetails.timeline", - "type": "slide-radiogroup", - "options": [ - { - "value": "upto-1month", - "title": "Under 1 month" - }, - { - "value": "upto-2months", - "title": "1 to 2 months" - }, - { - "value": "upto-3months", - "title": "2 to 3 months" - }, - { - "value": "upto-6months", - "title": "3 to 6 months" - } - ], - "required": true, - "validationError": "Please provide expected hours of execution" - } - ] - }, - { - "id": "notes", - "fieldName": "details.appDefinition.notes", - "title": "Notes", - "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)", - "type": "notes" - } - ] - } - ], - "formTitle": "Enterprise Mobile" - }, - "icon": "product-app-app", - "question": "", - "info": "Enterprise Mobile", - "aliases": [ - "enterprise-mobile" - ], - "disabled": false, - "hidden": true - }, - { - "id": 3, - "name": "Enterprise Web", - "key": "enterprise_web", - "type": "app", - "phases": { - "products": [ - { - "productKey": "enterprise_web", - "id": 3 - } - ] - }, - "scope": { - "sections": [ - { - "id": "appDefinition", - "title": "Enterprise Web", - "required": true, - "description": "Please answer a few basic questions about your project and, as an option, add links to supporting documents in the “Notes” section. If you have any files to upload, you’ll be able to do so later.", - "subSections": [ - { - "id": "projectName", - "required": true, - "validationError": "Please provide a name for your project", - "fieldName": "name", - "description": "", - "title": "Project Name", - "type": "project-name" - }, - { - "id": "user", - "required": true, - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "id": "projectInfo", - "required": true, - "validations": "isRequired,minLength:160", - "validationErrors": { - "isRequired": "Please provide a description", - "minLength": "Please enter at least 160 characters" - }, - "fieldName": "description", - "description": "Can you provide a brief summary of the application you’d like to develop?", - "title": "App Summary", - "type": "textbox" - }, - { - "icon": "question", - "required": true, - "validationError": "Please let us know the target device", - "title": "App Type", - "description": "What type of application are we developing? Please place an X in the Required column for each required app type. Please note that each additional app type incurs a cost, but that the cost will be detailed and broken out in the final project proposal. ", - "fieldName": "details.appDefinition.appType", - "type": "checkbox-group", - "options": [ - { - "value": "desktop", - "label": "Desktop Web App - An app built to be accessed over the web using a desktop browser such as Chrome, Safari and MS Explorer" - }, - { - "value": "responsive", - "label": "Responsive Web App - An app built to be accessed over the web using a desktop, tablet or mobile browser such as Chrome, Safari and MS Explorer. The application will render on multiple devices types, with a optimized screen for each type of device." - } - ] - }, - { - "fieldName": "details.appDefinition.workflow", - "description": "Please describe the ideal workflow for the proposed solution.", - "title": "Workflow", - "type": "textbox" - }, - { - "fieldName": "details.appDefinition.objectives", - "description": "What are the main business objectives you want to achieve by developing this application?", - "title": "Objectives", - "type": "textbox" - } - ] - }, - { - "required": false, - "hideTitle": false, - "title": "Style Guide & Brand Guidelines - Please add your answers below. If you do not know the answer, please add “Open to suggestions from the community/looking for creative solutions”", - "description": "", - "type": "questions", - "questions": [ - { - "fieldName": "details.designGuidelines.Styleguide", - "title": "Do you have a style guide or branding guidelines that need to be followed?", - "type": "textbox" - }, - { - "fieldName": "details.designGuidelines.fonts", - "title": "Are there any particular fonts you want used?", - "type": "textbox" - }, - { - "fieldName": "details.designGuidelines.colors", - "title": "Are there any particular colors/themes you want used?", - "type": "textbox" - }, - { - "fieldName": "details.designGuidelines.appIcon", - "title": "Do you need an app icon designed, or will you provide one?", - "type": "textbox" - } - ] - }, - { - "required": false, - "hideTitle": false, - "title": "User Roles - Please use the fields below to specify the type of users/roles for the application. If the role is not applicable, please enter N/A", - "type": "questions", - "description": "Please select each for each user type/role. Please provide details on what the user/role should do in the Description column.", - "questions": [ - { - "fieldName": "details.userRoles.standard", - "title": "Standard User", - "type": "textbox" - }, - { - "fieldName": "details.userRoles.admin", - "title": "Admin", - "type": "textbox" - }, - { - "fieldName": "details.userRoles.superAdmin", - "title": "Super Admin", - "type": "textbox" - } - ] - }, - { - "required": false, - "hideTitle": false, - "title": " - Will this application be dependant on data from another system or tool? If yes, please briefly describe that dependency here. This can include integration with an API or an existing backend/database.", - "description": "Will this application be dependant on data from another system or tool? If yes, please briefly describe that dependency here. This can include integration with an API or an existing backend/database.", - "type": "questions", - "questions": [ - { - "fieldName": "details.integrations.api", - "title": "API", - "type": "textbox" - }, - { - "fieldName": "details.integrations.backend", - "title": "Backend", - "type": "textbox" - }, - { - "fieldName": "details.integrations.database", - "title": "Database", - "type": "textbox" - } - ] - }, - { - "id": "screen-features", - "required": false, - "hideTitle": false, - "title": "Screen and Features", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "title": "Screen / Feature List", - "description": "Please select each required feature. Please note that each added feature incurs a cost, but that the cost will be detailed and broken out in the final project proposal. ", - "fieldName": "details.appDefinition.screens", - "type": "checkbox-group", - "options": [ - { - "value": "enterprise-login", - "label": "Enterprise Login - Supports integration with an existing authorization/authentication mechanism." - }, - { - "value": "email-login", - "label": "Email Login - Support sign in using an email address/password." - }, - { - "value": "social-login", - "label": "Social Login - Support register and login using third-party services such as Facebook, Twitter, and Google." - }, - { - "value": "registration", - "label": "Registration - Allow users to register and login using their email address and a password. Users can also change their password or recover a forgotten one." - }, - { - "value": "invitations", - "label": "Invitations - Allow users to invite others to use your app via email. " - }, - { - "value": "introductions", - "label": "Introductions - Present your app and inform users of core functionality using a series of introductory screens before they sign up." - }, - { - "value": "onboarding", - "label": "Onboarding - Virtually walk your users through your application. This functionality is especially useful if you need new users to set up an account or express preferences after they sign up." - }, - { - "value": "search", - "label": "Search - Provide the ability to search your app for specific content, such as products, members, or locations. Please specify below if you also would like autocomplete--suggesting appropriate search terms as a user starts typing." - }, - { - "value": "location-based-services", - "label": "Location Based Services - App must support the identification of the users geographic location for location based features. Ex. show store locations on a map or illustrating the progress of a delivery." - }, - { - "value": "camera", - "label": "Camera (Audio & Video) - Add this feature if your app will require using the camera to capture audio or video." - }, - { - "value": "file-upload", - "label": "File Upload - Allow users to upload photos or other files." - }, - { - "value": "notifications", - "label": "Notifications - Take advantage of notifications; for example, remind users to do certain tasks or update them on new content." - }, - { - "value": "dashboard", - "label": "Dashboard - App must have a central dashboard where users can access functionality" - }, - { - "value": "tagging", - "label": "Tagging - Allow users to tag products, people or content; for example, in order to classify and easily retrieve notes." - }, - { - "value": "account-settings", - "label": "Account Settings - Allow your users to adjust settings or specify preferences, such as communication frequency." - }, - { - "value": "help-faws", - "label": "Help/FAQs - Include a section dedicated to FAQ or Help content." - }, - { - "value": "marketplace", - "label": "Marketplace - Allow users to buy, sell, or rent products or services." - }, - { - "value": "ratings-reviews", - "label": "Ratings & Reviews - Let users rate or review people, products, or services." - }, - { - "value": "payments", - "label": "Payments - Allow users to pay in some way; for example, using credit cards, PayPal, or Bitcoin." - }, - { - "value": "shopping-cart", - "label": "Shopping Cart - Allow users to save items before purchasing. Please specify your desired functionality below." - }, - { - "value": "product-listing", - "label": "Product Listing - Add this feature to shows lists of product or services, with individual detail pages for each one." - }, - { - "value": "activity-feed", - "label": "Activity Feed - Show your users an activity feed of some kind, as they’re used to seeing on Facebook and Twitter, for example." - }, - { - "value": "profiles", - "label": "Profiles - Add this feature if your app requires users to have a profile, including the ability to edit it." - }, - { - "value": "messaging", - "label": "Messaging - Allow direct communication between two or more users." - }, - { - "value": "admin-tool", - "label": "Admin Tool - App must have an administrative tool or panel to enable direct management of users, content and the application." - }, - { - "value": "social-media-integration", - "label": "Social Media Integration - App must integrate with social media providers (Facebook, Instagram, Twitter, Google+, etc)" - }, - { - "value": "reporting", - "label": "Reporting - App must have the ability to report/export data" - }, - { - "value": "contact-us", - "label": "Contact Us - App must have the ability to allow users to contact an administrator/send feedback to administrators." - } - ] - }, - { - "icon": "question", - "title": "Technology Requirements", - "description": "Please select each required technology requirement above", - "fieldName": "details.appDefinition.techFeatures", - "type": "checkbox-group", - "options": [ - { - "value": "enterprise-login", - "label": "SSO Integration - App must integrate with enterprise single-sign-on capability." - }, - { - "value": "api-integration", - "label": "API Integration - App must integrate with a pre-existing API." - }, - { - "value": "third-party-system-integration", - "label": "Third Party System Integration - App must integrate with an external application or system and either retrieve or post data." - }, - { - "value": "containerized-code", - "label": "Containerized Code - The codebase must be containerized via Docker to allow for easier deployment and maintenance." - }, - { - "value": "unit-tests", - "label": "Unit Tests - App must have unit tests to ensure code coverage." - }, - { - "value": "continuous-integration-/-continuous-deployment", - "label": "Continuous Integration / Continuous Deployment - Establishment of a CI/CD pipeline." - }, - { - "value": "analytics-implementation", - "label": "Analytics Implementation - Implementation of analytics to track user behavior and app usage." - }, - { - "value": "email-(smtp-server)-setup", - "label": "Email (SMTP Server) Setup - Development and configuration of an SMTP server to provide email notifications. Design, content and development of the emails will need to be handled separately." - }, - { - "value": "sms-gateway-integration", - "label": "SMS Gateway Integration - App must integrate with an external SMS gateway/provider for notifications via SMS." - }, - { - "value": "error-logging", - "label": "Error Logging - Does the application need error logging (this will log all errors, exceptions, warnings, debug information during the application execution and will be helpful to rectify the issues)?" - } - ] - } - ] - }, - { - "id": "techStack", - "required": false, - "hideTitle": false, - "title": "Technology Stack - Do you have a preferred technology stack? If yes, please list those requirements here:", - "description": "Do you have a preferred technology stack? If yes, please list those requirements here:", - "type": "questions", - "questions": [ - { - "fieldName": "details.techstack.languages", - "title": "Programming Languages", - "type": "textbox" - }, - { - "fieldName": "details.techstack.frameworks", - "title": "Frameworks", - "type": "textbox" - }, - { - "fieldName": "details.techstack.Database", - "title": "Database", - "type": "textbox" - }, - { - "fieldName": "details.techstack.server", - "title": "Server", - "type": "textbox" - }, - { - "fieldName": "details.techstack.hosting", - "title": "Hosting Environment", - "type": "textbox" - } - ] - }, - { - "hideTitle": true, - "title": "Quality Assurance, Testing and Security", - "description": "", - "type": "questions", - "questions": [ - { - "fieldName": "details.qaTesting.security", - "title": "Security Requirements", - "type": "checkbox-group", - "options": [ - { - "value": "standard", - "label": "Standard Security - Select this option if your app requires standard security." - }, - { - "value": "enterprise", - "label": "Enterprise - Select this option if your application will house or transmit PII or sensitive data. The data will be encrypted on the device and the server." - }, - { - "value": "vulnerability", - "label": "Vulnerability Scanning - Vulnerability scanning is a security technique used to identify security weaknesses in a computer system." - }, - { - "value": "auditing", - "label": "Audit - Is it necessary to audit user actions? Auditing will keep a record of specific user actions like data creation/modification and will be helpful in identifying which user performed a particular action." - }, - { - "value": "confidential", - "label": "Confidential Information, Sensitive Financial Data or Personally Identifiable Information (PII) - Will the user be working directly with financial or other protected information such has health records?" - } - ], - "description": "Please select each required security requirement above." - }, - { - "icon": "question", - "title": "Quality Assurance, Test Data & Performance Testing", - "description": "Please select each for each required QA requirement.", - "fieldName": "details.qaTesting.testing", - "type": "checkbox-group", - "options": [ - { - "value": "rw-unstructured", - "label": "Real World Unstructured - Functional testing performed without test scripts. Users search on their own for bugs or usability issues." - }, - { - "value": "rw-structured", - "label": "Real World Testing - Structured - Test case based execution, covering all the functional requirements & cross-browser device testing." - }, - { - "value": "testcases", - "label": "Test Cases/Scenarios - Creation of test cases/test scenarios including scenario setup, pre/post conditions to scenario, instructions to execute scenario, and expected results" - }, - { - "value": "certification", - "label": "App Certification - Certify your mobile application release against predefined device set including; --App profiling to see the device vital monitoring – CPU, battery and memory usage of APP; --App behavior analysis in different modes (inactive, active, low battery, ); --App performance under various interrupts, under simulated network conditions, etc. " - }, - { - "value": "performanceTuning", - "label": "Performance Testing - Testing web application’s robustness, availability, and reliability for defined business scenarios and concurrent users." - }, - { - "value": "performanceTesting", - "label": "Performance Tuning - Analyze and identify performance issues, actionable items for improvement." - } - ] - }, - { - "icon": "question", - "title": "How many users do you intend to support?", - "type": "textbox", - "fieldName": "details.qaTesting.users", - "required": false - }, - { - "icon": "question", - "title": "Do you intend to supply test data or should Topcoder create it?", - "fieldName": "details.qaTesting.data", - "type": "slide-radiogroup", - "options": [ - { - "value": "create", - "title": "We will provide obfuscated data" - }, - { - "value": "provide", - "title": "Topcoder will create data" - } - ], - "required": false - }, - { - "icon": "question", - "title": "User Acceptance / Beta Testing", - "description": "UAT is the process of sharing the final application with users and gathering feedback. Please select each required UAT requirement.", - "fieldName": "details.qaTesting.uat", - "type": "checkbox-group", - "options": [ - { - "value": "uat", - "label": "1 UAT/Beta Test Cycle." - }, - { - "value": "uat-updates", - "label": "Implementation of Updates (update the app based on UAT/Beta Testing feedback)" - } - ] - } - ] - }, - { - "hideTitle": false, - "title": "Budget and Timeline", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "description": "How much budget do you have?", - "title": "Budget", - "fieldName": "details.loadDetails.budget", - "type": "slide-radiogroup", - "options": [ - { - "value": "upto-25", - "title": "Under $25K " - }, - { - "value": "upto-50", - "title": "$25K to $50K" - }, - { - "value": "upto-75", - "title": "$50K to $75K" - }, - { - "value": "upto-100", - "title": "$75K to $100K" - }, - { - "value": "above-100", - "title": "More than $100K" - } - ], - "required": true, - "validationError": "Please provide expected hours of execution" - }, - { - "icon": "question", - "description": "When do you need your app by?", - "title": "Timeline", - "fieldName": "details.loadDetails.timeline", - "type": "slide-radiogroup", - "options": [ - { - "value": "upto-1month", - "title": "Under 1 month" - }, - { - "value": "upto-2months", - "title": "1 to 2 months" - }, - { - "value": "upto-3months", - "title": "2 to 3 months" - }, - { - "value": "upto-6months", - "title": "3 to 6 months" - } - ], - "required": true, - "validationError": "Please provide expected hours of execution" - } - ] - }, - { - "id": "notes", - "fieldName": "details.appDefinition.notes", - "title": "Notes", - "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)", - "type": "notes" - } - ] - } - ], - "formTitle": "Enterprise Web" - }, - "icon": "product-app-app", - "question": "", - "info": "Enterprise Web", - "aliases": [ - "enterprise-web" - ], - "disabled": false, - "hidden": true - }, - { - "id": 4, - "name": "topgear-dev", - "key": "topgear_dev", - "type": "app", - "phases": { - "products": [ - { - "productKey": "topgear_dev", - "id": 4 - } - ] - }, - "scope": { - "sections": [ - { - "id": "appDefinition", - "title": "topgear-dev", - "required": true, - "description": "Please answer a few basic questions about your project and, as an option, add links to supporting documents in the “Notes” section. If you have any files to upload, you’ll be able to do so later.", - "subSections": [ - { - "id": "projectName", - "required": true, - "validationError": "Please provide a name for your project", - "fieldName": "name", - "description": "", - "title": "Project Name", - "type": "project-name" - }, - { - "id": "questions", - "required": true, - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "id": "projectInfo", - "validations": "isRequired,minLength:160", - "validationErrors": { - "isRequired": "Please provide a description", - "minLength": "Please enter at least 160 characters" - }, - "fieldName": "description", - "description": "Brief Description", - "title": "Description", - "type": "textbox" - }, - { - "icon": "question", - "title": "DU", - "description": "", - "type": "textbox", - "fieldName": "details.appDefinition.goal.du" - }, - { - "icon": "question", - "title": "Project Code", - "type": "textbox", - "fieldName": "details.appDefinition.users.projectCode" - }, - { - "icon": "question", - "title": "Cost Center code", - "type": "textbox", - "fieldName": "details.appDefinition.users.cost_center" - }, - { - "icon": "question", - "title": "Part of NG3", - "type": "textbox", - "fieldName": "details.appDefinition.users.ng3" - } - ] - } - ] - } - ], - "formTitle": "Topgear" - }, - "icon": "product-app-app", - "question": "", - "info": "Topgear", - "aliases": [ - "topgear-dev" - ], - "disabled": false, - "hidden": true - }, - { - "id": 5, - "name": "caas-intake", - "key": "caas_intake", - "type": "app", - "phases": { - "products": [ - { - "productKey": "caas_intake", - "id": 5 - } - ] - }, - "scope": { - "sections": [ - { - "id": "appDefinition", - "title": "caas-intake", - "required": true, - "description": "Create your own private Gig Workforce with Topcoder by answering a few simple questions", - "subSections": [ - { - "id": "projectName", - "required": true, - "validationError": "Please provide a name to your project", - "fieldName": "name", - "title": "Project Name", - "description": "", - "type": "project-name" - }, - { - "id": "questions", - "required": true, - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "id": "projectInfo", - "fieldName": "description", - "validations": "isRequired,minLength:160", - "validationErrors": { - "isRequired": "Please describe your application.", - "minLength": "Please enter at least 160 characters" - }, - "description": "Brief describe your application", - "title": "Description", - "type": "textbox" - }, - { - "icon": "question", - "title": "How many full time resources do you need?", - "description": "", - "fieldName": "details.resources.total", - "type": "textbox", - "required": true, - "validationError": "Please enter number of resources" - }, - { - "icon": "question", - "title": "How many months do you need the resource for", - "description": "", - "fieldName": "details.resources.months", - "type": "slide-radiogroup", - "options": [ - { - "value": "1", - "title": "1" - }, - { - "value": "2", - "title": "2" - }, - { - "value": "3", - "title": "3" - }, - { - "value": "4", - "title": "4" - }, - { - "value": "5", - "title": "5" - }, - { - "value": "6", - "title": "6" - }, - { - "value": "7", - "title": "7" - }, - { - "value": "8", - "title": "8" - }, - { - "value": "9", - "title": "9" - }, - { - "value": "10", - "title": "10" - }, - { - "value": "11", - "title": "11" - }, - { - "value": "12", - "title": "12" - } - ], - "required": true, - "validationError": "Please select one" - }, - { - "icon": "question", - "title": "What skills do you need?", - "description": "", - "fieldName": "details.resources.skills", - "type": "checkbox-group", - "options": [ - { - "value": "ios", - "label": "iOS" - }, - { - "value": "data-sci", - "label": "Data Science" - }, - { - "value": "android", - "label": "Android" - }, - { - "value": "java", - "label": "java" - }, - { - "value": "dotnet", - "label": ".NET" - }, - { - "value": "node", - "label": "NodeJS" - }, - { - "value": "javascript", - "label": "Javascript" - }, - { - "value": "react", - "label": "ReactJS" - }, - { - "value": "angular", - "label": "AngularJS" - } - ] - }, - { - "icon": "question", - "title": "What is the typical hourly rate you are paying?", - "description": "", - "fieldName": "details.resources.hourlyrate", - "type": "slide-radiogroup", - "options": [ - { - "value": "under30", - "title": "Under $30" - }, - { - "value": "under60", - "title": "Under $60" - }, - { - "value": "under80", - "title": "Under $80" - }, - { - "value": "under100", - "title": "Under $100" - }, - { - "value": "under125", - "title": "Under $125" - }, - { - "value": "under150", - "title": "Under $150" - }, - { - "value": "over150", - "title": "Over $150" - } - ] - }, - { - "icon": "question", - "title": "What language would you like to interact with the team?", - "description": "", - "fieldName": "details.resources.hourlyrate", - "type": "slide-radiogroup", - "options": [ - { - "value": "english", - "title": "English" - }, - { - "value": "spanish", - "title": "Spanish" - }, - { - "value": "german", - "title": "German" - }, - { - "value": "japanese", - "title": "Japanese" - }, - { - "value": "other", - "title": "Other" - } - ] - }, - { - "fieldName": "details.resources.tooling", - "description": "Please List all project tools you normally interact with", - "title": "Project Tools you utilize for interacting with developers", - "type": "textbox" - } - ] - }, - { - "id": "notes", - "fieldName": "details.appDefinition.notes", - "title": "Additional Notes", - "description": "Please detail any other additional information. After completing this form, you'll be able to add additional information about your code base", - "type": "notes" - } - ] - } - ], - "formTitle": "CaaS" - }, - "icon": "product-app-app", - "question": "", - "info": "CaaS", - "aliases": [ - "caas-intake", - "caas", - "caas_intake" - ], - "disabled": false, - "hidden": true - }, - { - "id": 6, - "name": "Website", - "key": "website_development", - "type": "website", - "phases": { - "products": [ - { - "productKey": "website_development", - "id": 6 - } - ] - }, - "scope": { - "sections": [ - { - "id": "appDefinition", - "title": "Website", - "required": true, - "description": "Please answer a few basic questions about your project and, as an option, add links to supporting documents in the “Notes” section. If you have any files to upload, you’ll be able to do so later.", - "subSections": [ - { - "id": "projectName", - "required": true, - "validationError": "Please provide a name for your project", - "fieldName": "name", - "description": "", - "title": "Project Name", - "type": "project-name" - }, - { - "id": "questions", - "required": true, - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "required": true, - "validationError": "Please let us know the target device", - "title": "Which is your primary device target?", - "description": "Select only the device that you need to develop for. In most cases limiting the scope of your project would result in better final result. Topcoder recommends to always start with the mobile phone view and expand to other devices as your app matures.", - "fieldName": "details.appDefinition.primaryTarget", - "type": "tiled-radio-group", - "options": [ - { - "value": "phone", - "title": "Phone", - "icon": "icon-tech-outline-mobile", - "iconOptions": { - "fill": "#00000" - }, - "desc": "iOS, Android, Hybrid" - }, - { - "value": "tablet", - "title": "Tablet", - "icon": "icon-tech-outline-tablet", - "iconOptions": { - "fill": "#00000" - }, - "desc": "iOS, Android, Hybrid" - }, - { - "value": "desktop", - "title": "Desktop", - "icon": "icon-tech-outline-desktop", - "iconOptions": { - "fill": "#00000" - }, - "desc": "all OS" - }, - { - "value": "wearable", - "title": "Wearable", - "icon": "icon-tech-outline-watch-apple", - "iconOptions": { - "fill": "#00000" - }, - "desc": "Watch OS, Android Wear" - } - ] - }, - { - "id": "projectInfo", - "validations": "isRequired,minLength:160", - "validationErrors": { - "isRequired": "Please provide a description", - "minLength": "Please enter at least 160 characters" - }, - "fieldName": "description", - "description": "Brief Description", - "title": "Description", - "type": "textbox" - }, - { - "icon": "question", - "required": true, - "validationError": "Please let us know the goal of your application", - "title": "What is the goal of your application? How will people use it?", - "description": "Describe your objectives for creating this application", - "type": "textbox", - "fieldName": "details.appDefinition.goal.value" - }, - { - "icon": "question", - "required": true, - "validationError": "Please let us know users of your application", - "title": "Who are the users of your application? ", - "description": "Describe the roles and needs of your target users", - "type": "textbox", - "fieldName": "details.appDefinition.users.value" - } - ] - }, - { - "id": "notes", - "fieldName": "details.appDefinition.notes", - "title": "Notes", - "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)", - "type": "notes" - } - ] - } - ] - }, - "icon": "product-website-website", - "question": "", - "info": "Build responsive or regular websites", - "aliases": [ - "website", - "website_development" - ], - "disabled": false, - "hidden": false - }, - { - "id": 7, - "name": "Watson Chatbot", - "key": "watson_chatbot", - "type": "chatbot", - "phases": { - "products": [ - { - "productKey": "watson_chatbot", - "id": 7 - } - ] - }, - "scope": { - "sections": [ - { - "id": "appDefinition", - "title": "Watson Chatbot", - "required": true, - "description": "Please answer a few basic questions about your project and, as an option, add links to supporting documents in the “Notes” section. If you have any files to upload, you’ll be able to do so later.", - "subSections": [ - { - "id": "projectName", - "required": true, - "validationError": "Please provide a name for your project", - "fieldName": "name", - "description": "", - "title": "Project Name", - "type": "project-name" - }, - { - "id": "questions", - "required": true, - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "id": "projectInfo", - "fieldName": "description", - "validations": "isRequired,minLength:160", - "validationErrors": { - "isRequired": "Please provide a description", - "minLength": "Please enter at least 160 characters" - }, - "description": "Brief Description", - "title": "Description", - "type": "textbox" - }, - { - "icon": "question", - "required": true, - "validationError": "Please complete this section", - "title": "Do you have an existing IBM Cloud (formerly IBM Bluemix) account?", - "description": "", - "type": "radio-group", - "fieldName": "details.appDefinition.hasBluemixAccount", - "options": [ - { - "value": "true", - "label": "Yes" - }, - { - "value": "false", - "label": "No" - } - ] - }, - { - "icon": "question", - "required": true, - "title": "Does your organization currently have a chatbot?", - "description": "", - "type": "radio-group", - "fieldName": "details.appDefinition.hasChatbot", - "options": [ - { - "value": "true", - "label": "Yes" - }, - { - "value": "false", - "label": "No" - } - ] - }, - { - "icon": "question", - "title": "If yes, can you provide some brief specifics about your current chatbot?", - "description": "", - "type": "textbox", - "fieldName": "details.appDefinition.existingChatbotDesc" - }, - { - "icon": "question", - "required": true, - "validationError": "Please complete this section", - "title": "What capabilities does the chatbot need to support?", - "description": "", - "type": "checkbox-group", - "fieldName": "details.appDefinition.capabilities", - "options": [ - { - "value": "order_management", - "label": "Order management" - }, - { - "value": "information", - "label": "Information" - }, - { - "value": "help", - "label": "Help" - }, - { - "value": "complaints", - "label": "Complaints" - }, - { - "value": "billing", - "label": "Billing" - }, - { - "value": "account_management", - "label": "Account management" - }, - { - "value": "custom", - "label": "Custom (please explain in the Notes)" - } - ] - }, - { - "icon": "question", - "required": true, - "validationError": "Please complete this section", - "title": "Will the chatbot need to access data from any systems to support the capabilities you listed above? If so, please list the systems below.", - "description": "", - "type": "textbox", - "fieldName": "details.appDefinition.integrationSystems" - }, - { - "icon": "question", - "required": true, - "validationError": "Please complete this section", - "title": "Do you have any example agent conversations you can provide? If so, please paste them or any links to documents below (you’ll be able to upload documents later).", - "description": "", - "type": "textbox", - "fieldName": "details.appDefinition.existingAgentScripts" - }, - { - "icon": "question", - "required": true, - "validationError": "Please complete this section", - "title": "Are you planning to transfer conversations to human agents? If so, please list the agents’ communication tools (e.g., Slack, LiveAgent, Intercom, etc.).", - "description": "", - "type": "textbox", - "fieldName": "details.appDefinition.transferToHumanAgents" - } - ] - }, - { - "id": "notes", - "fieldName": "details.appDefinition.notes", - "title": "Notes", - "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)", - "type": "notes" - } - ] - } - ], - "formTitle": "AI Chatbot with Watson", - "formDisclaimer": "IBM is receiving compensation from Topcoder for referring customers to Topcoder." - }, - "icon": "product-chatbot-watson", - "question": "", - "info": "Build Chatbot using IBM Watson", - "aliases": [ - "watson_chatbot", - "watson-chatbot" - ], - "disabled": false, - "hidden": true - }, - { - "id": 8, - "name": "Chatbot", - "key": "generic_chatbot", - "type": "chatbot", - "phases": { - "products": [ - { - "productKey": "generic_chatbot", - "id": 8 - } - ] - }, - "scope": { - "sections": [ - { - "id": "appDefinition", - "title": "Chatbot", - "required": true, - "description": "Please answer a few basic questions about your project and, as an option, add links to supporting documents in the “Notes” section. If you have any files to upload, you’ll be able to do so later.", - "subSections": [ - { - "id": "projectName", - "required": true, - "validationError": "Please provide a name for your project", - "fieldName": "name", - "description": "", - "title": "Project Name", - "type": "project-name" - }, - { - "id": "questions", - "required": true, - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "id": "projectInfo", - "fieldName": "description", - "validations": "isRequired,minLength:160", - "validationErrors": { - "isRequired": "Please provide a description", - "minLength": "Please enter at least 160 characters" - }, - "description": "Brief Description", - "title": "Description", - "type": "textbox" - }, - { - "icon": "question", - "required": true, - "validationError": "Please complete this section", - "title": "What capabilities does the chatbot need to support?", - "description": "", - "type": "checkbox-group", - "fieldName": "details.appDefinition.capabilities", - "options": [ - { - "value": "order_management", - "label": "Order management" - }, - { - "value": "information", - "label": "Information" - }, - { - "value": "help", - "label": "Help" - }, - { - "value": "complaints", - "label": "Complaints" - }, - { - "value": "billing", - "label": "Billing" - }, - { - "value": "account_management", - "label": "Account management" - }, - { - "value": "custom", - "label": "Custom (please explain in the Notes)" - } - ] - }, - { - "icon": "question", - "required": true, - "validationError": "Please complete this section", - "title": "Will the chatbot need to access data from any systems to support the capabilities you listed above? If so, please list the systems below.", - "description": "", - "type": "textbox", - "fieldName": "details.appDefinition.integrationSystems" - }, - { - "icon": "question", - "required": true, - "validationError": "Please complete this section", - "title": "Do you have any example agent conversations you can provide? If so, please paste them or any links to documents below (you’ll be able to upload documents later).", - "description": "", - "type": "textbox", - "fieldName": "details.appDefinition.existingAgentScripts" - }, - { - "icon": "question", - "required": true, - "validationError": "Please complete this section", - "title": "Are you planning to transfer conversations to human agents? If so, please list the agents’ communication tools (e.g., Slack, LiveAgent, Intercom, etc.).", - "description": "", - "type": "textbox", - "fieldName": "details.appDefinition.transferToHumanAgents" - } - ] - }, - { - "id": "notes", - "fieldName": "details.appDefinition.notes", - "title": "Notes", - "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)", - "type": "notes" - } - ] - } - ] - }, - "icon": "product-chatbot-chatbot", - "question": "", - "info": "Build, train and test a custom conversation for your chat bot", - "aliases": [ - "chatbot", - "generic_chatbot" - ], - "disabled": false, - "hidden": false - }, - { - "id": 9, - "name": "Computer Vision", - "key": "computer_vision", - "type": "chatbot", - "phases": { - "products": [ - { - "productKey": "computer_vision", - "id": 9 - } - ] - }, - "scope": { - "sections": [ - { - "id": "appDefinition", - "title": "Computer Vision", - "required": true, - "description": "Please answer a few basic questions about your project and, as an option, add links to supporting documents in the “Notes” section. If you have any files to upload, you’ll be able to do so later.", - "subSections": [ - { - "id": "projectName", - "required": true, - "validationError": "Please provide a name to your project", - "fieldName": "name", - "description": "", - "title": "Project Name", - "type": "project-name" - }, - { - "id": "questions", - "required": true, - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "id": "projectInfo", - "fieldName": "description", - "validations": "isRequired,minLength:160", - "validationErrors": { - "isRequired": "Please provide your objectives", - "minLength": "Please enter at least 160 characters" - }, - "description": "Brief Description of your objectives", - "title": "Objectives", - "type": "textbox" - }, - { - "icon": "question", - "title": "Do you have ground truth defined?", - "description": "", - "fieldName": "details.vision.groundtruth", - "type": "radio-group", - "options": [ - { - "value": "true", - "label": "Yes" - }, - { - "value": "false", - "label": "No" - } - ], - "required": true, - "validationError": "Please select one" - }, - { - "icon": "question", - "title": "Describe your ground truth?", - "description": "(if applicable)", - "type": "textbox", - "fieldName": "details.vision.groundtruthDesc", - "required": true, - "validationError": "Please tell us about your ground truth" - }, - { - "icon": "question", - "title": "Describe your data set", - "description": "(if applicable)", - "type": "textbox", - "fieldName": "details.vision.dataDesc", - "required": true, - "validationError": "Please tell us about your data set" - }, - { - "icon": "question", - "title": "Approximately how large is your data set in MB, GB, TB?", - "description": "", - "type": "textbox", - "fieldName": "details.vision.datasetSize", - "required": true, - "validationError": "Please tell us the size of your data set" - }, - { - "icon": "question", - "title": "Approximately how many images are in your data set?", - "description": "", - "type": "textbox", - "fieldName": "details.vision.imageSet", - "required": true, - "validationError": "Please tell us roughly the number of images in your set" - } - ] - }, - { - "id": "notes", - "fieldName": "details.appDefinition.notes", - "title": "Additional Notes", - "description": "Please detail any other additional information", - "type": "notes" - } - ] - } - ] - }, - "icon": "product-qa-crowd-testing", - "question": "", - "info": "Work with images to recognize patterns, compute correspondences, etc", - "aliases": [ - "computer-vision", - "computer_vision" - ], - "disabled": false, - "hidden": true - }, - { - "id": 10, - "name": "Data Exploration", - "key": "data_exploration", - "type": "chatbot", - "phases": { - "products": [ - { - "productKey": "data_exploration", - "id": 10 - } - ] - }, - "scope": { - "sections": [ - { - "id": "appDefinition", - "title": "Data Exploration", - "required": true, - "description": "Please answer a few basic questions about your project and, as an option, add links to supporting documents in the “Notes” section. If you have any files to upload, you’ll be able to do so later.", - "subSections": [ - { - "id": "projectName", - "required": true, - "validationError": "Please provide a name to your project", - "fieldName": "name", - "description": "", - "title": "Project Name", - "type": "project-name" - }, - { - "id": "questions", - "required": true, - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "id": "projectInfo", - "fieldName": "description", - "validations": "isRequired,minLength:160", - "validationErrors": { - "isRequired": "Please provide an overview of your project", - "minLength": "Please enter at least 160 characters" - }, - "description": "Brief provide an overview of your project", - "title": "Objectives", - "type": "textbox" - }, - { - "icon": "question", - "title": "Describe what you would like to learn or accomplish with this data?", - "description": "", - "type": "textbox", - "fieldName": "details.data.learnings" - }, - { - "icon": "question", - "title": "Describe your data set", - "description": "", - "type": "textbox", - "fieldName": "details.vision.dataDesc", - "required": true, - "validationError": "Please tell us about your data set" - }, - { - "icon": "question", - "title": "Approximately how many records are in your data set?", - "description": "", - "type": "textbox", - "fieldName": "details.data.records", - "required": true, - "validationError": "Please tell us roughly the number of records in your set" - }, - { - "icon": "question", - "title": "Approximately how large is your data set in MB, GB, TB?", - "description": "", - "type": "textbox", - "fieldName": "details.vision.datasetSize", - "required": true, - "validationError": "Please tell us the size of your data set" - }, - { - "icon": "question", - "title": "Does your data need to be obfuscated?", - "description": "(if applicable)", - "fieldName": "details.data.obfuscation", - "type": "radio-group", - "options": [ - { - "value": "true", - "label": "Yes" - }, - { - "value": "false", - "label": "No" - } - ], - "required": true, - "validationError": "Please select one" - } - ] - }, - { - "id": "notes", - "fieldName": "details.appDefinition.notes", - "title": "Additional Notes", - "description": "Please detail any other additional information", - "type": "notes" - } - ] - } - ] - }, - "icon": "product-qa-crowd-testing", - "question": "", - "info": "Ask a crowd of experts to look at your data, understand your goals, and suggest solutions", - "aliases": [ - "data-exploration", - "data_exploration" - ], - "disabled": false, - "hidden": true - }, - { - "id": 11, - "name": "Wireframes", - "key": "wireframes", - "type": "visual_design", - "phases": { - "products": [ - { - "productKey": "wireframes", - "id": 11 - } - ] - }, - "scope": { - "sections": [ - { - "id": "appDefinition", - "title": "Wireframes", - "productName": "Wireframes", - "required": true, - "description": "Please answer a few basic questions about your project and, as an option, add links to supporting documents in the “Notes” section. If you have any files to upload, you’ll be able to do so later.", - "subSections": [ - { - "id": "projectName", - "required": true, - "validationError": "Please provide a name for your project", - "fieldName": "name", - "description": "", - "title": "Project Name", - "type": "project-name" - }, - { - "id": "questions", - "required": true, - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "required": true, - "validationError": "Please let us know the number of screens required", - "title": "How many screens do you need designed?", - "description": "This is the most popular project size that can get a medium-sized app designed in a breeze", - "fieldName": "details.appDefinition.numberScreens", - "type": "tiled-radio-group", - "options": [ - { - "value": "10", - "title": "screens", - "icon": "NumberText", - "iconOptions": { - "number": "10" - }, - "desc": "7-10 days", - "price": 5000 - }, - { - "value": "15", - "title": "screens", - "icon": "NumberText", - "iconOptions": { - "number": "15" - }, - "desc": "10-12 days", - "price": 7000 - } - ] - }, - { - "icon": "question", - "required": true, - "validationError": "Please let us know the target device", - "title": "Which is your primary device target?", - "description": "Select only the device that you need to develop for. In most cases limiting the scope of your project would result in better final result. Topcoder recommends to always start with the mobile phone view and expand to other devices as your app matures.", - "fieldName": "details.appDefinition.primaryTarget", - "type": "tiled-radio-group", - "options": [ - { - "value": "Phone", - "title": "Phone", - "icon": "icon-tech-outline-mobile", - "iconOptions": { - "fill": "#00000" - }, - "desc": "iOS, Android, Hybrid" - }, - { - "value": "Tablet", - "title": "Tablet", - "icon": "icon-tech-outline-tablet", - "iconOptions": { - "fill": "#00000" - }, - "desc": "iOS, Android, Hybrid" - }, - { - "value": "Desktop", - "title": "Desktop", - "icon": "icon-tech-outline-desktop", - "iconOptions": { - "fill": "#00000" - }, - "desc": "all OS" - }, - { - "value": "Wearable", - "title": "Wearable", - "icon": "icon-tech-outline-watch-apple", - "iconOptions": { - "fill": "#00000" - }, - "desc": "Watch OS, Android Wear" - } - ] - }, - { - "icon": "question", - "validations": "isRequired,minLength:160", - "validationErrors": { - "isRequired": "Please provide a description", - "minLength": "Please enter at least 160 characters" - }, - "id": "projectInfo", - "fieldName": "description", - "description": "Brief Description", - "title": "Description", - "type": "textbox" - }, - { - "icon": "question", - "required": true, - "validationError": "Please let us know the goal of your application", - "title": "What is the goal of your application? How will people use it?", - "description": "Describe your objectives for creating this application", - "type": "textbox", - "fieldName": "details.appDefinition.goal.value" - }, - { - "icon": "question", - "required": true, - "validationError": "Please let us know users of your application", - "title": "Who are the users of your application? ", - "description": "Describe the roles and needs of your target users", - "type": "textbox", - "fieldName": "details.appDefinition.users.value" - } - ] - }, - { - "id": "notes", - "fieldName": "details.appDefinition.notes", - "title": "Notes", - "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)", - "type": "notes" - } - ] - } - ] - }, - "icon": "product-design-wireframes", - "question": "", - "info": "Plan and explore the navigation and structure of your app", - "aliases": [ - "wireframes" - ], - "disabled": false, - "hidden": false - }, - { - "id": 12, - "name": "App Visual Design - Concepts", - "key": "visual_design_concepts", - "type": "visual_design", - "phases": { - "products": [ - { - "productKey": "visual_design_concepts", - "id": 12 - } - ] - }, - "scope": { - "sections": [ - { - "id": "appDefinition", - "title": "Infographic", - "required": true, - "description": "Please answer a few basic questions about your project and, as an option, add links to supporting documents in the “Notes” section. If you have any files to upload, you’ll be able to do so later.", - "subSections": [ - { - "id": "projectName", - "required": true, - "validationError": "Please provide a name for your project", - "fieldName": "name", - "description": "", - "title": "Project Name", - "type": "project-name" - }, - { - "id": "questions", - "required": true, - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "required": true, - "validationError": "Please let us know the number of screens required", - "title": "How many screens do you need designed?", - "description": "This is the most popular project size that can get a medium-sized app designed in a breeze", - "fieldName": "details.appDefinition.numberScreens", - "type": "tiled-radio-group", - "options": [ - { - "value": "1-3", - "title": "screens", - "icon": "NumberText", - "iconOptions": { - "number": "1-3" - }, - "desc": "5-7 days", - "price": 5000 - }, - { - "value": "4-8", - "title": "screens", - "icon": "NumberText", - "iconOptions": { - "number": "4-8" - }, - "desc": "7-10 days", - "price": 7000 - }, - { - "value": "9-15", - "title": "screens", - "icon": "NumberText", - "iconOptions": { - "number": "9-15" - }, - "desc": "8-10 days", - "price": 8500 - } - ] - }, - { - "icon": "question", - "required": true, - "validationError": "Please let us know the target device", - "title": "Which is your primary device target?", - "description": "Select only the device that you need to develop for. In most cases limiting the scope of your project would result in better final result. Topcoder recommends to always start with the mobile phone view and expand to other devices as your app matures.", - "fieldName": "details.appDefinition.primaryTarget", - "type": "tiled-radio-group", - "options": [ - { - "value": "Phone", - "title": "Phone", - "icon": "icon-tech-outline-mobile", - "iconOptions": { - "fill": "#00000" - }, - "desc": "iOS, Android, Hybrid" - }, - { - "value": "Tablet", - "title": "Tablet", - "icon": "icon-tech-outline-tablet", - "iconOptions": { - "fill": "#00000" - }, - "desc": "iOS, Android, Hybrid" - }, - { - "value": "Desktop", - "title": "Desktop", - "icon": "icon-tech-outline-desktop", - "iconOptions": { - "fill": "#00000" - }, - "desc": "all OS" - }, - { - "value": "Wearable", - "title": "Wearable", - "icon": "icon-tech-outline-watch-apple", - "iconOptions": { - "fill": "#00000" - }, - "desc": "Watch OS, Android Wear" - } - ] - }, - { - "icon": "question", - "validations": "isRequired,minLength:160", - "validationErrors": { - "isRequired": "Please provide a description", - "minLength": "Please enter at least 160 characters" - }, - "id": "projectInfo", - "fieldName": "description", - "description": "Brief Description", - "title": "Description", - "type": "textbox" - }, - { - "icon": "question", - "required": true, - "validationError": "Please let us know the goal of your application", - "title": "What is the goal of your application? How will people use it?", - "description": "Describe your objectives for creating this application", - "type": "textbox", - "fieldName": "details.appDefinition.goal.value" - }, - { - "icon": "question", - "required": true, - "validationError": "Please let us know users of your application", - "title": "Who are the users of your application? ", - "description": "Describe the roles and needs of your target users", - "type": "textbox", - "fieldName": "details.appDefinition.users.value" - } - ] - }, - { - "id": "notes", - "fieldName": "details.appDefinition.notes", - "title": "Notes", - "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)", - "type": "notes" - } - ] - } - ] - }, - "icon": "product-design-app-visual", - "question": "", - "info": "Visualize and test your app requirements and ideas", - "aliases": [ - "visual_design_concepts" - ], - "disabled": true, - "hidden": false - }, - { - "id": 13, - "name": "Visual Design", - "key": "visual_design_prod", - "type": "visual_design", - "phases": { - "products": [ - { - "productKey": "visual_design_prod", - "id": 13 - } - ] - }, - "scope": { - "sections": [ - { - "id": "appDefinition", - "title": "Infographic", - "required": true, - "description": "Please answer a few basic questions about your project and, as an option, add links to supporting documents in the “Notes” section. If you have any files to upload, you’ll be able to do so later.", - "subSections": [ - { - "id": "projectName", - "required": true, - "validationError": "Please provide a name for your project", - "fieldName": "name", - "description": "", - "title": "Project Name", - "type": "project-name" - }, - { - "id": "questions", - "required": true, - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "required": true, - "validationError": "Please let us know the number of screens required", - "title": "How many screens do you need designed?", - "description": "This is the most popular project size that can get a medium-sized app designed in a breeze", - "fieldName": "details.appDefinition.numberScreens", - "type": "tiled-radio-group", - "options": [ - { - "value": "1-3", - "title": "screens", - "icon": "NumberText", - "iconOptions": { - "number": "1-3" - }, - "desc": "5-7 days", - "price": 5000 - }, - { - "value": "4-8", - "title": "screens", - "icon": "NumberText", - "iconOptions": { - "number": "4-8" - }, - "desc": "7-10 days", - "price": 7000 - }, - { - "value": "9-15", - "title": "screens", - "icon": "NumberText", - "iconOptions": { - "number": "9-15" - }, - "desc": "8-10 days", - "price": 8500 - } - ] - }, - { - "icon": "question", - "required": true, - "validationError": "Please let us know the target device", - "title": "Which is your primary device target?", - "description": "Select only the device that you need to develop for. In most cases limiting the scope of your project would result in better final result. Topcoder recommends to always start with the mobile phone view and expand to other devices as your app matures.", - "fieldName": "details.appDefinition.primaryTarget", - "type": "tiled-radio-group", - "options": [ - { - "value": "Phone", - "title": "Phone", - "icon": "icon-tech-outline-mobile", - "iconOptions": { - "fill": "#00000" - }, - "desc": "iOS, Android, Hybrid" - }, - { - "value": "Tablet", - "title": "Tablet", - "icon": "icon-tech-outline-tablet", - "iconOptions": { - "fill": "#00000" - }, - "desc": "iOS, Android, Hybrid" - }, - { - "value": "Desktop", - "title": "Desktop", - "icon": "icon-tech-outline-desktop", - "iconOptions": { - "fill": "#00000" - }, - "desc": "all OS" - }, - { - "value": "Wearable", - "title": "Wearable", - "icon": "icon-tech-outline-watch-apple", - "iconOptions": { - "fill": "#00000" - }, - "desc": "Watch OS, Android Wear" - } - ] - }, - { - "icon": "question", - "validations": "isRequired,minLength:160", - "validationErrors": { - "isRequired": "Please provide a description", - "minLength": "Please enter at least 160 characters" - }, - "id": "projectInfo", - "fieldName": "description", - "description": "Brief Description", - "title": "Description", - "type": "textbox" - }, - { - "icon": "question", - "required": true, - "validationError": "Please let us know the goal of your application", - "title": "What is the goal of your application? How will people use it?", - "description": "Describe your objectives for creating this application", - "type": "textbox", - "fieldName": "details.appDefinition.goal.value" - }, - { - "icon": "question", - "required": true, - "validationError": "Please let us know users of your application", - "title": "Who are the users of your application? ", - "description": "Describe the roles and needs of your target users", - "type": "textbox", - "fieldName": "details.appDefinition.users.value" - } - ] - }, - { - "id": "notes", - "fieldName": "details.appDefinition.notes", - "title": "Notes", - "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)", - "type": "notes" - } - ] - } - ] - }, - "icon": "product-design-app-visual", - "question": "", - "info": "Create development-ready designs", - "aliases": [ - "visual-design", - "visual_design_prod" - ], - "disabled": false, - "hidden": false - }, - { - "id": 14, - "name": "Infographic", - "key": "infographic", - "type": "visual_design", - "phases": { - "products": [ - { - "productKey": "infographic", - "id": 14 - } - ] - }, - "scope": { - "sections": [ - { - "id": "appDefinition", - "title": "Infographic", - "required": true, - "description": "Please answer a few basic questions about your project and, as an option, add links to supporting documents in the “Notes” section. If you have any files to upload, you’ll be able to do so later.", - "subSections": [ - { - "id": "projectName", - "required": true, - "validationError": "Please provide a name for your project", - "fieldName": "name", - "description": "", - "title": "Project Name", - "type": "project-name" - }, - { - "id": "questions", - "required": true, - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "required": true, - "validationError": "Please let us know the number of screens required", - "title": "How many screens do you need designed?", - "description": "This is the most popular project size that can get a medium-sized app designed in a breeze", - "fieldName": "details.appDefinition.numberScreens", - "type": "tiled-radio-group", - "options": [ - { - "value": "1-3", - "title": "screens", - "icon": "NumberText", - "iconOptions": { - "number": "1-3" - }, - "desc": "5-7 days", - "price": 5000 - }, - { - "value": "4-8", - "title": "screens", - "icon": "NumberText", - "iconOptions": { - "number": "4-8" - }, - "desc": "7-10 days", - "price": 7000 - }, - { - "value": "9-15", - "title": "screens", - "icon": "NumberText", - "iconOptions": { - "number": "9-15" - }, - "desc": "8-10 days", - "price": 8500 - } - ] - }, - { - "icon": "question", - "required": true, - "validationError": "Please let us know the target device", - "title": "Which is your primary device target?", - "description": "Select only the device that you need to develop for. In most cases limiting the scope of your project would result in better final result. Topcoder recommends to always start with the mobile phone view and expand to other devices as your app matures.", - "fieldName": "details.appDefinition.primaryTarget", - "type": "tiled-radio-group", - "options": [ - { - "value": "Phone", - "title": "Phone", - "icon": "icon-tech-outline-mobile", - "iconOptions": { - "fill": "#00000" - }, - "desc": "iOS, Android, Hybrid" - }, - { - "value": "Tablet", - "title": "Tablet", - "icon": "icon-tech-outline-tablet", - "iconOptions": { - "fill": "#00000" - }, - "desc": "iOS, Android, Hybrid" - }, - { - "value": "Desktop", - "title": "Desktop", - "icon": "icon-tech-outline-desktop", - "iconOptions": { - "fill": "#00000" - }, - "desc": "all OS" - }, - { - "value": "Wearable", - "title": "Wearable", - "icon": "icon-tech-outline-watch-apple", - "iconOptions": { - "fill": "#00000" - }, - "desc": "Watch OS, Android Wear" - } - ] - }, - { - "icon": "question", - "validations": "isRequired,minLength:160", - "validationErrors": { - "isRequired": "Please provide a description", - "minLength": "Please enter at least 160 characters" - }, - "id": "projectInfo", - "fieldName": "description", - "description": "Brief Description", - "title": "Description", - "type": "textbox" - }, - { - "icon": "question", - "required": true, - "validationError": "Please let us know the goal of your application", - "title": "What is the goal of your application? How will people use it?", - "description": "Describe your objectives for creating this application", - "type": "textbox", - "fieldName": "details.appDefinition.goal.value" - }, - { - "icon": "question", - "required": true, - "validationError": "Please let us know users of your application", - "title": "Who are the users of your application? ", - "description": "Describe the roles and needs of your target users", - "type": "textbox", - "fieldName": "details.appDefinition.users.value" - } - ] - }, - { - "id": "notes", - "fieldName": "details.appDefinition.notes", - "title": "Notes", - "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)", - "type": "notes" - } - ] - } - ] - }, - "icon": "product-design-infographic", - "question": "", - "info": "Present your data in an easy-to-understand and interesting way", - "aliases": [ - "infographic" - ], - "disabled": true, - "hidden": false - }, - { - "id": 15, - "name": "Other Design", - "key": "generic_design", - "type": "visual_design", - "phases": { - "products": [ - { - "productKey": "generic_design", - "id": 15 - } - ] - }, - "scope": { - "sections": [ - { - "id": "appDefinition", - "title": "Other Design", - "required": true, - "description": "Please answer a few basic questions about your project and, as an option, add links to supporting documents in the “Notes” section. If you have any files to upload, you’ll be able to do so later.", - "subSections": [ - { - "id": "projectName", - "required": true, - "validationError": "Please provide a name for your project", - "fieldName": "name", - "description": "", - "title": "Project Name", - "type": "project-name" - }, - { - "id": "questions", - "required": true, - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "required": true, - "validationError": "Please provide a description", - "id": "projectInfo", - "fieldName": "description", - "description": "Brief Description", - "title": "Description", - "type": "textbox" - }, - { - "icon": "question", - "required": true, - "validationError": "Please let us know the goal of your application", - "title": "What is the goal of your application? How will people use it?", - "description": "Describe your objectives for creating this application", - "type": "textbox", - "fieldName": "details.appDefinition.goal.value" - }, - { - "icon": "question", - "required": true, - "validationError": "Please let us know users of your application", - "title": "Who are the users of your application? ", - "description": "Describe the roles and needs of your target users", - "type": "textbox", - "fieldName": "details.appDefinition.users.value" - } - ] - }, - { - "id": "notes", - "fieldName": "details.appDefinition.notes", - "title": "Notes", - "description": "Add any other important information regarding your project (e.g., links to documents or existing applications, budget or timing constraints)", - "type": "notes" - } - ] - } - ] - }, - "icon": "product-design-other", - "question": "", - "info": "Get help with other types of design", - "aliases": [ - "generic-design", - "generic_design" - ], - "disabled": false, - "hidden": false - }, - { - "id": 16, - "name": "Front-end Prototype", - "key": "visual_prototype", - "type": "app_dev", - "phases": { - "products": [ - { - "productKey": "visual_prototype", - "id": 16 - } - ] - }, - "scope": { - "sections": [ - { - "id": "appDefinition", - "title": "Development Integration", - "required": true, - "description": "Please answer a few basic questions about your project and, as an option, add links to supporting documents in the “Notes” section. If you have any files to upload, you’ll be able to do so later.", - "subSections": [ - { - "id": "projectName", - "required": true, - "validationError": "Please provide a name for your project", - "fieldName": "name", - "description": "", - "title": "Project Name", - "type": "project-name" - }, - { - "id": "questions", - "required": true, - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "required": true, - "validationError": "Please let us know the target device", - "title": "Which is your primary device target?", - "description": "Select only the device that you need to develop for. In most cases limiting the scope of your project would result in better final result. Topcoder recommends to always start with the mobile phone view and expand to other devices as your app matures.", - "fieldName": "details.appDefinition.primaryTarget", - "type": "tiled-radio-group", - "options": [ - { - "value": "phone", - "title": "Phone", - "icon": "icon-tech-outline-mobile", - "iconOptions": { - "fill": "#00000" - }, - "desc": "iOS, Android, Hybrid" - }, - { - "value": "tablet", - "title": "Tablet", - "icon": "icon-tech-outline-tablet", - "iconOptions": { - "fill": "#00000" - }, - "desc": "iOS, Android, Hybrid" - }, - { - "value": "desktop", - "title": "Desktop", - "icon": "icon-tech-outline-desktop", - "iconOptions": { - "fill": "#00000" - }, - "desc": "all OS" - }, - { - "value": "wearable", - "title": "Wearable", - "icon": "icon-tech-outline-watch-apple", - "iconOptions": { - "fill": "#00000" - }, - "desc": "Watch OS, Android Wear" - } - ] - }, - { - "id": "projectInfo", - "validations": "isRequired,minLength:160", - "validationErrors": { - "isRequired": "Please provide a description", - "minLength": "Please enter at least 160 characters" - }, - "fieldName": "description", - "description": "Brief Description", - "title": "Description", - "type": "textbox" - }, - { - "icon": "question", - "required": true, - "validationError": "Please let us know the goal of your application", - "title": "What is the goal of your application? How will people use it?", - "description": "Describe your objectives for creating this application", - "type": "textbox", - "fieldName": "details.appDefinition.goal.value" - }, - { - "icon": "question", - "required": true, - "validationError": "Please let us know users of your application", - "title": "Who are the users of your application? ", - "description": "Describe the roles and needs of your target users", - "type": "textbox", - "fieldName": "details.appDefinition.users.value" - } - ] - }, - { - "id": "notes", - "fieldName": "details.appDefinition.notes", - "title": "Notes", - "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)", - "type": "notes" - } - ] - } - ] - }, - "icon": "product-dev-prototype", - "question": "", - "info": "Translate designs to a web (HTML/CSS/JavaScript) or mobile prototype", - "aliases": [ - "visual-prototype", - "visual_prototype" - ], - "disabled": true, - "hidden": false - }, - { - "id": 17, - "name": "Front-end", - "key": "frontend_dev", - "type": "app_dev", - "phases": { - "products": [ - { - "productKey": "frontend_dev", - "id": 17 - } - ] - }, - "scope": { - "sections": [ - { - "id": "appDefinition", - "title": "Development Integration", - "required": true, - "description": "Please answer a few basic questions about your project and, as an option, add links to supporting documents in the “Notes” section. If you have any files to upload, you’ll be able to do so later.", - "subSections": [ - { - "id": "projectName", - "required": true, - "validationError": "Please provide a name for your project", - "fieldName": "name", - "description": "", - "title": "Project Name", - "type": "project-name" - }, - { - "id": "questions", - "required": true, - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "required": true, - "validationError": "Please let us know the target device", - "title": "Which is your primary device target?", - "description": "Select only the device that you need to develop for. In most cases limiting the scope of your project would result in better final result. Topcoder recommends to always start with the mobile phone view and expand to other devices as your app matures.", - "fieldName": "details.appDefinition.primaryTarget", - "type": "tiled-radio-group", - "options": [ - { - "value": "phone", - "title": "Phone", - "icon": "icon-tech-outline-mobile", - "iconOptions": { - "fill": "#00000" - }, - "desc": "iOS, Android, Hybrid" - }, - { - "value": "tablet", - "title": "Tablet", - "icon": "icon-tech-outline-tablet", - "iconOptions": { - "fill": "#00000" - }, - "desc": "iOS, Android, Hybrid" - }, - { - "value": "desktop", - "title": "Desktop", - "icon": "icon-tech-outline-desktop", - "iconOptions": { - "fill": "#00000" - }, - "desc": "all OS" - }, - { - "value": "wearable", - "title": "Wearable", - "icon": "icon-tech-outline-watch-apple", - "iconOptions": { - "fill": "#00000" - }, - "desc": "Watch OS, Android Wear" - } - ] - }, - { - "id": "projectInfo", - "validations": "isRequired,minLength:160", - "validationErrors": { - "isRequired": "Please provide a description", - "minLength": "Please enter at least 160 characters" - }, - "fieldName": "description", - "description": "Brief Description", - "title": "Description", - "type": "textbox" - }, - { - "icon": "question", - "required": true, - "validationError": "Please let us know the goal of your application", - "title": "What is the goal of your application? How will people use it?", - "description": "Describe your objectives for creating this application", - "type": "textbox", - "fieldName": "details.appDefinition.goal.value" - }, - { - "icon": "question", - "required": true, - "validationError": "Please let us know users of your application", - "title": "Who are the users of your application? ", - "description": "Describe the roles and needs of your target users", - "type": "textbox", - "fieldName": "details.appDefinition.users.value" - } - ] - }, - { - "id": "notes", - "fieldName": "details.appDefinition.notes", - "title": "Notes", - "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)", - "type": "notes" - } - ] - } - ] - }, - "icon": "product-dev-front-end-dev", - "question": "", - "info": "Translate your designs into Web or Mobile front-end", - "aliases": [ - "frontend-development", - "frontend_dev" - ], - "disabled": false, - "hidden": false - }, - { - "id": 18, - "name": "Back-end & API", - "key": "api_dev", - "type": "app_dev", - "phases": { - "products": [ - { - "productKey": "api_dev", - "id": 18 - } - ] - }, - "scope": { - "sections": [ - { - "id": "appDefinition", - "title": "Development Integration", - "required": true, - "description": "Please answer a few basic questions about your project and, as an option, add links to supporting documents in the “Notes” section. If you have any files to upload, you’ll be able to do so later.", - "subSections": [ - { - "id": "projectName", - "required": true, - "validationError": "Please provide a name for your project", - "fieldName": "name", - "description": "", - "title": "Project Name", - "type": "project-name" - }, - { - "id": "questions", - "required": true, - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "required": true, - "validationError": "Please let us know the target device", - "title": "Which is your primary device target?", - "description": "Select only the device that you need to develop for. In most cases limiting the scope of your project would result in better final result. Topcoder recommends to always start with the mobile phone view and expand to other devices as your app matures.", - "fieldName": "details.appDefinition.primaryTarget", - "type": "tiled-radio-group", - "options": [ - { - "value": "phone", - "title": "Phone", - "icon": "icon-tech-outline-mobile", - "iconOptions": { - "fill": "#00000" - }, - "desc": "iOS, Android, Hybrid" - }, - { - "value": "tablet", - "title": "Tablet", - "icon": "icon-tech-outline-tablet", - "iconOptions": { - "fill": "#00000" - }, - "desc": "iOS, Android, Hybrid" - }, - { - "value": "desktop", - "title": "Desktop", - "icon": "icon-tech-outline-desktop", - "iconOptions": { - "fill": "#00000" - }, - "desc": "all OS" - }, - { - "value": "wearable", - "title": "Wearable", - "icon": "icon-tech-outline-watch-apple", - "iconOptions": { - "fill": "#00000" - }, - "desc": "Watch OS, Android Wear" - } - ] - }, - { - "id": "projectInfo", - "validations": "isRequired,minLength:160", - "validationErrors": { - "isRequired": "Please provide a description", - "minLength": "Please enter at least 160 characters" - }, - "fieldName": "description", - "description": "Brief Description", - "title": "Description", - "type": "textbox" - }, - { - "icon": "question", - "required": true, - "validationError": "Please let us know the goal of your application", - "title": "What is the goal of your application? How will people use it?", - "description": "Describe your objectives for creating this application", - "type": "textbox", - "fieldName": "details.appDefinition.goal.value" - }, - { - "icon": "question", - "required": true, - "validationError": "Please let us know users of your application", - "title": "Who are the users of your application? ", - "description": "Describe the roles and needs of your target users", - "type": "textbox", - "fieldName": "details.appDefinition.users.value" - } - ] - }, - { - "id": "notes", - "fieldName": "details.appDefinition.notes", - "title": "Notes", - "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)", - "type": "notes" - } - ] - } - ] - }, - "icon": "product-dev-integration", - "question": "", - "info": "Build the server, DB, and API for your app", - "aliases": [ - "api-development", - "api_dev" - ], - "disabled": false, - "hidden": false - }, - { - "id": 19, - "name": "Development Integration", - "key": "generic_dev", - "type": "app_dev", - "phases": { - "products": [ - { - "productKey": "generic_dev", - "id": 19 - } - ] - }, - "scope": { - "sections": [ - { - "id": "appDefinition", - "title": "Development Integration", - "required": true, - "description": "Please answer a few basic questions about your project and, as an option, add links to supporting documents in the “Notes” section. If you have any files to upload, you’ll be able to do so later.", - "subSections": [ - { - "id": "projectName", - "required": true, - "validationError": "Please provide a name for your project", - "fieldName": "name", - "description": "", - "title": "Project Name", - "type": "project-name" - }, - { - "id": "questions", - "required": true, - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "required": true, - "validationError": "Please let us know the target device", - "title": "Which is your primary device target?", - "description": "Select only the device that you need to develop for. In most cases limiting the scope of your project would result in better final result. Topcoder recommends to always start with the mobile phone view and expand to other devices as your app matures.", - "fieldName": "details.appDefinition.primaryTarget", - "type": "tiled-radio-group", - "options": [ - { - "value": "phone", - "title": "Phone", - "icon": "icon-tech-outline-mobile", - "iconOptions": { - "fill": "#00000" - }, - "desc": "iOS, Android, Hybrid" - }, - { - "value": "tablet", - "title": "Tablet", - "icon": "icon-tech-outline-tablet", - "iconOptions": { - "fill": "#00000" - }, - "desc": "iOS, Android, Hybrid" - }, - { - "value": "desktop", - "title": "Desktop", - "icon": "icon-tech-outline-desktop", - "iconOptions": { - "fill": "#00000" - }, - "desc": "all OS" - }, - { - "value": "wearable", - "title": "Wearable", - "icon": "icon-tech-outline-watch-apple", - "iconOptions": { - "fill": "#00000" - }, - "desc": "Watch OS, Android Wear" - } - ] - }, - { - "id": "projectInfo", - "validations": "isRequired,minLength:160", - "validationErrors": { - "isRequired": "Please provide a description", - "minLength": "Please enter at least 160 characters" - }, - "fieldName": "description", - "description": "Brief Description", - "title": "Description", - "type": "textbox" - }, - { - "icon": "question", - "required": true, - "validationError": "Please let us know the goal of your application", - "title": "What is the goal of your application? How will people use it?", - "description": "Describe your objectives for creating this application", - "type": "textbox", - "fieldName": "details.appDefinition.goal.value" - }, - { - "icon": "question", - "required": true, - "validationError": "Please let us know users of your application", - "title": "Who are the users of your application? ", - "description": "Describe the roles and needs of your target users", - "type": "textbox", - "fieldName": "details.appDefinition.users.value" - } - ] - }, - { - "id": "notes", - "fieldName": "details.appDefinition.notes", - "title": "Notes", - "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)", - "type": "notes" - } - ] - } - ] - }, - "icon": "product-dev-other", - "question": "", - "info": "Get help with any part of your app or software", - "aliases": [ - "generic-development", - "generic_dev" - ], - "disabled": false, - "hidden": false - }, - { - "id": 20, - "name": "Computer Vision", - "key": "computer_vision", - "type": "analytics", - "phases": { - "products": [ - { - "productKey": "computer_vision", - "id": 20 - } - ] - }, - "scope": { - "sections": [ - { - "id": "appDefinition", - "title": "Computer Vision", - "required": true, - "description": "Please answer a few basic questions about your project and, as an option, add links to supporting documents in the “Notes” section. If you have any files to upload, you’ll be able to do so later.", - "subSections": [ - { - "id": "projectName", - "required": true, - "validationError": "Please provide a name to your project", - "fieldName": "name", - "description": "", - "title": "Project Name", - "type": "project-name" - }, - { - "id": "questions", - "required": true, - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "id": "projectInfo", - "fieldName": "description", - "validations": "isRequired,minLength:160", - "validationErrors": { - "isRequired": "Please provide your objectives", - "minLength": "Please enter at least 160 characters" - }, - "description": "Brief Description of your objectives", - "title": "Objectives", - "type": "textbox" - }, - { - "icon": "question", - "title": "Do you have ground truth defined?", - "description": "", - "fieldName": "details.vision.groundtruth", - "type": "radio-group", - "options": [ - { - "value": "true", - "label": "Yes" - }, - { - "value": "false", - "label": "No" - } - ], - "required": true, - "validationError": "Please select one" - }, - { - "icon": "question", - "title": "Describe your ground truth?", - "description": "(if applicable)", - "type": "textbox", - "fieldName": "details.vision.groundtruthDesc", - "required": true, - "validationError": "Please tell us about your ground truth" - }, - { - "icon": "question", - "title": "Describe your data set", - "description": "(if applicable)", - "type": "textbox", - "fieldName": "details.vision.dataDesc", - "required": true, - "validationError": "Please tell us about your data set" - }, - { - "icon": "question", - "title": "Approximately how large is your data set in MB, GB, TB?", - "description": "", - "type": "textbox", - "fieldName": "details.vision.datasetSize", - "required": true, - "validationError": "Please tell us the size of your data set" - }, - { - "icon": "question", - "title": "Approximately how many images are in your data set?", - "description": "", - "type": "textbox", - "fieldName": "details.vision.imageSet", - "required": true, - "validationError": "Please tell us roughly the number of images in your set" - } - ] - }, - { - "id": "notes", - "fieldName": "details.appDefinition.notes", - "title": "Additional Notes", - "description": "Please detail any other additional information", - "type": "notes" - } - ] - } - ] - }, - "icon": "product-analytics-computer-vision", - "question": "", - "info": "Recognize patters in images, compute correspondences, etc.", - "aliases": [ - "computer-vision", - "computer_vision" - ], - "disabled": false, - "hidden": true - }, - { - "id": 21, - "name": "Data Exploration", - "key": "data_exploration", - "type": "analytics", - "phases": { - "products": [ - { - "productKey": "data_exploration", - "id": 21 - } - ] - }, - "scope": { - "sections": [ - { - "id": "appDefinition", - "title": "Data Exploration", - "required": true, - "description": "Please answer a few basic questions about your project and, as an option, add links to supporting documents in the “Notes” section. If you have any files to upload, you’ll be able to do so later.", - "subSections": [ - { - "id": "projectName", - "required": true, - "validationError": "Please provide a name to your project", - "fieldName": "name", - "description": "", - "title": "Project Name", - "type": "project-name" - }, - { - "id": "questions", - "required": true, - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "id": "projectInfo", - "fieldName": "description", - "validations": "isRequired,minLength:160", - "validationErrors": { - "isRequired": "Please provide an overview of your project", - "minLength": "Please enter at least 160 characters" - }, - "description": "Brief provide an overview of your project", - "title": "Objectives", - "type": "textbox" - }, - { - "icon": "question", - "title": "Describe what you would like to learn or accomplish with this data?", - "description": "", - "type": "textbox", - "fieldName": "details.data.learnings" - }, - { - "icon": "question", - "title": "Describe your data set", - "description": "", - "type": "textbox", - "fieldName": "details.vision.dataDesc", - "required": true, - "validationError": "Please tell us about your data set" - }, - { - "icon": "question", - "title": "Approximately how many records are in your data set?", - "description": "", - "type": "textbox", - "fieldName": "details.data.records", - "required": true, - "validationError": "Please tell us roughly the number of records in your set" - }, - { - "icon": "question", - "title": "Approximately how large is your data set in MB, GB, TB?", - "description": "", - "type": "textbox", - "fieldName": "details.vision.datasetSize", - "required": true, - "validationError": "Please tell us the size of your data set" - }, - { - "icon": "question", - "title": "Does your data need to be obfuscated?", - "description": "(if applicable)", - "fieldName": "details.data.obfuscation", - "type": "radio-group", - "options": [ - { - "value": "true", - "label": "Yes" - }, - { - "value": "false", - "label": "No" - } - ], - "required": true, - "validationError": "Please select one" - } - ] - }, - { - "id": "notes", - "fieldName": "details.appDefinition.notes", - "title": "Additional Notes", - "description": "Please detail any other additional information", - "type": "notes" - } - ] - } - ] - }, - "icon": "product-analytics-data-exploration", - "question": "", - "info": "Review your data, extrapolate patterns, and suggest solutions", - "aliases": [ - "data-exploration", - "data_exploration" - ], - "disabled": false, - "hidden": true - }, - { - "id": 22, - "name": "Real World Testing", - "key": "real_world_testing", - "type": "quality_assurance", - "phases": { - "products": [ - { - "productKey": "real_world_testing", - "id": 22 - } - ] - }, - "scope": { - "sections": [ - { - "id": "appDefinition", - "title": "Real World Testing", - "required": true, - "description": "Please answer a few basic questions about your project and, as an option, add links to supporting documents in the “Notes” section. If you have any files to upload, you’ll be able to do so later.", - "subSections": [ - { - "id": "projectName", - "required": true, - "validationError": "Please provide a name to your project", - "fieldName": "name", - "description": "", - "title": "Project Name", - "type": "project-name" - }, - { - "id": "questions", - "required": true, - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "required": true, - "validationError": "Please let us know what kind of testing you would like to execute", - "title": "What kind of crowd testing are you interested in?", - "description": "Structured testing focuses on the execution of test cases, whereas unstructured testing lets the testers create their own path through an application as an end user might.", - "fieldName": "details.appDefinition.testType", - "type": "tiled-radio-group", - "options": [ - { - "value": "unstructured", - "title": "Unstructured", - "icon": "icon-test-unstructured", - "iconOptions": { - "filePath": "icon-test-unstructured", - "fill": "#00000" - }, - "desc": "" - }, - { - "value": "structured", - "title": "Structured", - "icon": "icon-test-structured", - "iconOptions": { - "filePath": "icon-test-structured", - "fill": "#00000" - }, - "desc": "" - }, - { - "value": "dontKnow", - "title": "Do not know", - "icon": "icon-dont-know", - "iconOptions": { - "filePath": "icon-dont-know", - "fill": "#00000" - }, - "desc": "" - } - ] - }, - { - "icon": "question", - "required": true, - "validationError": "Please let us know if you have test cases.", - "title": "Do you have test cases written?", - "description": "Do you have test cases you would like executed? These are essential when running structured testing and optional for unstructured testing. If you are planning a structured test cycle and do not have test cases do not worry, we can help!", - "fieldName": "details.appDefinition.expectedHours", - "type": "radio-group", - "options": [ - { - "value": "true", - "label": "Yes I have test cases." - }, - { - "value": "false", - "label": "No I do not have test cases." - } - ] - }, - { - "icon": "question", - "validations": "isRequired,minLength:160", - "validationErrors": { - "isRequired": "Please provide a description", - "minLength": "Please enter at least 160 characters" - }, - "id": "projectInfo", - "fieldName": "description", - "description": "Brief Description", - "title": "Description", - "type": "textbox" - }, - { - "icon": "question", - "title": "Please tell us about your users.", - "description": "Please share information about your end users. Where are they from? What is their goal? This information can help us find the best testers for your application.", - "type": "textbox", - "fieldName": "details.appDefinition.userInfo" - }, - { - "icon": "question", - "title": "Which is your primary device target?", - "description": "Select only the device that you need to develop for. In most cases limiting the scope of your project would result in better final result. Topcoder recommends to always start with the mobile phone view and expand to other devices as your app matures.", - "fieldName": "details.appDefinition.primaryTarget", - "type": "tiled-radio-group", - "options": [ - { - "value": "phone", - "title": "Phone", - "icon": "icon-tech-outline-mobile", - "iconOptions": { - "fill": "#00000" - }, - "desc": "iOS, Android, Hybrid" - }, - { - "value": "tablet", - "title": "Tablet", - "icon": "icon-tech-outline-tablet", - "iconOptions": { - "fill": "#00000" - }, - "desc": "iOS, Android, Hybrid" - }, - { - "value": "desktop", - "title": "Desktop", - "icon": "icon-tech-outline-desktop", - "iconOptions": { - "fill": "#00000" - }, - "desc": "all OS" - }, - { - "value": "wearable", - "title": "Wearable", - "icon": "icon-tech-outline-watch-apple", - "iconOptions": { - "fill": "#00000" - }, - "desc": "Watch OS, Android Wear" - } - ] - } - ] - }, - { - "id": "notes", - "fieldName": "details.appDefinition.notes", - "title": "Notes", - "description": "Please enter any additional information like requirements and/or test cases. After creating your project you will be able to upload files.", - "type": "notes" - } - ] - } - ] - }, - "icon": "product-qa-crowd-testing", - "question": "", - "info": "Exploratory Testing, Cross browser-device Testing", - "aliases": [ - "real-world-testing", - "real_world_testing" - ], - "disabled": false, - "hidden": false - }, - { - "id": 23, - "name": "Mobility Testing", - "key": "mobility_testing", - "type": "quality_assurance", - "phases": { - "products": [ - { - "productKey": "mobility_testing", - "id": 23 - } - ] - }, - "scope": { - "sections": [ - { - "id": "appDefinition", - "title": "Mobility Testing", - "required": true, - "description": "Please answer a few basic questions about your project and, as an option, add links to supporting documents in the “Notes” section. If you have any files to upload, you’ll be able to do so later.", - "subSections": [ - { - "id": "projectName", - "required": true, - "validationError": "Please provide a name to your project", - "fieldName": "name", - "description": "", - "title": "Project Name", - "type": "project-name" - }, - { - "id": "questions", - "required": true, - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "icon": "question", - "required": true, - "validationError": "Please let us know what kind of application you would like to test.", - "title": "What kind of application would you like to test?", - "description": "Please let us know the type of application to test. If you are unsure, please select \"Other\"", - "fieldName": "details.appDefinition.mobilityTestingType", - "type": "select-dropdown", - "options": [ - { - "value": "", - "title": "Select" - }, - { - "value": "finserv", - "title": "Banking or Financial Services" - }, - { - "value": "ecommerce", - "title": "eCommerce" - }, - { - "value": "entertainment", - "title": "Media / Entertainment" - }, - { - "value": "gaming", - "title": "Gaming" - }, - { - "value": "health", - "title": "Health and Fitness" - }, - { - "value": "manufacturing", - "title": "Manufacturing" - }, - { - "value": "retail", - "title": "Retail" - }, - { - "value": "travel", - "title": "Travel / Transportation" - }, - { - "value": "other", - "title": "Other" - } - ] - }, - { - "icon": "question", - "required": true, - "validationError": "Please let us know if you have test cases.", - "title": "Do you have test cases written?", - "description": "Please let us know if you have any test cases written. If not, they can be created as part of your test cycle.", - "fieldName": "details.appDefinition.testCases", - "type": "radio-group", - "options": [ - { - "value": "true", - "label": "Yes I have test cases." - }, - { - "value": "false", - "label": "No I do not have test cases." - } - ] - }, - { - "icon": "question", - "validations": "isRequired,minLength:160", - "validationErrors": { - "isRequired": "Please provide a description", - "minLength": "Please enter at least 160 characters" - }, - "id": "projectInfo", - "fieldName": "description", - "description": "Brief Description", - "title": "Description", - "type": "textbox" - }, - { - "icon": "question", - "title": "Please tell us about your users.", - "description": "Please share information about your end users. Where are they from? What is their goal? This information can help us find the best testers for your application.", - "type": "textbox", - "fieldName": "details.appDefinition.userInfo" - }, - { - "icon": "question", - "title": "Which is your primary device target?", - "description": "Select only the device that you need to develop for. In most cases limiting the scope of your project would result in better final result. Topcoder recommends to always start with the mobile phone view and expand to other devices as your app matures.", - "fieldName": "details.appDefinition.primaryTarget", - "type": "tiled-radio-group", - "options": [ - { - "value": "phone", - "title": "Phone", - "icon": "icon-tech-outline-mobile", - "iconOptions": { - "fill": "#00000" - }, - "desc": "iOS, Android, Hybrid" - }, - { - "value": "tablet", - "title": "Tablet", - "icon": "icon-tech-outline-tablet", - "iconOptions": { - "fill": "#00000" - }, - "desc": "iOS, Android, Hybrid" - }, - { - "value": "wearable", - "title": "Wearable", - "icon": "icon-tech-outline-watch-apple", - "iconOptions": { - "fill": "#00000" - }, - "desc": "Watch OS, Android Wear" - } - ] - } - ] - }, - { - "id": "notes", - "fieldName": "details.appDefinition.notes", - "title": "Notes", - "description": "Please enter any additional information like requirements and/or test cases. After creating your project you will be able to upload files.", - "type": "notes" - } - ] - } - ] - }, - "icon": "product-qa-mobility-testing", - "question": "", - "info": "App Certification, Lab on Hire, User Sentiment Analysis", - "aliases": [ - "mobility-testing", - "mobility_testing" - ], - "disabled": false, - "hidden": false - }, - { - "id": 24, - "name": "Performance Testing", - "key": "performance_testing", - "type": "quality_assurance", - "phases": { - "products": [ - { - "productKey": "performance_testing", - "id": 24 - } - ] - }, - "scope": { - "sections": [ - { - "id": "appDefinition", - "title": "Performance Testing", - "required": true, - "description": "Please answer a few basic questions about your project. If you have any supporting documents, please add the links in the “Notes” section. You can upload any additional files (specifications, diagrams, mock interfaces, etc.) once your project is created.", - "subSections": [ - { - "id": "projectName", - "required": true, - "validationError": "Please provide a name to your project", - "fieldName": "name", - "description": "", - "title": "Project Name", - "type": "project-name" - }, - { - "id": "questions", - "required": true, - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "id": "projectInfo", - "fieldName": "description", - "validations": "isRequired,minLength:160", - "validationErrors": { - "isRequired": "Please provide a description", - "minLength": "Please enter at least 160 characters" - }, - "description": "In 160 or more characters tell us what is the app, main functions, problem area, etc..", - "title": "Please provide brief description of the system and/or application you would like to execute Performance Testing on.", - "type": "textbox" - }, - { - "icon": "question", - "title": "What is the desired load on the system in terms of concurrent users for this test??", - "description": "(Unit package includes 500 virtual users, additional load would require Top-Ups)", - "type": "slide-radiogroup", - "options": [ - { - "value": "upto-500", - "title": "Up to 500" - }, - { - "value": "upto-1000", - "title": "Up to 1000" - }, - { - "value": "upto-5000", - "title": "Up to 5000" - }, - { - "value": "above-5000", - "title": "More than 5000" - } - ], - "fieldName": "details.loadDetails.concurrentUsersCount", - "required": true, - "validationError": "Please provide expected load" - }, - { - "icon": "question", - "title": "Approximately how many business processes/transactions will be included in your Performance Test?", - "description": "(Unit package covers 10 transactions, additional transactions would require Top-Ups)", - "fieldName": "details.loadDetails.businessProcessesCount", - "type": "slide-radiogroup", - "options": [ - { - "value": "upto-5", - "title": "Up to 5" - }, - { - "value": "upto-10", - "title": "Up to 10" - }, - { - "value": "upto-25", - "title": "Up to 25" - }, - { - "value": "above-25", - "title": "More than 25" - } - ], - "required": true, - "validationError": "Please provide expected number of business processes" - }, - { - "icon": "question", - "title": "How many hours do you expect the Performance Test to be executed for?", - "description": "(Unit package covers 10 hours of execution, additional execution time would require Top-Ups)", - "fieldName": "details.loadDetails.expectedExecutionHours", - "type": "slide-radiogroup", - "options": [ - { - "value": "upto-5", - "title": "Up to 5" - }, - { - "value": "upto-10", - "title": "Up to 10" - }, - { - "value": "upto-25", - "title": "Up to 25" - }, - { - "value": "above-25", - "title": "More than 25" - } - ], - "required": true, - "validationError": "Please provide expected hours of execution" - } - ] - }, - { - "id": "notes", - "fieldName": "details.appDefinition.notes", - "title": "Notes", - "description": "Please enter any additional information like requirements, architecture details, tools, performance baseline, etc. After creating your project you will be able to upload files.", - "type": "notes" - } - ] - } - ] - }, - "icon": "product-qa-website-performance", - "question": "", - "info": "Webpage rendering effiency, Load, Stress and Endurance Test", - "aliases": [ - "performance-testing", - "performance_testing" - ], - "disabled": false, - "hidden": false - }, - { - "id": 25, - "name": "Health Security Check", - "key": "health_check", - "type": "quality_assurance", - "phases": { - "products": [ - { - "productKey": "health_check", - "id": 25 - } - ] - }, - "scope": { - "sections": [ - { - "id": "appDefinition", - "title": "Health Security Check", - "required": true, - "description": "Topcoder will scan your application using our properiatary formula for security standards. To rate your application we combine state of the art static code analysis, security scanning, export code review and other techniques to produce a Security Health Check scorecard.", - "subSections": [ - { - "id": "projectName", - "required": true, - "validationError": "Please provide a name to your project", - "fieldName": "name", - "title": "Project Name", - "description": "Topcoder will scan your application using our properiatary formula for security standards. To rate your application we combine state of the art static code analysis, security scanning, export code review and other techniques to produce a Security Health Check scorecard.", - "type": "project-name" - }, - { - "id": "questions", - "required": true, - "hideTitle": true, - "title": "Questions", - "description": "Topcoder will scan your application using our properiatary formula for security standards. To rate your application we combine state of the art static code analysis, security scanning, export code review and other techniques to produce a Security Health Check scorecard.", - "type": "questions", - "questions": [ - { - "id": "projectInfo", - "fieldName": "description", - "validations": "isRequired,minLength:160", - "validationErrors": { - "isRequired": "Please describe your application.", - "minLength": "Please enter at least 160 characters" - }, - "description": "Brief describe your application", - "title": "Description", - "type": "textbox" - }, - { - "icon": "question", - "title": "What is the maximum level of acceptable risk for this application?", - "description": "Based on the features and data, how secure do you feel this application should be?", - "fieldName": "details.security.howSecure", - "type": "slide-radiogroup", - "options": [ - { - "value": "low-risk", - "title": "Low Risk" - }, - { - "value": "medium-risk", - "title": "Medium Risk" - }, - { - "value": "high-risk", - "title": "High Risk" - }, - { - "value": "custom", - "title": "Custom" - } - ], - "required": true, - "validationError": "Please select security rating" - }, - { - "icon": "question", - "title": "Do you wish to baseline your application against the Topcoder Security Standard", - "description": "", - "fieldName": "details.security.baselineBool", - "type": "radio-group", - "options": [ - { - "value": "topcoder", - "label": "Topcoder" - }, - { - "value": "custom", - "label": "Custom" - } - ], - "required": true, - "validationError": "Please select one" - }, - { - "icon": "question", - "title": "If you chose other, please detail your baseline testing standard", - "description": "(if applicable)", - "type": "textbox", - "fieldName": "details.security.baselineOther", - "required": false - } - ] - }, - { - "id": "notes", - "fieldName": "details.appDefinition.notes", - "title": "Additional Notes", - "description": "Please detail any other additional information. After completing this form, you'll be able to add additional information about your code base", - "type": "notes" - } - ] - } - ] - }, - "icon": "product-qa-health-check", - "question": "", - "info": "Measure your code base against our security baseline using the crowd and tooling ", - "aliases": [ - "health-check", - "health_check" - ], - "disabled": false, - "hidden": true - }, - { - "id": 26, - "name": "Performance Tuning", - "key": "performance_tuning", - "type": "quality_assurance", - "phases": { - "products": [ - { - "productKey": "performance_tuning", - "id": 26 - } - ] - }, - "scope": { - "sections": [ - { - "id": "appDefinition", - "title": "Performance Tuning", - "required": true, - "description": "Please answer a few basic questions about your project and, as an option, add links to supporting documents in the “Notes” section. If you have any files to upload, you’ll be able to do so later.", - "subSections": [ - { - "id": "projectName", - "required": true, - "validationError": "Please provide a name to your project", - "fieldName": "name", - "description": "", - "title": "Project Name", - "type": "project-name" - }, - { - "id": "questions", - "required": true, - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "id": "projectInfo", - "fieldName": "description", - "validations": "isRequired,minLength:160", - "validationErrors": { - "isRequired": "Please provide a description of your application", - "minLength": "Please enter at least 160 characters" - }, - "description": "Brief Description of your application", - "title": "Description", - "type": "textbox" - } - ] - }, - { - "id": "notes", - "fieldName": "details.appDefinition.notes", - "title": "Additional Notes", - "description": "Please detail any other additional information", - "type": "notes" - } - ] - } - ] - }, - "icon": "product-qa-website-performance", - "question": "", - "info": "Analyze your JVM based applications and generate recommendations", - "aliases": [ - "performance-tuning", - "performance_tuning" - ], - "disabled": false, - "hidden": true - }, - { - "id": 27, - "name": "Digital Accessibility", - "key": "digital_accessability", - "type": "quality_assurance", - "phases": { - "products": [ - { - "productKey": "digital_accessability", - "id": 27 - } - ] - }, - "scope": { - "sections": [] - }, - "icon": "product-qa-digital-accessability", - "question": "", - "info": "Make sure you app or website conforms to all rules and regulations", - "aliases": [ - "digital-accessability", - "digital_accessability" - ], - "disabled": true, - "hidden": false - }, - { - "id": 28, - "name": "Open Source Automation", - "key": "open_source_automation", - "type": "quality_assurance", - "phases": { - "products": [ - { - "productKey": "open_source_automation", - "id": 28 - } - ] - }, - "scope": { - "sections": [] - }, - "icon": "product-qa-os-automation", - "question": "", - "info": "Exploratory testing, cross browser testing", - "aliases": [ - "open-source-automation", - "open_source_automation" - ], - "disabled": true, - "hidden": false - }, - { - "id": 29, - "name": "Consulting & Adivisory", - "key": "consulting_adivisory", - "type": "quality_assurance", - "phases": { - "products": [ - { - "productKey": "consulting_adivisory", - "id": 29 - } - ] - }, - "scope": { - "sections": [] - }, - "icon": "product-qa-consulting", - "question": "", - "info": "Expert services to get your project covered end-to-end", - "aliases": [ - "consulting-adivisory", - "consulting_adivisory" - ], - "disabled": true, - "hidden": false - }, - { - "id": 30, - "name": "Salesforce Accelerator", - "key": "sfdc_testing", - "type": "quality_assurance", - "phases": { - "products": [ - { - "productKey": "sfdc_testing", - "id": 30 - } - ] - }, - "scope": { - "sections": [ - { - "id": "appDefinition", - "title": "Salesforce Accelerator", - "required": true, - "description": "Please answer a few basic questions about your project and, as an option, add links to supporting documents in the “Notes” section. If you have any files to upload, you’ll be able to do so later. *AssureNXT - Rapid Test Design Module is a Component of AssureNXT which is a Test Management Platform. It helps in Automated Test Case and Test Data Model generation through business process diagrams. RTD establishes direct relationship between business requirements, process flows and test coverage. Accelerated Test Case generation for changed business process. *Tosca - Tricentis Tosca is a testing tool that is used to automate end-to-end testing for software applications. Tricentis Tosca combines multiple aspects of software testing (test case design, test automation, test data design and generation, and analytics) to test GUIs and APIs from a business perspective", - "subSections": [ - { - "id": "projectName", - "required": true, - "validationError": "Please provide a name to your project", - "fieldName": "name", - "description": "", - "title": "Project Name", - "type": "project-name" - }, - { - "id": "questions", - "required": true, - "hideTitle": true, - "title": "Questions", - "description": "", - "type": "questions", - "questions": [ - { - "id": "projectInfo", - "validations": "isRequired,minLength:160", - "validationErrors": { - "isRequired": "Please provide a description", - "minLength": "Please enter at least 160 characters" - }, - "fieldName": "description", - "description": "Brief description of your project, Salesforce.com implementation testing objectives", - "title": "Description", - "type": "textbox" - }, - { - "icon": "question", - "required": true, - "validationError": "Please provide the required options", - "title": "The Salesforce.com accelerator pack comprises of pre-built test assets and tools/licenses support to enable customization services. Would you like to purchase all the components of the accelerator pack or only a subset of it? (choose all that apply)", - "description": "Full solution will have all the above components, while Partial solution - can have just either the sfdc assets mentioned in option 1 OR SFDC assets + customized service without the license", - "fieldName": "details.appDefinition.components", - "type": "checkbox-group", - "options": [ - { - "value": "pack_one", - "label": "Manual Test packs + Business Models + Automation scripts" - }, - { - "value": "pack_two", - "label": "License for AssureNXT and Tosca for 2 months" - }, - { - "value": "pack_three", - "label": "Customization services to fit the pre-built assets to your specific use cases" - } - ] - }, - { - "icon": "question", - "title": "Select the functionalities which are applicable for your Salesforce.com Implementation ( 1 or multiple from the 10 listed below)", - "description": "", - "type": "checkbox-group", - "fieldName": "details.appDefinition.functionalities", - "options": [ - { - "value": "sales_cloud_campaign", - "label": "Sales Cloud - Campaign" - }, - { - "value": "lead", - "label": "Lead" - }, - { - "value": "account", - "label": "Account" - }, - { - "value": "contact", - "label": "Contact" - }, - { - "value": "opportunity", - "label": "Opportunity" - }, - { - "value": "quote", - "label": "Quote" - }, - { - "value": "contract_and_order", - "label": "Contract & Order Management" - }, - { - "value": "product_price", - "label": "Product & Price Book and End to End Processes & Misc Functions (Activites Chatter Reports & Dashboards)" - }, - { - "value": "service_cloud_case_management", - "label": "Service Cloud – Case Management" - } - ] - }, - { - "icon": "question", - "required": true, - "title": "Are you using the Lightning Experience?", - "description": "", - "fieldName": "details.appDefinition.lightningExperience.value", - "type": "radio-group", - "options": [ - { - "value": "Yes", - "label": "Yes" - }, - { - "value": "No", - "label": "No" - }, - { - "value": "Neither", - "label": "I Don't Know" - } - ] - } - ] - }, - { - "id": "notes", - "fieldName": "details.appDefinition.notes", - "title": "Notes", - "description": "Please enter any additional information such as any existing test automation tool used, known constraints for automation, % of customizations in your Salesforce.com implementation, etc.", - "type": "notes" - } - ] - } - ] - }, - "icon": "product-qa-sfdc-accelerator", - "question": "", - "info": "SalesForce Testing, Cross browser-device Testing", - "aliases": [ - "sfdc_testing", - "sfdc-testing" - ], - "disabled": false, - "hidden": false - }, - { - "id": 92, - "name": "Application No Wizard", - "key": "form_redesign_no_wizard", - "category": "app", - "icon": "../../assets/icons/product-dev-other.svg", - "question": "What kind of development do you need?", - "info": "Custom/General Application", - "aliases": [ - "form_redesign_no_wizard", - "form-redesign-no-wizard" - ], - "scope": { - "theme": "light", - "sections": [ - { - "title": "My App", - "statusText": "Let's go", - "subSections": [ - { - "type": "message", - "description": "We will ask you several questions in order to determine your app cost. All prices are based on our 15 years of experience and thousand of projects. Final prices will be determined after our team does final scope review." - }, - { - "title": "App details", - "type": "questions", - "questions": [ - { - "fieldName": "name", - "type": "textinput", - "title": "What is the name of your app?", - "validationError": "Please, provide a name to your project", - "validations": "isRequired" - }, - { - "fieldName": "description", - "type": "textbox", - "title": "Please describe your app using 2-3 sentences", - "validations": "isRequired,minLength:160", - "validationErrors": { - "isRequired": "Please provide a description", - "minLength": "Please enter at least 160 characters" - } - }, - { - "fieldName": "details.utm.code", - "type": "textinput", - "title": "Do you have a Reference code? (optional)" - } - ] - } - ] - }, - { - "title": "My App", - "statusText": "Select an option", - "subSections": [ - { - "type": "questions", - "questions": [ - { - "type": "static", - "content": "
{description}
Build agency-level designed consumer-grade applications for any platform and device. Chose what suits your project best, and fine-tune it to really match your organization’s needs. We provide security, enterprise-level code quality, robust design, and an option for dedicated project manager. Unmatched speed thanks to a 1.3M network of the world’s best designers, developers and data scientists.
Build agency-level designed consumer-grade applications for any platform and device. Chose what suits your project best, and fine-tune it to really match your organization’s needs. We provide security, enterprise-level code quality, robust design, and an option for dedicated project manager. Unmatched speed thanks to a 1.3M network of the world’s best designers, developers and data scientists.
" - }, - "validationError": "Please, choose what do you need.", - "validations": "isRequired", - "options": [ - { - "value": "design", - "label": "App Design", - "summaryLabel": "Design", - "quoteUp": 20000 - }, - { - "value": "development", - "label": "App Development", - "summaryLabel": "Development", - "quoteUp": 36000 - }, - { - "value": "qa", - "label": "QA, Fixes & Enhancements", - "summaryLabel": "QA", - "quoteUp": 10000 - }, - { - "value": "deployment", - "label": "Deployment", - "quoteUp": 10000 - } - ] - }, - { - "icon": "question", - "title": "What is the goal of your designs?", - "summaryTitle": "Design goal", - "fieldName": "details.appDefinition.designGoal", - "type": "radio-group", - "help": { - "linkTitle": "What should I choose?", - "title": "What should I choose?", - "content": "Build agency-level designed consumer-grade applications for any platform and device. Chose what suits your project best, and fine-tune it to really match your organization’s needs. We provide security, enterprise-level code quality, robust design, and an option for dedicated project manager. Unmatched speed thanks to a 1.3M network of the world’s best designers, developers and data scientists.
Build agency-level designed consumer-grade applications for any platform and device. Chose what suits your project best, and fine-tune it to really match your organization’s needs. We provide security, enterprise-level code quality, robust design, and an option for dedicated project manager. Unmatched speed thanks to a 1.3M network of the world’s best designers, developers and data scientists.
" - }, - "validationError": "Please, choose you design goal.", - "validations": "isRequired", - "condition": "(details.appDefinition.mainWork contains 'design')", - "options": [ - { - "value": "concept-exploration", - "label": "Concept exploration", - "summaryLabel": "concept", - "description": "We will produce high-quality screens with different directions that would help you define your product direction, and present to stakeholders." - }, - { - "value": "comprehensive-design-for-development", - "label": "Comprehensive design for development", - "summaryLabel": "development", - "description": "Our designers will create all the design deliverables for your app, including app icons, design specifications, and design assets." - } - ] - }, - { - "icon": "question", - "title": "How soon do you need your concepts?", - "summaryTitle": "Concepts timeline", - "fieldName": "details.appDefinition.conceptTimeline", - "type": "radio-group", - "help": { - "linkTitle": "What is the difference?", - "title": "What is the difference?", - "content": "Build agency-level designed consumer-grade applications for any platform and device. Chose what suits your project best, and fine-tune it to really match your organization’s needs. We provide security, enterprise-level code quality, robust design, and an option for dedicated project manager. Unmatched speed thanks to a 1.3M network of the world’s best designers, developers and data scientists.
Build agency-level designed consumer-grade applications for any platform and device. Chose what suits your project best, and fine-tune it to really match your organization’s needs. We provide security, enterprise-level code quality, robust design, and an option for dedicated project manager. Unmatched speed thanks to a 1.3M network of the world’s best designers, developers and data scientists.
" - }, - "validationError": "Please, choose your time expectations.", - "validations": "isRequired", - "condition": "(details.appDefinition.designGoal == 'concept-exploration')", - "options": [ - { - "value": "3-days", - "label": "ASAP — 3 days", - "summaryLabel": "3 days", - "description": "Our designer consultants will work with you to formulate the app screens and deliver the final concepts within only 3 short days.", - "quoteUp": 20000 - }, - { - "value": "7-days", - "label": "Standard — 7 days", - "summaryLabel": "7 days", - "description": "Topcoder will create agency-quality design variants for your app within 7 days.", - "quoteUp": 0 - } - ] - } - ], - "wizard": { - "previousStepVisibility": "readOptimized" - } - }, - { - "type": "questions", - "questions": [ - { - "icon": "question", - "title": "Where should your app work?", - "summaryTitle": "Devices", - "fieldName": "details.appDefinition.devices", - "type": "checkbox-group", - "help": { - "linkTitle": "What to choose", - "title": "What to choose", - "content": "Build agency-level designed consumer-grade applications for any platform and device. Chose what suits your project best, and fine-tune it to really match your organization’s needs. We provide security, enterprise-level code quality, robust design, and an option for dedicated project manager. Unmatched speed thanks to a 1.3M network of the world’s best designers, developers and data scientists.
Build agency-level designed consumer-grade applications for any platform and device. Chose what suits your project best, and fine-tune it to really match your organization’s needs. We provide security, enterprise-level code quality, robust design, and an option for dedicated project manager. Unmatched speed thanks to a 1.3M network of the world’s best designers, developers and data scientists.
" - }, - "validationError": "Please, select devices", - "validations": "isRequired", - "options": [ - { - "value": "mobile-phones", - "label": "Mobile phones", - "description": "Your app would work in all mobile devices. Our most requested option." - }, - { - "value": "tablets", - "label": "Tablets", - "description": "Your app would be optimized for the larger form-factor of a tablet device." - }, - { - "value": "desktop", - "label": "Desktop", - "description": "We will deliver a native desktop app, working under the selected desktop OS." - }, - { - "value": "web-browsers", - "label": "Web browsers", - "description": "Your app would be accessed via any web browser on desktop and mobile devices alike." - } - ] - }, - { - "icon": "question", - "title": "Mobile platforms needed", - "summaryTitle": "Mobile platforms", - "fieldName": "details.appDefinition.mobilePlatforms", - "type": "checkbox-group", - "help": { - "linkTitle": "Which platforms to select?", - "title": "Which platforms to select?", - "content": "Build agency-level designed consumer-grade applications for any platform and device. Chose what suits your project best, and fine-tune it to really match your organization’s needs. We provide security, enterprise-level code quality, robust design, and an option for dedicated project manager. Unmatched speed thanks to a 1.3M network of the world’s best designers, developers and data scientists.
Build agency-level designed consumer-grade applications for any platform and device. Chose what suits your project best, and fine-tune it to really match your organization’s needs. We provide security, enterprise-level code quality, robust design, and an option for dedicated project manager. Unmatched speed thanks to a 1.3M network of the world’s best designers, developers and data scientists.
" - }, - "condition": "( (details.appDefinition.devices contains 'mobile-phones') || (details.appDefinition.devices contains 'tablets') )", - "options": [ - { - "value": "ios", - "label": "iOS", - "description": "Your app would work on iOS phones. We will develop it using Objective-C and SWIFT" - }, - { - "value": "android", - "label": "Android", - "description": "Your app would work on all Android phones, and will be developed using Java. It would be highly optimized for the hardware and have a full experience for the end users." - } - ] - }, - { - "icon": "question", - "title": "Desktop OS needed", - "summaryTitle": "Desktop OS", - "fieldName": "details.appDefinition.desktopOS", - "type": "checkbox-group", - "help": { - "linkTitle": "Which OS to select?", - "title": "Which OS to select?", - "content": "Build agency-level designed consumer-grade applications for any platform and device. Chose what suits your project best, and fine-tune it to really match your organization’s needs. We provide security, enterprise-level code quality, robust design, and an option for dedicated project manager. Unmatched speed thanks to a 1.3M network of the world’s best designers, developers and data scientists.
Build agency-level designed consumer-grade applications for any platform and device. Chose what suits your project best, and fine-tune it to really match your organization’s needs. We provide security, enterprise-level code quality, robust design, and an option for dedicated project manager. Unmatched speed thanks to a 1.3M network of the world’s best designers, developers and data scientists.
" - }, - "condition": "(details.appDefinition.devices contains 'desktop')", - "options": [ - { - "value": "windows", - "label": "Windows" - }, - { - "value": "mac-os", - "label": "Mac OS" - }, - { - "value": "linux", - "label": "Linux" - } - ] - }, - { - "icon": "question", - "title": "Do you need a responsive app?", - "summaryTitle": "Responsive", - "fieldName": "details.appDefinition.webResponsive", - "type": "radio-group", - "help": { - "linkTitle": "What is responsive?", - "title": "What is responsive?", - "content": "Build agency-level designed consumer-grade applications for any platform and device. Chose what suits your project best, and fine-tune it to really match your organization’s needs. We provide security, enterprise-level code quality, robust design, and an option for dedicated project manager. Unmatched speed thanks to a 1.3M network of the world’s best designers, developers and data scientists.
Build agency-level designed consumer-grade applications for any platform and device. Chose what suits your project best, and fine-tune it to really match your organization’s needs. We provide security, enterprise-level code quality, robust design, and an option for dedicated project manager. Unmatched speed thanks to a 1.3M network of the world’s best designers, developers and data scientists.
" - }, - "condition": "(details.appDefinition.devices contains 'web-browsers')", - "options": [ - { - "value": "yes", - "label": "Yes", - "description": "Your app would be optimized for all devices from mobile phones to large desktops." - }, - { - "value": "no", - "label": "No" - } - ] - } - ], - "wizard": { - "previousStepVisibility": "readOptimized" - } - }, - { - "type": "questions", - "questions": [ - { - "icon": "question", - "title": "How many screens do you need?", - "summaryTitle": "Number of screens", - "fieldName": "details.appDefinition.screensQty", - "type": "radio-group", - "help": { - "linkTitle": "What are screens?", - "title": "What are screens?", - "content": "Build agency-level designed consumer-grade applications for any platform and device. Chose what suits your project best, and fine-tune it to really match your organization’s needs. We provide security, enterprise-level code quality, robust design, and an option for dedicated project manager. Unmatched speed thanks to a 1.3M network of the world’s best designers, developers and data scientists.
Build agency-level designed consumer-grade applications for any platform and device. Chose what suits your project best, and fine-tune it to really match your organization’s needs. We provide security, enterprise-level code quality, robust design, and an option for dedicated project manager. Unmatched speed thanks to a 1.3M network of the world’s best designers, developers and data scientists.
" - }, - "validationError": "Please, choose how many screens do you need.", - "validations": "isRequired", - "options": [ - { - "value": "2-4", - "label": "2-4 screens", - "description": "Suitable for small apps with 2-4 main features" - }, - { - "value": "5-9", - "label": "5-9 screens", - "description": "Suitable for medium apps with 4-6 main features", - "quoteUp": 7500 - }, - { - "value": "10-15", - "label": "10-15 screens", - "description": "Suitable for larger apps with 10-15 main features", - "quoteUp": 15000 - }, - { - "value": "16+", - "label": "More than 15 screens", - "description": "Use this only if your app is really big. One of our architects will evaluate the final amount during project review phase.", - "quoteUp": 22500 - } - ] - } - ], - "wizard": { - "previousStepVisibility": "readOptimized" - } - }, - { - "type": "questions", - "questions": [ - { - "icon": "question", - "title": "Do you require help for you project?", - "summaryTitle": "Dedicated manager", - "fieldName": "details.appDefinition.needArchitect", - "type": "radio-group", - "help": { - "linkTitle": "Do I need an architect?", - "title": "Do I need an architect?", - "content": "Build agency-level designed consumer-grade applications for any platform and device. Chose what suits your project best, and fine-tune it to really match your organization’s needs. We provide security, enterprise-level code quality, robust design, and an option for dedicated project manager. Unmatched speed thanks to a 1.3M network of the world’s best designers, developers and data scientists.
Build agency-level designed consumer-grade applications for any platform and device. Chose what suits your project best, and fine-tune it to really match your organization’s needs. We provide security, enterprise-level code quality, robust design, and an option for dedicated project manager. Unmatched speed thanks to a 1.3M network of the world’s best designers, developers and data scientists.
" - }, - "validationError": "Please, ley us know if you need a dedicated manager.", - "validations": "isRequired", - "options": [ - { - "value": "no", - "label": "No, I am technical enough to manage", - "summaryLabel": "No", - "description": "You will have to take technical decisions and discuss requirements with our project managers." - }, - { - "value": "yes", - "label": "Yes, please", - "summaryLabel": "Yes", - "description": "We will assign a technical architect to guide you through all the hurdles of design, development, and delivery. They will make sure that your scope and technical requirements are optimal for your project, and manage communication with our project managers." - } - ] - } - ], - "wizard": { - "previousStepVisibility": "readOptimized" - } - }, - { - "type": "questions", - "questions": [ - { - "type": "estimation", - "title": "Sample project timeline", - "deliverables": [ - { - "id": "design", - "title": "Design", - "duration": 3, - "enableCondition": "(details.appDefinition.mainWork contains 'design')" - }, { - "id": "development", - "title": "Development", - "duration": 24, - "enableCondition": "(details.appDefinition.mainWork contains 'development')" - }, { - "id": "qa", - "title": "QA", - "duration": 3, - "enableCondition": "(details.appDefinition.mainWork contains 'qa')" - }, { - "id": "deployment", - "title": "Deploy", - "duration": 1, - "enableCondition": "(details.appDefinition.mainWork contains 'deployment')" - } - ] - } - ] - } - ], - "wizard": { - "enabled": true, - "previousStepVisibility": "write" - } - }, - { - "title": "Configure my app", - "subSections": [ - { - "type": "questions", - "questions": [ - { - "icon": "question", - "title": "Design features", - "description": "Please select each required feature. Please note that each added feature incurs a cost, but that the cost will be detailed and broken out in the final project proposal.", - "fieldName": "details.appDefinition.addons.design", - "type": "add-ons", - "help": { - "linkTitle": "What to chose", - "title": "What to chose", - "content": "Build agency-level designed consumer-grade applications for any platform and device. Chose what suits your project best, and fine-tune it to really match your organization’s needs. We provide security, enterprise-level code quality, robust design, and an option for dedicated project manager. Unmatched speed thanks to a 1.3M network of the world’s best designers, developers and data scientists.
Build agency-level designed consumer-grade applications for any platform and device. Chose what suits your project best, and fine-tune it to really match your organization’s needs. We provide security, enterprise-level code quality, robust design, and an option for dedicated project manager. Unmatched speed thanks to a 1.3M network of the world’s best designers, developers and data scientists.
" - }, - "condition": "(details.appDefinition.mainWork contains 'design')", - "category": "generic" - }, - { - "icon": "question", - "title": "Development features", - "description": "Please select each required feature. Please note that each added feature incurs a cost, but that the cost will be detailed and broken out in the final project proposal.", - "fieldName": "details.appDefinition.addons.development", - "type": "add-ons", - "summaryMode": "quantity", - "help": { - "linkTitle": "What to chose", - "title": "What to chose", - "content": "Build agency-level designed consumer-grade applications for any platform and device. Chose what suits your project best, and fine-tune it to really match your organization’s needs. We provide security, enterprise-level code quality, robust design, and an option for dedicated project manager. Unmatched speed thanks to a 1.3M network of the world’s best designers, developers and data scientists.
Build agency-level designed consumer-grade applications for any platform and device. Chose what suits your project best, and fine-tune it to really match your organization’s needs. We provide security, enterprise-level code quality, robust design, and an option for dedicated project manager. Unmatched speed thanks to a 1.3M network of the world’s best designers, developers and data scientists.
" - }, - "condition": "(details.appDefinition.mainWork contains 'development')", - "category": "generic" - }, - { - "icon": "question", - "title": "QA features", - "description": "Please select each required feature. Please note that each added feature incurs a cost, but that the cost will be detailed and broken out in the final project proposal.", - "fieldName": "details.appDefinition.addons.qa", - "type": "add-ons", - "summaryMode": "quantity", - "help": { - "linkTitle": "What to chose", - "title": "What to chose", - "content": "Build agency-level designed consumer-grade applications for any platform and device. Chose what suits your project best, and fine-tune it to really match your organization’s needs. We provide security, enterprise-level code quality, robust design, and an option for dedicated project manager. Unmatched speed thanks to a 1.3M network of the world’s best designers, developers and data scientists.
Build agency-level designed consumer-grade applications for any platform and device. Chose what suits your project best, and fine-tune it to really match your organization’s needs. We provide security, enterprise-level code quality, robust design, and an option for dedicated project manager. Unmatched speed thanks to a 1.3M network of the world’s best designers, developers and data scientists.
" - }, - "condition": "(details.appDefinition.mainWork contains 'qa')", - "category": "generic" - }, - { - "icon": "question", - "title": "Delivery features", - "description": "Please select each required feature. Please note that each added feature incurs a cost, but that the cost will be detailed and broken out in the final project proposal.", - "fieldName": "details.appDefinition.addons.delivery", - "type": "add-ons", - "summaryMode": "quantity", - "help": { - "linkTitle": "What to chose", - "title": "What to chose", - "content": "Build agency-level designed consumer-grade applications for any platform and device. Chose what suits your project best, and fine-tune it to really match your organization’s needs. We provide security, enterprise-level code quality, robust design, and an option for dedicated project manager. Unmatched speed thanks to a 1.3M network of the world’s best designers, developers and data scientists.
Build agency-level designed consumer-grade applications for any platform and device. Chose what suits your project best, and fine-tune it to really match your organization’s needs. We provide security, enterprise-level code quality, robust design, and an option for dedicated project manager. Unmatched speed thanks to a 1.3M network of the world’s best designers, developers and data scientists.
" - }, - "condition": "(details.appDefinition.mainWork contains 'deployment')", - "category": "gtest", - "subCategories": ["test-product-category"] - } - ], - "wizard": { - "enabled": true, - "previousStepVisibility": "readOptimized" - } - }, - { - "type": "questions", - "questions": [ - { - "type": "estimation", - "title": "Sample project timeline", - "deliverables": [ - { - "id": "design", - "title": "Design", - "duration": 3, - "enableCondition": "(details.appDefinition.mainWork contains 'design')" - }, { - "id": "development", - "title": "Development", - "duration": 24, - "enableCondition": "(details.appDefinition.mainWork contains 'development')" - }, { - "id": "qa", - "title": "QA", - "duration": 3, - "enableCondition": "(details.appDefinition.mainWork contains 'qa')" - }, { - "id": "deployment", - "title": "Deploy", - "duration": 1, - "enableCondition": "(details.appDefinition.mainWork contains 'deployment')" - } - ] - }, - { - "type": "static", - "content": "" - } - ] - } - ], - "wizard": { - "enabled": true, - "previousStepVisibility": "write" - } - } - ], - "wizard": { - " ": false, - "previousStepVisibility": "write" - }, - "basePriceEstimate": 20000 - }, - "phases": { - "1-app-design": { - "name": "App Design", - "products": [ - { - "productKey": "design-iteration-3-milestones", - "id": 26 - } - ], - "duration": 25 - }, - "2-front-end-development-i": { - "name": "Front-End Development, Pt. I", - "products": [ - { - "productKey": "development-iteration-3-milestones", - "id": 27 - } - ], - "duration": 19 - }, - "3-front-end-development-ii": { - "name": "Front-End Development, Pt. II", - "products": [ - { - "productKey": "development-iteration-3-milestones", - "id": 27 - } - ], - "duration": 19 - }, - "4-back-end-development-i": { - "name": "Back-End Development, Pt. I", - "products": [ - { - "productKey": "development-iteration-3-milestones", - "id": 27 - } - ], - "duration": 19 - }, - "5-back-end-development-ii": { - "name": "Back-End Development, Pt. II", - "products": [ - { - "productKey": "development-iteration-3-milestones", - "id": 27 - } - ], - "duration": 19 - }, - "6-qa-and-bug-fixes": { - "name": "QA & Bug Fixes", - "products": [ - { - "productKey": "qa-iteration", - "id": 30 - } - ], - "duration": 24 - } - }, - "disabled": false, - "hidden": true - }, - { - "id": 91, - "name": "Application Write", - "key": "form_redesign_wire", - "category": "app", - "icon": "../../assets/icons/product-dev-other.svg", - "question": "What kind of development do you need?", - "info": "Custom/General Application", - "aliases": [ - "form_redesign_write", - "form-redesign-write" - ], - "scope": { - "theme": "light", - "sections": [ - { - "title": "My App", - "statusText": "Let's go", - "subSections": [ - { - "type": "message", - "description": "We will ask you several questions in order to determine your app cost. All prices are based on our 15 years of experience and thousand of projects. Final prices will be determined after our team does final scope review." - }, - { - "title": "App details", - "type": "questions", - "questions": [ - { - "fieldName": "name", - "type": "textinput", - "title": "What is the name of your app?", - "validationError": "Please, provide a name to your project", - "validations": "isRequired" - }, - { - "fieldName": "description", - "type": "textbox", - "title": "Please describe your app using 2-3 sentences", - "validations": "isRequired,minLength:160", - "validationErrors": { - "isRequired": "Please provide a description", - "minLength": "Please enter at least 160 characters" - } - }, - { - "fieldName": "details.utm.code", - "type": "textinput", - "title": "Do you have a Reference code? (optional)" - } - ] - } - ] - }, - { - "title": "My App", - "statusText": "Select an option", - "subSections": [ - { - "type": "questions", - "questions": [ - { - "type": "static", - "content": "{description}
Build agency-level designed consumer-grade applications for any platform and device. Chose what suits your project best, and fine-tune it to really match your organization’s needs. We provide security, enterprise-level code quality, robust design, and an option for dedicated project manager. Unmatched speed thanks to a 1.3M network of the world’s best designers, developers and data scientists.
Build agency-level designed consumer-grade applications for any platform and device. Chose what suits your project best, and fine-tune it to really match your organization’s needs. We provide security, enterprise-level code quality, robust design, and an option for dedicated project manager. Unmatched speed thanks to a 1.3M network of the world’s best designers, developers and data scientists.
" - }, - "validationError": "Please, choose what do you need.", - "validations": "isRequired", - "options": [ - { - "value": "design", - "label": "App Design", - "summaryLabel": "Design", - "quoteUp": 20000 - }, - { - "value": "development", - "label": "App Development", - "summaryLabel": "Development", - "quoteUp": 36000 - }, - { - "value": "qa", - "label": "QA, Fixes & Enhancements", - "summaryLabel": "QA", - "quoteUp": 10000 - }, - { - "value": "deployment", - "label": "Deployment", - "quoteUp": 10000 - } - ] - }, - { - "icon": "question", - "title": "What is the goal of your designs?", - "summaryTitle": "Design goal", - "fieldName": "details.appDefinition.designGoal", - "type": "radio-group", - "help": { - "linkTitle": "What should I choose?", - "title": "What should I choose?", - "content": "Build agency-level designed consumer-grade applications for any platform and device. Chose what suits your project best, and fine-tune it to really match your organization’s needs. We provide security, enterprise-level code quality, robust design, and an option for dedicated project manager. Unmatched speed thanks to a 1.3M network of the world’s best designers, developers and data scientists.
Build agency-level designed consumer-grade applications for any platform and device. Chose what suits your project best, and fine-tune it to really match your organization’s needs. We provide security, enterprise-level code quality, robust design, and an option for dedicated project manager. Unmatched speed thanks to a 1.3M network of the world’s best designers, developers and data scientists.
" - }, - "validationError": "Please, choose you design goal.", - "validations": "isRequired", - "condition": "(details.appDefinition.mainWork contains 'design')", - "options": [ - { - "value": "concept-exploration", - "label": "Concept exploration", - "summaryLabel": "concept", - "description": "We will produce high-quality screens with different directions that would help you define your product direction, and present to stakeholders." - }, - { - "value": "comprehensive-design-for-development", - "label": "Comprehensive design for development", - "summaryLabel": "development", - "description": "Our designers will create all the design deliverables for your app, including app icons, design specifications, and design assets." - } - ] - }, - { - "icon": "question", - "title": "How soon do you need your concepts?", - "summaryTitle": "Concepts timeline", - "fieldName": "details.appDefinition.conceptTimeline", - "type": "radio-group", - "help": { - "linkTitle": "What is the difference?", - "title": "What is the difference?", - "content": "Build agency-level designed consumer-grade applications for any platform and device. Chose what suits your project best, and fine-tune it to really match your organization’s needs. We provide security, enterprise-level code quality, robust design, and an option for dedicated project manager. Unmatched speed thanks to a 1.3M network of the world’s best designers, developers and data scientists.
Build agency-level designed consumer-grade applications for any platform and device. Chose what suits your project best, and fine-tune it to really match your organization’s needs. We provide security, enterprise-level code quality, robust design, and an option for dedicated project manager. Unmatched speed thanks to a 1.3M network of the world’s best designers, developers and data scientists.
" - }, - "validationError": "Please, choose your time expectations.", - "validations": "isRequired", - "condition": "(details.appDefinition.designGoal == 'concept-exploration')", - "options": [ - { - "value": "3-days", - "label": "ASAP — 3 days", - "summaryLabel": "3 days", - "description": "Our designer consultants will work with you to formulate the app screens and deliver the final concepts within only 3 short days.", - "quoteUp": 20000 - }, - { - "value": "7-days", - "label": "Standard — 7 days", - "summaryLabel": "7 days", - "description": "Topcoder will create agency-quality design variants for your app within 7 days.", - "quoteUp": 0 - } - ] - } - ], - "wizard": { - "previousStepVisibility": "readOptimized" - } - }, - { - "type": "questions", - "questions": [ - { - "icon": "question", - "title": "Where should your app work?", - "summaryTitle": "Devices", - "fieldName": "details.appDefinition.devices", - "type": "checkbox-group", - "help": { - "linkTitle": "What to choose", - "title": "What to choose", - "content": "Build agency-level designed consumer-grade applications for any platform and device. Chose what suits your project best, and fine-tune it to really match your organization’s needs. We provide security, enterprise-level code quality, robust design, and an option for dedicated project manager. Unmatched speed thanks to a 1.3M network of the world’s best designers, developers and data scientists.
Build agency-level designed consumer-grade applications for any platform and device. Chose what suits your project best, and fine-tune it to really match your organization’s needs. We provide security, enterprise-level code quality, robust design, and an option for dedicated project manager. Unmatched speed thanks to a 1.3M network of the world’s best designers, developers and data scientists.
" - }, - "validationError": "Please, select devices", - "validations": "isRequired", - "options": [ - { - "value": "mobile-phones", - "label": "Mobile phones", - "description": "Your app would work in all mobile devices. Our most requested option." - }, - { - "value": "tablets", - "label": "Tablets", - "description": "Your app would be optimized for the larger form-factor of a tablet device." - }, - { - "value": "desktop", - "label": "Desktop", - "description": "We will deliver a native desktop app, working under the selected desktop OS." - }, - { - "value": "web-browsers", - "label": "Web browsers", - "description": "Your app would be accessed via any web browser on desktop and mobile devices alike." - } - ] - }, - { - "icon": "question", - "title": "Mobile platforms needed", - "summaryTitle": "Mobile platforms", - "fieldName": "details.appDefinition.mobilePlatforms", - "type": "checkbox-group", - "help": { - "linkTitle": "Which platforms to select?", - "title": "Which platforms to select?", - "content": "Build agency-level designed consumer-grade applications for any platform and device. Chose what suits your project best, and fine-tune it to really match your organization’s needs. We provide security, enterprise-level code quality, robust design, and an option for dedicated project manager. Unmatched speed thanks to a 1.3M network of the world’s best designers, developers and data scientists.
Build agency-level designed consumer-grade applications for any platform and device. Chose what suits your project best, and fine-tune it to really match your organization’s needs. We provide security, enterprise-level code quality, robust design, and an option for dedicated project manager. Unmatched speed thanks to a 1.3M network of the world’s best designers, developers and data scientists.
" - }, - "condition": "( (details.appDefinition.devices contains 'mobile-phones') || (details.appDefinition.devices contains 'tablets') )", - "options": [ - { - "value": "ios", - "label": "iOS", - "description": "Your app would work on iOS phones. We will develop it using Objective-C and SWIFT" - }, - { - "value": "android", - "label": "Android", - "description": "Your app would work on all Android phones, and will be developed using Java. It would be highly optimized for the hardware and have a full experience for the end users." - } - ] - }, - { - "icon": "question", - "title": "Desktop OS needed", - "summaryTitle": "Desktop OS", - "fieldName": "details.appDefinition.desktopOS", - "type": "checkbox-group", - "help": { - "linkTitle": "Which OS to select?", - "title": "Which OS to select?", - "content": "Build agency-level designed consumer-grade applications for any platform and device. Chose what suits your project best, and fine-tune it to really match your organization’s needs. We provide security, enterprise-level code quality, robust design, and an option for dedicated project manager. Unmatched speed thanks to a 1.3M network of the world’s best designers, developers and data scientists.
Build agency-level designed consumer-grade applications for any platform and device. Chose what suits your project best, and fine-tune it to really match your organization’s needs. We provide security, enterprise-level code quality, robust design, and an option for dedicated project manager. Unmatched speed thanks to a 1.3M network of the world’s best designers, developers and data scientists.
" - }, - "condition": "(details.appDefinition.devices contains 'desktop')", - "options": [ - { - "value": "windows", - "label": "Windows" - }, - { - "value": "mac-os", - "label": "Mac OS" - }, - { - "value": "linux", - "label": "Linux" - } - ] - }, - { - "icon": "question", - "title": "Do you need a responsive app?", - "summaryTitle": "Responsive", - "fieldName": "details.appDefinition.webResponsive", - "type": "radio-group", - "help": { - "linkTitle": "What is responsive?", - "title": "What is responsive?", - "content": "Build agency-level designed consumer-grade applications for any platform and device. Chose what suits your project best, and fine-tune it to really match your organization’s needs. We provide security, enterprise-level code quality, robust design, and an option for dedicated project manager. Unmatched speed thanks to a 1.3M network of the world’s best designers, developers and data scientists.
Build agency-level designed consumer-grade applications for any platform and device. Chose what suits your project best, and fine-tune it to really match your organization’s needs. We provide security, enterprise-level code quality, robust design, and an option for dedicated project manager. Unmatched speed thanks to a 1.3M network of the world’s best designers, developers and data scientists.
" - }, - "condition": "(details.appDefinition.devices contains 'web-browsers')", - "options": [ - { - "value": "yes", - "label": "Yes", - "description": "Your app would be optimized for all devices from mobile phones to large desktops." - }, - { - "value": "no", - "label": "No" - } - ] - } - ], - "wizard": { - "previousStepVisibility": "readOptimized" - } - }, - { - "type": "questions", - "questions": [ - { - "icon": "question", - "title": "How many screens do you need?", - "summaryTitle": "Number of screens", - "fieldName": "details.appDefinition.screensQty", - "type": "radio-group", - "help": { - "linkTitle": "What are screens?", - "title": "What are screens?", - "content": "Build agency-level designed consumer-grade applications for any platform and device. Chose what suits your project best, and fine-tune it to really match your organization’s needs. We provide security, enterprise-level code quality, robust design, and an option for dedicated project manager. Unmatched speed thanks to a 1.3M network of the world’s best designers, developers and data scientists.
Build agency-level designed consumer-grade applications for any platform and device. Chose what suits your project best, and fine-tune it to really match your organization’s needs. We provide security, enterprise-level code quality, robust design, and an option for dedicated project manager. Unmatched speed thanks to a 1.3M network of the world’s best designers, developers and data scientists.
" - }, - "validationError": "Please, choose how many screens do you need.", - "validations": "isRequired", - "options": [ - { - "value": "2-4", - "label": "2-4 screens", - "description": "Suitable for small apps with 2-4 main features" - }, - { - "value": "5-9", - "label": "5-9 screens", - "description": "Suitable for medium apps with 4-6 main features", - "quoteUp": 7500 - }, - { - "value": "10-15", - "label": "10-15 screens", - "description": "Suitable for larger apps with 10-15 main features", - "quoteUp": 15000 - }, - { - "value": "16+", - "label": "More than 15 screens", - "description": "Use this only if your app is really big. One of our architects will evaluate the final amount during project review phase.", - "quoteUp": 22500 - } - ] - } - ], - "wizard": { - "previousStepVisibility": "readOptimized" - } - }, - { - "type": "questions", - "questions": [ - { - "icon": "question", - "title": "Do you require help for you project?", - "summaryTitle": "Dedicated manager", - "fieldName": "details.appDefinition.needArchitect", - "type": "radio-group", - "help": { - "linkTitle": "Do I need an architect?", - "title": "Do I need an architect?", - "content": "Build agency-level designed consumer-grade applications for any platform and device. Chose what suits your project best, and fine-tune it to really match your organization’s needs. We provide security, enterprise-level code quality, robust design, and an option for dedicated project manager. Unmatched speed thanks to a 1.3M network of the world’s best designers, developers and data scientists.
Build agency-level designed consumer-grade applications for any platform and device. Chose what suits your project best, and fine-tune it to really match your organization’s needs. We provide security, enterprise-level code quality, robust design, and an option for dedicated project manager. Unmatched speed thanks to a 1.3M network of the world’s best designers, developers and data scientists.
" - }, - "validationError": "Please, ley us know if you need a dedicated manager.", - "validations": "isRequired", - "options": [ - { - "value": "no", - "label": "No, I am technical enough to manage", - "summaryLabel": "No", - "description": "You will have to take technical decisions and discuss requirements with our project managers." - }, - { - "value": "yes", - "label": "Yes, please", - "summaryLabel": "Yes", - "description": "We will assign a technical architect to guide you through all the hurdles of design, development, and delivery. They will make sure that your scope and technical requirements are optimal for your project, and manage communication with our project managers." - } - ] - } - ], - "wizard": { - "previousStepVisibility": "readOptimized" - } - }, - { - "type": "questions", - "questions": [ - { - "type": "estimation", - "title": "Sample project timeline", - "deliverables": [ - { - "id": "design", - "title": "Design", - "duration": 3, - "enableCondition": "(details.appDefinition.mainWork contains 'design')" - }, { - "id": "development", - "title": "Development", - "duration": 24, - "enableCondition": "(details.appDefinition.mainWork contains 'development')" - }, { - "id": "qa", - "title": "QA", - "duration": 3, - "enableCondition": "(details.appDefinition.mainWork contains 'qa')" - }, { - "id": "deployment", - "title": "Deploy", - "duration": 1, - "enableCondition": "(details.appDefinition.mainWork contains 'deployment')" - } - ] - } - ] - } - ], - "wizard": { - "enabled": true, - "previousStepVisibility": "write" - } - }, - { - "title": "Configure my app", - "subSections": [ - { - "type": "questions", - "questions": [ - { - "icon": "question", - "title": "Design features", - "fieldName": "details.appDefinition.addons.design.registrationAndLogin", - "type": "add-ons", - "help": { - "linkTitle": "What to chose", - "title": "What to chose", - "content": "Build agency-level designed consumer-grade applications for any platform and device. Chose what suits your project best, and fine-tune it to really match your organization’s needs. We provide security, enterprise-level code quality, robust design, and an option for dedicated project manager. Unmatched speed thanks to a 1.3M network of the world’s best designers, developers and data scientists.
Build agency-level designed consumer-grade applications for any platform and device. Chose what suits your project best, and fine-tune it to really match your organization’s needs. We provide security, enterprise-level code quality, robust design, and an option for dedicated project manager. Unmatched speed thanks to a 1.3M network of the world’s best designers, developers and data scientists.
" - }, - "condition": "(details.appDefinition.mainWork contains 'design')", - "category": "generic", - "subCategories": ["copydesign"] - }, - { - "icon": "question", - "title": "Development features", - "fieldName": "details.appDefinition.addons.development.devFeatureSet1", - "type": "add-ons", - "summaryMode": "quantity", - "help": { - "linkTitle": "What to chose", - "title": "What to chose", - "content": "Build agency-level designed consumer-grade applications for any platform and device. Chose what suits your project best, and fine-tune it to really match your organization’s needs. We provide security, enterprise-level code quality, robust design, and an option for dedicated project manager. Unmatched speed thanks to a 1.3M network of the world’s best designers, developers and data scientists.
Build agency-level designed consumer-grade applications for any platform and device. Chose what suits your project best, and fine-tune it to really match your organization’s needs. We provide security, enterprise-level code quality, robust design, and an option for dedicated project manager. Unmatched speed thanks to a 1.3M network of the world’s best designers, developers and data scientists.
" - }, - "condition": "(details.appDefinition.mainWork contains 'development')", - "category": "generic", - "subCategories": ["test-product-category"] - }, - { - "icon": "question", - "title": "QA features", - "fieldName": "details.appDefinition.addons.qa.qaFeatureSet1", - "type": "add-ons", - "summaryMode": "quantity", - "help": { - "linkTitle": "What to chose", - "title": "What to chose", - "content": "Build agency-level designed consumer-grade applications for any platform and device. Chose what suits your project best, and fine-tune it to really match your organization’s needs. We provide security, enterprise-level code quality, robust design, and an option for dedicated project manager. Unmatched speed thanks to a 1.3M network of the world’s best designers, developers and data scientists.
Build agency-level designed consumer-grade applications for any platform and device. Chose what suits your project best, and fine-tune it to really match your organization’s needs. We provide security, enterprise-level code quality, robust design, and an option for dedicated project manager. Unmatched speed thanks to a 1.3M network of the world’s best designers, developers and data scientists.
" - }, - "condition": "(details.appDefinition.mainWork contains 'qa')", - "category": "generic", - "subCategories": ["test-product-category"] - }, - { - "icon": "question", - "title": "Delivery features", - "fieldName": "details.appDefinition.addons.delivery.deliveryFeatureSet1", - "type": "add-ons", - "summaryMode": "quantity", - "help": { - "linkTitle": "What to chose", - "title": "What to chose", - "content": "Build agency-level designed consumer-grade applications for any platform and device. Chose what suits your project best, and fine-tune it to really match your organization’s needs. We provide security, enterprise-level code quality, robust design, and an option for dedicated project manager. Unmatched speed thanks to a 1.3M network of the world’s best designers, developers and data scientists.
Build agency-level designed consumer-grade applications for any platform and device. Chose what suits your project best, and fine-tune it to really match your organization’s needs. We provide security, enterprise-level code quality, robust design, and an option for dedicated project manager. Unmatched speed thanks to a 1.3M network of the world’s best designers, developers and data scientists.
" - }, - "condition": "(details.appDefinition.mainWork contains 'deployment')", - "category": "gtest", - "subCategories": ["test-product-category"] - } - ], - "wizard": { - "enabled": true, - "previousStepVisibility": "readOptimized" - } - }, - { - "type": "questions", - "questions": [ - { - "type": "estimation", - "title": "Sample project timeline", - "deliverables": [ - { - "id": "design", - "title": "Design", - "duration": 3, - "enableCondition": "(details.appDefinition.mainWork contains 'design')" - }, { - "id": "development", - "title": "Development", - "duration": 24, - "enableCondition": "(details.appDefinition.mainWork contains 'development')" - }, { - "id": "qa", - "title": "QA", - "duration": 3, - "enableCondition": "(details.appDefinition.mainWork contains 'qa')" - }, { - "id": "deployment", - "title": "Deploy", - "duration": 1, - "enableCondition": "(details.appDefinition.mainWork contains 'deployment')" - } - ] - } - ] - } - ], - "wizard": { - "enabled": true, - "previousStepVisibility": "write" - } - } - ], - "wizard": { - "enabled": true, - "previousStepVisibility": "write" - }, - "basePriceEstimate": 20000 - }, - "phases": { - "1-app-design": { - "name": "App Design", - "products": [ - { - "productKey": "design-iteration-3-milestones", - "id": 26 - } - ], - "duration": 25 - }, - "2-front-end-development-i": { - "name": "Front-End Development, Pt. I", - "products": [ - { - "productKey": "development-iteration-3-milestones", - "id": 27 - } - ], - "duration": 19 - }, - "3-front-end-development-ii": { - "name": "Front-End Development, Pt. II", - "products": [ - { - "productKey": "development-iteration-3-milestones", - "id": 27 - } - ], - "duration": 19 - }, - "4-back-end-development-i": { - "name": "Back-End Development, Pt. I", - "products": [ - { - "productKey": "development-iteration-3-milestones", - "id": 27 - } - ], - "duration": 19 - }, - "5-back-end-development-ii": { - "name": "Back-End Development, Pt. II", - "products": [ - { - "productKey": "development-iteration-3-milestones", - "id": 27 - } - ], - "duration": 19 - }, - "6-qa-and-bug-fixes": { - "name": "QA & Bug Fixes", - "products": [ - { - "productKey": "qa-iteration", - "id": 30 - } - ], - "duration": 24 - } - }, - "disabled": false, - "hidden": true - } -] diff --git a/src/api/templates.js b/src/api/templates.js index a6c53cdf6..e883989bb 100644 --- a/src/api/templates.js +++ b/src/api/templates.js @@ -15,6 +15,44 @@ export function getProjectsMetadata() { .then(resp => _.get(resp.data, 'result.content', {})) } +/** + * Get project metadata according of the version (form, planConfig and priceConfig) + * @param type The type of metadata + * @param key The key of metadata + * @param version The version of metadata + * @return {Promise} project metadata (form, planConfig and priceConfig) + */ +export function getProjectMetadataWithVersion(type, key, version) { + return axios.get(`${PROJECTS_API_URL}/v4/projects/metadata/${type}/${key}/versions/${version}`) + .then((resp) => { + const versionMetadata = _.get(resp.data, 'result.content', {}) + return { type, versionMetadata } + }) +} + +/** + * Get the version list of projects metadata (form, planConfig and priceConfig) + * @param type The type of metadata + * @param key The key of metadata + * @return {Promise} version list (form, planConfig and priceConfig) + */ +export function getVersionOptionList(type, key) { + return axios.get(`${PROJECTS_API_URL}/v4/projects/metadata/${type}/${key}/versions`) + .then(resp => _.get(resp.data, 'result.content', {})) +} + +/** + * Get the revision list of projects metadata (form, planConfig and priceConfig) + * @param type The type of metadata + * @param key The key of metadata + * @param version The version of metadata + * @return {Promise} revision list (form, planConfig and priceConfig) + */ +export function getRevisionList(type, key, version) { + return axios.get(`${PROJECTS_API_URL}/v4/projects/metadata/${type}/${key}/versions/${version}/revisions`) + .then(resp => _.get(resp.data, 'result.content', {})) +} + /** * Create Project Metadata * @param type The type of metadata @@ -22,11 +60,21 @@ export function getProjectsMetadata() { * @returns {Promise} response body */ export function createProjectsMetadata(type, data) { - const path = type !== 'milestoneTemplates' ? 'projects' : 'timelines' - return axios.post(`${PROJECTS_API_URL}/v4/${path}/metadata/${type}`, { - param: data - }) - .then(resp => _.get(resp.data, 'result.content', {})) + const keys = ['form', 'planConfig', 'priceConfig'] + if (keys.includes(type)) { + const key = data.key + const tmpdata = _.omit(data, ['key', 'version', 'id', 'revision']) + return axios.post(`${PROJECTS_API_URL}/v4/projects/metadata/${type}/${key}/versions`, { + param: tmpdata + }) + .then(resp => _.get(resp.data, 'result.content', {})) + } else { + const path = type !== 'milestoneTemplates' ? 'projects' : 'timelines' + return axios.post(`${PROJECTS_API_URL}/v4/${path}/metadata/${type}`, { + param: data + }) + .then(resp => _.get(resp.data, 'result.content', {})) + } } /** @@ -37,11 +85,22 @@ export function createProjectsMetadata(type, data) { * @returns {Promise} response body */ export function updateProjectsMetadata(metadataId, type, data) { - const path = type !== 'milestoneTemplates' ? 'projects' : 'timelines' - return axios.patch(`${PROJECTS_API_URL}/v4/${path}/metadata/${type}/${metadataId}`, { - param: data - }) - .then(resp => _.get(resp.data, 'result.content', {})) + const keys = ['form', 'planConfig', 'priceConfig'] + if (keys.includes(type)) { + const key = data.key + const version = data.version + const tmpdata = _.omit(data, ['key', 'version', 'id', 'revision']) + return axios.patch(`${PROJECTS_API_URL}/v4/projects/metadata/${type}/${key}/versions/${version}`, { + param: tmpdata + }) + .then(resp => _.get(resp.data, 'result.content', {})) + } else { + const path = type !== 'milestoneTemplates' ? 'projects' : 'timelines' + return axios.patch(`${PROJECTS_API_URL}/v4/${path}/metadata/${type}/${metadataId}`, { + param: data + }) + .then(resp => _.get(resp.data, 'result.content', {})) + } } /** @@ -57,3 +116,19 @@ export function deleteProjectsMetadata(metadataId, type) { return { metadataId, type } }) } + +/** + * Delete Project Metadata Special (form, planConfig and priceConfig) + * @param metadataId The primary key of metadata + * @param type The type of metadata + * @param data The type of metadata + * @returns {Promise} response body + */ +export function deleteProjectsMetadataSpecial(metadataId, type, data) { + const key = data.key + const version = data.version + return axios.delete(`${PROJECTS_API_URL}/v4/projects/metadata/${type}/${key}/versions/${version}`) + .then(() => { + return { metadataId, type } + }) +} \ No newline at end of file diff --git a/src/assets/icons/bell-avatar.svg b/src/assets/icons/bell-avatar.svg new file mode 100644 index 000000000..cdf0ab20e --- /dev/null +++ b/src/assets/icons/bell-avatar.svg @@ -0,0 +1,11 @@ + + \ No newline at end of file diff --git a/src/assets/icons/file-12.svg b/src/assets/icons/file-12.svg new file mode 100644 index 000000000..536b969a7 --- /dev/null +++ b/src/assets/icons/file-12.svg @@ -0,0 +1,11 @@ + + \ No newline at end of file diff --git a/src/assets/icons/file.svg b/src/assets/icons/file.svg new file mode 100644 index 000000000..8c5714595 --- /dev/null +++ b/src/assets/icons/file.svg @@ -0,0 +1,11 @@ + + \ No newline at end of file diff --git a/src/assets/icons/invisible-12-white.svg b/src/assets/icons/invisible-12-white.svg new file mode 100644 index 000000000..4466974e9 --- /dev/null +++ b/src/assets/icons/invisible-12-white.svg @@ -0,0 +1,9 @@ + + \ No newline at end of file diff --git a/src/assets/icons/invisible-12.svg b/src/assets/icons/invisible-12.svg new file mode 100644 index 000000000..9dae1be27 --- /dev/null +++ b/src/assets/icons/invisible-12.svg @@ -0,0 +1,8 @@ + + \ No newline at end of file diff --git a/src/assets/icons/invisible.svg b/src/assets/icons/invisible.svg new file mode 100644 index 000000000..38fd2affc --- /dev/null +++ b/src/assets/icons/invisible.svg @@ -0,0 +1,11 @@ + + \ No newline at end of file diff --git a/src/assets/icons/link-12.svg b/src/assets/icons/link-12.svg new file mode 100644 index 000000000..c7a68910e --- /dev/null +++ b/src/assets/icons/link-12.svg @@ -0,0 +1,11 @@ + + \ No newline at end of file diff --git a/src/assets/icons/more.svg b/src/assets/icons/more.svg new file mode 100644 index 000000000..7e3059675 --- /dev/null +++ b/src/assets/icons/more.svg @@ -0,0 +1,11 @@ + + \ No newline at end of file diff --git a/src/assets/icons/v.2.5/icon-account-security.svg b/src/assets/icons/v.2.5/icon-account-security.svg new file mode 100644 index 000000000..5cac61b56 --- /dev/null +++ b/src/assets/icons/v.2.5/icon-account-security.svg @@ -0,0 +1,17 @@ + + \ No newline at end of file diff --git a/src/assets/icons/v.2.5/icon-all-projects.svg b/src/assets/icons/v.2.5/icon-all-projects.svg new file mode 100644 index 000000000..efdae495d --- /dev/null +++ b/src/assets/icons/v.2.5/icon-all-projects.svg @@ -0,0 +1,20 @@ + + \ No newline at end of file diff --git a/src/assets/icons/v.2.5/icon-assets-library.svg b/src/assets/icons/v.2.5/icon-assets-library.svg new file mode 100644 index 000000000..c85c5ffb5 --- /dev/null +++ b/src/assets/icons/v.2.5/icon-assets-library.svg @@ -0,0 +1,15 @@ + + \ No newline at end of file diff --git a/src/assets/icons/v.2.5/icon-dashboard.svg b/src/assets/icons/v.2.5/icon-dashboard.svg new file mode 100644 index 000000000..582a5700c --- /dev/null +++ b/src/assets/icons/v.2.5/icon-dashboard.svg @@ -0,0 +1,22 @@ + + \ No newline at end of file diff --git a/src/assets/icons/v.2.5/icon-folder-small.svg b/src/assets/icons/v.2.5/icon-folder-small.svg new file mode 100644 index 000000000..7be953f90 --- /dev/null +++ b/src/assets/icons/v.2.5/icon-folder-small.svg @@ -0,0 +1,17 @@ + + \ No newline at end of file diff --git a/src/assets/icons/v.2.5/icon-messages.svg b/src/assets/icons/v.2.5/icon-messages.svg new file mode 100644 index 000000000..56f71ae1c --- /dev/null +++ b/src/assets/icons/v.2.5/icon-messages.svg @@ -0,0 +1,16 @@ + + \ No newline at end of file diff --git a/src/assets/icons/v.2.5/icon-my-profile.svg b/src/assets/icons/v.2.5/icon-my-profile.svg new file mode 100644 index 000000000..8de24c3c1 --- /dev/null +++ b/src/assets/icons/v.2.5/icon-my-profile.svg @@ -0,0 +1,18 @@ + + \ No newline at end of file diff --git a/src/assets/icons/v.2.5/icon-notification-setting.svg b/src/assets/icons/v.2.5/icon-notification-setting.svg new file mode 100644 index 000000000..426a37748 --- /dev/null +++ b/src/assets/icons/v.2.5/icon-notification-setting.svg @@ -0,0 +1,18 @@ + + \ No newline at end of file diff --git a/src/assets/icons/v.2.5/icon-reports.svg b/src/assets/icons/v.2.5/icon-reports.svg new file mode 100644 index 000000000..9a4f2c4bb --- /dev/null +++ b/src/assets/icons/v.2.5/icon-reports.svg @@ -0,0 +1,25 @@ + + \ No newline at end of file diff --git a/src/components/ActionCard/ActionCard.scss b/src/components/ActionCard/ActionCard.scss index d92347b01..8c61015fa 100644 --- a/src/components/ActionCard/ActionCard.scss +++ b/src/components/ActionCard/ActionCard.scss @@ -617,7 +617,8 @@ .delete-post-dialog-overlay { background: rgba($tc-gray-90, 0.6); - z-index: 20; + // As the posts are moved to topic drawer, need high z value to raise above them + z-index: 1301; position: fixed; top: 0; left: 0; diff --git a/src/components/ActionCard/Comment.scss b/src/components/ActionCard/Comment.scss index f25f44b33..18d31114d 100644 --- a/src/components/ActionCard/Comment.scss +++ b/src/components/ActionCard/Comment.scss @@ -39,6 +39,11 @@ a, a:hover { color:$tc-dark-blue-110; + + // copy/pasted links sometimes have ins tag inside which adds underline + > ins { + text-decoration: none; + } } } diff --git a/src/components/ActionCard/CommentEditToggle.jsx b/src/components/ActionCard/CommentEditToggle.jsx index 0e7e97f27..06b57f6f2 100644 --- a/src/components/ActionCard/CommentEditToggle.jsx +++ b/src/components/ActionCard/CommentEditToggle.jsx @@ -39,11 +39,15 @@ export default class CommentEditToggle extends React.Component { const {showDeleteConfirm } = this.state const editOptions = {label:this.props.forTopic ? 'Edit Title' : 'Edit post', val:'1'} const deleteOptions = {label:this.props.forTopic ? 'Delete thread' : 'Delete post', val:'2'} + return ({formatFolderTitle(link.title)}
{renderLink(link)}
{formatFolderTitle(link.title)}
{renderLink(link)}
{renderLink(childLink)}
@@ -92,6 +95,12 @@ const NotificationsDropdownContainerView = (props) => {
)
}
+ const markNotificationsSeen = (isOpen) => {
+ if (isOpen) {
+ markAllNotificationsSeen(null, notifications)
+ }
+ }
+
// this function checks that notification is not seen yet,
// before marking it as seen
const markNotificationSeen = (notificationId) => {
@@ -118,10 +127,10 @@ const NotificationsDropdownContainerView = (props) => {
return (
@@ -630,7 +642,8 @@ RichTextArea.propTypes = {
editingTopic: PropTypes.bool,
hasPrivateSwitch: PropTypes.bool,
canUploadAttachment: PropTypes.bool,
- attachments: PropTypes.array
+ attachments: PropTypes.array,
+ textAreaOnly: PropTypes.bool
}
export default withRouter(RichTextArea)
diff --git a/src/components/RichTextArea/RichTextArea.scss b/src/components/RichTextArea/RichTextArea.scss
index a651ecd03..036cacbb2 100644
--- a/src/components/RichTextArea/RichTextArea.scss
+++ b/src/components/RichTextArea/RichTextArea.scss
@@ -6,6 +6,21 @@
padding: 2 * $base-unit 0 0;
position: relative;
+ .title-edit-actions {
+ position: absolute;
+ right: 24px;
+ top: 50%;
+ transform: translateY(-50%);
+ background-color: $tc-gray-10;
+ border-radius: 3px;
+
+ & > span {
+ padding: 8px;
+ display: inline-block;
+ cursor: pointer;
+ }
+ }
+
&.expanded {
.tc-textarea .textarea-footer .textarea-footer-inner {
display: block;
@@ -390,4 +405,4 @@
line-height: $base-unit*3;
}
}
-}
+}
\ No newline at end of file
diff --git a/src/components/Select/Select.jsx b/src/components/Select/Select.jsx
index 9b114966e..92f300a7e 100644
--- a/src/components/Select/Select.jsx
+++ b/src/components/Select/Select.jsx
@@ -16,6 +16,9 @@ const Select = (props) => {
if (props.showDropdownIndicator) {
containerclass = 'react-select-container'
}
+ if (props.heightAuto) {
+ containerclass += ' height-auto'
+ }
if (props.createOption) {
return (
@@ -24,7 +27,6 @@ const Select = (props) => {
createOptionPosition="first"
className={containerclass}
classNamePrefix="react-select"
- noOptionsMessage={() => ('Type to search')}
/>
)
} else {
@@ -34,10 +36,13 @@ const Select = (props) => {
createOptionPosition="first"
className={containerclass}
classNamePrefix="react-select"
- noOptionsMessage={() => ('Type to search')}
/>
)
}
}
+Select.defaultProps = {
+ noOptionsMessage: () => 'Type to search'
+}
+
export default Select
diff --git a/src/components/Select/Select.scss b/src/components/Select/Select.scss
index 682b85c02..f165bb4d4 100644
--- a/src/components/Select/Select.scss
+++ b/src/components/Select/Select.scss
@@ -5,6 +5,13 @@
$reactselectcontentheight: 20px;
@mixin reactselectstyles {
+ &.height-auto .react-select__control{
+ height: auto;
+ & > div {
+ height: auto;
+ }
+ }
+
& .react-select__control:hover {
border-color: $tc-gray-50;
}
diff --git a/src/components/SelectDropdown/SelectDropdown.jsx b/src/components/SelectDropdown/SelectDropdown.jsx
index 46072ad8b..de6ee6e80 100644
--- a/src/components/SelectDropdown/SelectDropdown.jsx
+++ b/src/components/SelectDropdown/SelectDropdown.jsx
@@ -25,7 +25,7 @@ class SelectDropdown extends Component {
}
componentWillMount() {
- this.updateSelectedOptionValue(this.props.value)
+ this.updateSelectedOptionValue(_.toString(this.props.value))
}
updateSelectedOptionValue(value) {
diff --git a/src/components/SelectDropdown/SelectDropdown.scss b/src/components/SelectDropdown/SelectDropdown.scss
index 78d69cecb..c21e57f41 100644
--- a/src/components/SelectDropdown/SelectDropdown.scss
+++ b/src/components/SelectDropdown/SelectDropdown.scss
@@ -14,6 +14,8 @@
.Dropdown {
top: 20px;
+ max-height: 300px;
+ overflow: auto;
}
}
}
@@ -30,6 +32,17 @@
}
}
+// for the "theme" contains "max-height" restrict the max-he
+:global(.dropdown-wrap.max-height .Dropdown ul.dropdown-menu-list) {
+ max-height: 200px;
+ overflow: auto;
+}
+
+// make dropdown higher in the z-index to cover other elements when it's opened
+:global(.dropdown-wrap.default .Dropdown) {
+ z-index: 10;
+}
+
.dropdown-disabled {
margin-left: 0;
width: 100%;
diff --git a/src/components/TeamManagement/ProjectManagementDialog.js b/src/components/TeamManagement/ProjectManagementDialog.js
index 03d4327d3..f096f4e81 100644
--- a/src/components/TeamManagement/ProjectManagementDialog.js
+++ b/src/components/TeamManagement/ProjectManagementDialog.js
@@ -176,7 +176,7 @@ class ProjectManagementDialog extends React.Component {
/>
+ {question.title}
{phasesEnabled.length ? (
@@ -78,6 +85,7 @@ ProjectEstimation.propTypes = {
template: PT.object.isRequired,
showDescription: PT.bool.isRequired,
theme: PT.string,
+ onClick: PT.func,
}
export default ProjectEstimation
diff --git a/src/projects/create/components/ProjectEstimation.scss b/src/projects/create/components/ProjectEstimation.scss
index 27a00031b..d847602a3 100644
--- a/src/projects/create/components/ProjectEstimation.scss
+++ b/src/projects/create/components/ProjectEstimation.scss
@@ -85,10 +85,11 @@ $timeline-colors: (design: #5A52A3, development: #306BE1, qa: #35A3BC, deploymen
}
}
-.dashboard{
+.dashboard {
background-color: white;
border-radius: 10px;
box-shadow: 0 2px 6px 1px $tc-gray-neutral-dark;
+ cursor: pointer;
padding: 15px 20px 20px 20px;
margin-top: 15px;
.title {
diff --git a/src/projects/create/components/ProjectWizard.jsx b/src/projects/create/components/ProjectWizard.jsx
index bc9d01cf2..a68d831e3 100644
--- a/src/projects/create/components/ProjectWizard.jsx
+++ b/src/projects/create/components/ProjectWizard.jsx
@@ -13,7 +13,9 @@ import FillProjectDetails from './FillProjectDetails'
import ProjectSubmitted from './ProjectSubmitted'
import update from 'react-addons-update'
-import { LS_INCOMPLETE_PROJECT, PROJECT_REF_CODE_MAX_LENGTH, LS_INCOMPLETE_WIZARD } from '../../../config/constants'
+import {
+ LS_INCOMPLETE_PROJECT, PROJECT_REF_CODE_MAX_LENGTH, LS_INCOMPLETE_WIZARD, PROJECT_ATTACHMENTS_FOLDER
+} from '../../../config/constants'
import './ProjectWizard.scss'
const WZ_STEP_INCOMP_PROJ_CONF = 0
@@ -433,6 +435,7 @@ class ProjectWizard extends Component {
const { processing, showModal, userRoles, projectTemplates, projectTypes, projectId, match, templates } = this.props
const { project, dirtyProject, wizardStep } = this.state
const params = match.params
+ const attachmentsStorePath = `${PROJECT_ATTACHMENTS_FOLDER}/new-project/`
return (