diff --git a/.circleci/config.yml b/.circleci/config.yml
index 02e01d86..e132c9a6 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -32,6 +32,12 @@ deploy_steps: &deploy_steps
./buildenv.sh -e $DEPLOY_ENV -b ${LOGICAL_ENV}-${APPNAME}-deployvar
source buildenvvar
./master_deploy.sh -d ECS -e $DEPLOY_ENV -t latest -s ${LOGICAL_ENV}-global-appvar,${LOGICAL_ENV}-${APPNAME}-appvar -i ${APPNAME}
+
+ echo "======= Running Masterscript - deploy projects-api-consumers ==========="
+ if [ -e ${LOGICAL_ENV}-${APPNAME}-appvar.json ]; then sudo rm -vf ${LOGICAL_ENV}-${APPNAME}-appvar.json; fi
+ ./buildenv.sh -e $DEPLOY_ENV -b ${LOGICAL_ENV}-${APPNAME}-consumers-deployvar
+ source buildenvvar
+ ./master_deploy.sh -d ECS -e $DEPLOY_ENV -t latest -s ${LOGICAL_ENV}-global-appvar,${LOGICAL_ENV}-${APPNAME}-appvar -i ${APPNAME}
jobs:
test:
diff --git a/.gitignore b/.gitignore
index edd85b28..37f3fd7a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -47,3 +47,6 @@ jspm_packages
!.elasticbeanstalk/*.global.yml
.DS_Store
.idea
+
+# Report which might be generated using `scripts/es-db-compare` script
+report.html
diff --git a/README.md b/README.md
index 20fedeea..63e9f838 100644
--- a/README.md
+++ b/README.md
@@ -2,10 +2,27 @@
Microservice to manage CRUD operations for all things Projects.
-### Note : Steps mentioned below are best to our capability as guide for local deployment, however, we expect from contributor, being a developer, to resolve run-time issues (e.g. OS and node version issues etc), if any.
+**Note : Steps mentioned below are best to our capability as guide for local deployment, however, we expect from contributor, being a developer, to resolve run-time issues (e.g. OS and node version issues etc), if any.**
+
+- [Local Development](#local-development)
+ - [Requirements](#requirements)
+ - [Steps to run locally](#steps-to-run-locally)
+ - [Import sample metadata projects](#import-sample-metadata-projects)
+ - [Run Connect App with Project Service locally](#run-connect-app-with-project-service-locally)
+- [Test](#test)
+ - [JWT Authentication](#jwt-authentication)
+- [Deploying with docker (might need updates)](#deploying-with-docker-might-need-updates)
+- [Kafka commands](#kafka-commands)
+ - [Create Topic](#create-topic)
+ - [List Topics](#list-topics)
+ - [Watch Topic](#watch-topic)
+ - [Post Message to Topic (from stdin)](#post-message-to-topic-from-stdin)
+- [References](#references)
## Local Development
+Local setup should work good on **Linux** and **macOS**. But **Windows** is not supported at the moment.
+
### Requirements
* [docker-compose](https://docs.docker.com/compose/install/) - We use docker-compose for running dependencies locally.
@@ -14,78 +31,156 @@ Microservice to manage CRUD operations for all things Projects.
### Steps to run locally
1. Install node dependencies
+
```bash
npm install
```
-* Run docker with dependant services
- ```bash
- cd local/
- docker-compose up
- ```
- This will run several services locally:
- - `postgres` - two instances: for app and for unit tests
- - `elasticsearch`
- - `rabbitmq`
- - `mock-services` - mocks some Topcoder API
+3. Start **ONE** of the docker-compose files with dependant services which are required for Project Service to work
+
+ 1. **Minimal** `./local/docker-compose.yml`:
+
+ *Use this docker-compose if you only want to test and modify code of Project Service and you don't need Elasticsearch (ES) to work.*
+
+ Run, inside folder `./local`:
+ ```bash
+ docker-compose up
+ ```
+
+ Click to see details
+
+
+ This docker-compose file starts the next services:
+ | Service | Name | Port |
+ |----------|:-----:|:----:|
+ | PostgreSQL | db | 5432 |
+ | Elasticsearch | esearch | 9200 |
+ | RabbitMQ | queue | 5672, 15672 |
+ | Mock Service (not in use) | jsonserver | 3001 |
+
+
+
+ 2. **Full** `./local/full/docker-compose.yml`:
+
+ *Use this docker-compose if you want to test and modify code of Project Service together with one of the next relative services: [tc-bus-api](https://github.com/topcoder-platform/tc-bus-api), [project-processor-es](https://github.com/topcoder-platform/project-processor-es), [tc-notifications](https://github.com/topcoder-platform/tc-notifications) or you need Elasticsearch (ES) to work.*
+
+ 1. Set environment variables `AUTH0_CLIENT_ID`, `AUTH0_CLIENT_SECRET`, `AUTH0_URL`, `AUTH0_AUDIENCE`, `AUTH0_PROXY_SERVER_URL`
+ 2. Run, inside folder `./local/full`
+
+ ```bash
+ docker-compose up -d
+ ```
+
+ 3. Wait until all containers are fully started. As a good indicator, wait until `project-processor-es` successfully started by viewing its logs:
+
+ ```bash
+ docker-compose logs -f project-processor-es
+ ```
+
+ Click to see example logs
+
+
+ - first it would be waiting for `kafka-client` to create all the required topics and exit, you would see:
+
+ ```
+ project-processor-es_1 | Waiting for kafka-client to exit....
+ ```
+
+ - after that, `project-processor-es` would be started itself. Make sure it successfully connected to Kafka, you should see 3 lines with text `Subscribed to project.action.`:
+
+ ```
+ project-processor-es_1 | 2020-02-19T03:18:46.523Z DEBUG no-kafka-client Subscribed to project.action.update:0 offset 0 leader kafka:9093
+ project-processor-es_1 | 2020-02-19T03:18:46.524Z DEBUG no-kafka-client Subscribed to project.action.delete:0 offset 0 leader kafka:9093
+ project-processor-es_1 | 2020-02-19T03:18:46.528Z DEBUG no-kafka-client Subscribed to project.action.create:0 offset 0 leader kafka:9093
+ ```
+
- *NOTE: In production these dependencies / services are hosted & managed outside tc-projects-service.*
+ 4. If you want to modify the code of any of the services which are run inside this docker-compose file, you can stop such service inside docker-compose by command `docker-compose stop -f ` and run the service separately, following its README file.
-* Local config
+ Click to see details
+
- There are two prepared configs:
- - if you have M2M environment variables provided: `AUTH0_CLIENT_ID`, `AUTH0_CLIENT_SECRET`, `AUTH0_URL`, `AUTH0_AUDIENCE`, `AUTH0_PROXY_SERVER_URL` then use `config/m2m.local.js`
- - otherwise use `config/mock.local.js`.
+ This docker-compose file starts the next services:
+ | Service | Name | Port |
+ |----------|:-----:|:----:|
+ | PostgreSQL | db | 5432 |
+ | Elasticsearch | esearch | 9200 |
+ | RabbitMQ | queue | 5672, 15672 |
+ | Mock Service (not in use) | jsonserver | 3001 |
+ | Zookeeper | zookeeper | 2181 |
+ | Kafka | kafka | 9092 |
+ | [tc-bus-api](https://github.com/topcoder-platform/tc-bus-api) | tc-bus-api | 8002 |
+ | [project-processor-es](https://github.com/topcoder-platform/project-processor-es) | project-processor-es | 5000 |
+ | [tc-notifications-api](https://github.com/topcoder-platform/tc-notifications) | tc-notifications-api | 4000 |
+ | [tc-notifications-processor](https://github.com/topcoder-platform/tc-notifications) | tc-notifications-processor | 4001 |
- To apply any of these config copy it to `config/local.js`:
+ - as many of the Topcoder services which are run in this docker-compose require Auth0 configuration for M2M calls, that's why if we want to start this docker-compose file, we have to set environment variables `AUTH0_CLIENT_ID`, `AUTH0_CLIENT_SECRET`, `AUTH0_URL`, `AUTH0_AUDIENCE`, `AUTH0_PROXY_SERVER_URL` first and they would be passed inside containers.
- ```bash
- cp config/mock.local.js config/local.js
- # or
- cp config/m2m.local.js config/local.js
- ```
+ - `docker-compose` automatically would create Kafka topics which are used by `tc-project-service` listed in `local/full/kafka-client/topics.txt`.
- `config/local.js` has a prepared configuration which would replace values no matter what `NODE_ENV` value is.
+ - To view the logs from any container inside docker-compose use the following command, replacing `SERVICE_NAME` with the corresponding value under the **Name** column in the above table:
- **IMPORTANT** These configuration files assume that docker containers are run on domain `dockerhost`. Depend on your system you have to make sure that domain `dockerhost` points to the IP address of docker.
- For example, you can add a the next line to your `/etc/hosts` file, if docker is run on IP `127.0.0.1`.
- ```
- 127.0.0.1 dockerhost
- ```
- Alternatively, you may update `config/local.js` and replace `dockerhost` with your docker IP address.
- You may try using command `docker-machine ip` to get your docker IP, but it works not for all systems.
- Also, be sure to update `busApiUrl` if you are running `tc-bus-api` locally. (See below)
+ ```bash
+ cd local/full
+ docker-compose logs -f SERVICE_NAME
+ ```
- Explanation of configs:
- - `config/mock.local.js` - Use local `mock-services` from docker to mock Identity and Member services instead of using deployed at Topcoder dev environment.
- - `config/m2m.local.js` - Use Identity and Member services deployed at Topcoder dev environment. This can be used only if you have M2M environment variables (`AUTH0_CLIENT_ID`, `AUTH0_CLIENT_SECRET`, `AUTH0_URL`, `AUTH0_AUDIENCE`, `AUTH0_PROXY_SERVER_URL`) provided to access Topcoder DEV environment services.
+
-* Create tables in DB
- ```bash
- NODE_ENV=development npm run sync:db
- ```
- This command will crate tables in `postgres` db.
+ *NOTE: In production these dependencies / services are hosted & managed outside Project Service.*
- *NOTE: this will drop tables if they already exist.*
+4. Local config
-* Sync ES indices
- ```bash
- NODE_ENV=development npm run sync:es
- ```
- Helper script to sync the indices and mappings with the elasticsearch.
+ 1. Copy config file `config/m2m.local.js` into `config/local.js`:
+ ```bash
+ cp config/m2m.local.js config/local.js
+ ```
- *NOTE: This will first clear all the indices and than recreate them. So use with caution.*
+ 2. Set `dockerhost` to point the IP address of Docker. Docker IP address depends on your system. For example if docker is run on IP `127.0.0.1` add a the next line to your `/etc/hosts` file:
+ ```
+ 127.0.0.1 dockerhost
+ ```
-* Run
+ Alternatively, you may update `config/local.js` and replace `dockerhost` with your docker IP address.
- **NOTE** If you use `config/m2m.local.js` config, you should set M2M environment variables before running the next command.
- ```bash
- npm run start:dev
- ```
- Runs the Project Service using nodemon, so it would be restarted after any of the files is updated.
- The project service will be served on `http://localhost:8001`.
+5. Create tables in DB
+ ```bash
+ NODE_ENV=development npm run sync:db
+ ```
-### Import sample metadata & projects
+ *NOTE: this will drop tables if they already exist.*
+
+6. Create ES (Elasticsearch) indexes
+ ```bash
+ NODE_ENV=development npm run sync:es
+ ```
+
+ *NOTE: This will first clear all the indices and than recreate them. So use with caution.*
+
+7. Start Project Service
+
+ 1. Set environment variables `AUTH0_CLIENT_ID`, `AUTH0_CLIENT_SECRET`, `AUTH0_URL`, `AUTH0_AUDIENCE`, `AUTH0_PROXY_SERVER_URL`
+
+ 2. Run
+
+ ```bash
+ npm run start:dev
+ ```
+
+ Runs the Project Service using nodemon, so it would be restarted after any of the files is updated.
+ The project service will be served on `http://localhost:8001`.
+
+8. *(Optional)* Start Project Service Kafka Consumer
+
+ *Run this only if you want to test or modify logic of `lastActivityAt` or `lastActivityBy`.*
+
+ In another terminal window run:
+
+ ```bash
+ npm run startKafkaConsumers:dev
+ ```
+
+### Import sample metadata projects
```bash
CONNECT_USER_TOKEN= npm run demo-data
@@ -97,56 +192,6 @@ This command for importing data uses API to create demo data. Which has a few pe
- data in ElasticSearch Index (ES) would be only created if services [project-processor-es](https://github.com/topcoder-platform/project-processor-es) and [tc-bus-api](https://github.com/topcoder-platform/tc-bus-api) are also started locally. If you don't start them, then imported data wouldn't be indexed in ES, and would be only added to DB. You may start them locally separately, or better use `local/full/docker-compose.yml` as described [next section](#local-deployment-with-other-topcoder-services) which would start them automatically.
- **NOTE** During data importing a lot of records has to be indexed in ES, so you have to wait about 5-10 minutes after `npm run demo-data` is finished until imported data is indexed in ES. You may watch logs of `project-processor-es` to see if its done or no.
-### Local Deployment with other Topcoder Services.
-
-* There exists an alternate `docker-compose.yml` file that can be used to spawn containers for the following services:
-
- | Service | Name | Port |
- |----------|:-----:|:----:|
- | PostGreSQL DB | db | 5432 |
- | ElasticSearch | esearch | 9200,9300 |
- | RabbitMQ | queue | 5672, 15672 |
- | Zookeeper | zookeeper | 2181 |
- | Kafka | kafka | 9092 |
- | [tc-bus-api](https://github.com/topcoder-platform/tc-bus-api) | tc-bus-api | 8002 |
- | [project-processor-es](https://github.com/topcoder-platform/project-processor-es) | project-processor-es | 5000 |
- | [tc-notifications-api](https://github.com/topcoder-platform/tc-notifications) | tc-notifications-api | 4000 |
- | [tc-notifications-processor](https://github.com/topcoder-platform/tc-notifications) | tc-notifications-processor | 4001 |
-
-* To have kafka create a list of desired topics on startup, there exists a file with the path `local/full/kafka-client/topics.txt`. Each line from the file will be added as a topic.
-* To run these services simply run the following commands:
-
- ```bash
- export AUTH0_CLIENT_ID=
- export AUTH0_CLIENT_SECRET=
- export AUTH0_URL=
- export AUTH0_AUDIENCE=
- export AUTH0_PROXY_SERVER_URL=
-
- cd local/full
- docker-compose up -d
- ```
-
-* The environment variables specified in the commands above will be passed onto the containers that have been configured to read them.
-* The above command will start all containers in the background.
-* To view the logs of any of the services use the following command, replacing "SERVICE_NAME" with the corresponding value under the "Name" column in the above table:
-
- ```bash
- cd local/full
- docker-compose logs -f SERVICE_NAME
- ```
-
-* The containers have been configured such that all Topcoder services will wait until all the topics listed in `local/full/kafka-client/topics.txt` have been created. To monitor the progress of topic creation, you can view the logs of the `kafka-client` service, which will exit when all topics have been created.
-
-* **WARNING**
- After all the containers are started, make sure that `project-processor-es` service started successfully, as sometimes it doesn't start successfully as Kafka wasn't yet properly started at that moment. So run `docker-compose logs -f project-processor-es` to see its logs, you should see 3 lines with text `Subscribed to project.action.` like:
- ```
- project-processor-es_1 | 2019-12-18T11:10:12.849Z DEBUG no-kafka-client Subscribed to project.action.update:0 offset 0 leader 96e65c46c746:9092
- project-processor-es_1 | 2019-12-18T11:10:12.851Z DEBUG no-kafka-client Subscribed to project.action.delete:0 offset 0 leader 96e65c46c746:9092
- project-processor-es_1 | 2019-12-18T11:10:12.852Z DEBUG no-kafka-client Subscribed to project.action.create:0 offset 0 leader 96e65c46c746:9092
- ```
- If you don't see such lines, restart `project-processor-es` service ONLY by running `docker-compose restart project-processor-es`.
-
### Run Connect App with Project Service locally
To be able to run [Connect App](https://github.com/appirio-tech/connect-app) with the local setup of Project Service we have to do two things:
@@ -170,7 +215,7 @@ To be able to run [Connect App](https://github.com/appirio-tech/connect-app) wit
3. Restart both Connect App and Project Service if they were running.
-### Test
+## Test
```bash
npm run test
```
@@ -178,14 +223,14 @@ Tests are being executed with the `NODE_ENV` environment variable has a value `t
Each of the individual modules/services are unit tested.
-#### JWT Authentication
+### JWT Authentication
Authentication is handled via Authorization (Bearer) token header field. Token is a JWT token. Here is a sample token that is valid for a very long time for a user with administrator role.
```
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJhZG1pbmlzdHJhdG9yIl0sImlzcyI6Imh0dHBzOi8vYXBpLnRvcGNvZGVyLWRldi5jb20iLCJoYW5kbGUiOiJwc2hhaDEiLCJleHAiOjI0NjI0OTQ2MTgsInVzZXJJZCI6IjQwMTM1OTc4IiwiaWF0IjoxNDYyNDk0MDE4LCJlbWFpbCI6InBzaGFoMUB0ZXN0LmNvbSIsImp0aSI6ImY0ZTFhNTE0LTg5ODAtNDY0MC04ZWM1LWUzNmUzMWE3ZTg0OSJ9.XuNN7tpMOXvBG1QwWRQROj7NfuUbqhkjwn39Vy4tR5I
```
It's been signed with the secret 'secret'. This secret should match your entry in config/local.js. You can generate your own token using https://jwt.io
-### Local Deployment
+## Deploying with docker (might need updates)
**NOTE: This part of README may contain inconsistencies and requires update. Don't follow it unless you know how to properly make configuration for these steps. It's not needed for regular development process.**
@@ -197,35 +242,37 @@ You may replace 172.17.0.1 with your docker0 IP.
You can paste **swagger.yaml** to [swagger editor](http://editor.swagger.io/) or import **postman.json** and **postman_environment.json** to verify endpoints.
-#### Deploying without docker
-If you don't want to use docker to deploy to localhost. You can simply run `npm run start:dev` from root of project. This should start the server on default port `8001`.
+## Kafka commands
-### Kafka Commands
+If you've used **Full** `docker-compose` with the file `local/full/docker-compose.yml` during local setup to spawn kafka & zookeeper, you can use the following commands to manipulate kafka topics and messages:
+(Replace `TOPIC_NAME` with the name of the desired topic)
-If you've used `docker-compose` with the file `local/full/docker-compose.yml` to spawn kafka & zookeeper, you can use the following commands to manipulate kafka topics and messages:
-(Replace TOPIC_NAME with the name of the desired topic)
-
-**Create Topic**
+### Create Topic
```bash
-docker exec tc-projects-kafka /usr/bin/kafka-topics --create --zookeeper zookeeper:2181 --partitions 1 --replication-factor 1 --topic TOPIC_NAME
+docker exec tc-projects-kafka /opt/kafka/bin/kafka-topics.sh --create --zookeeper zookeeper:2181 --partitions 1 --replication-factor 1 --topic TOPIC_NAME
```
-**List Topics**
+### List Topics
```bash
-docker exec -it tc-projects-kafka /usr/bin/kafka-topics --list --zookeeper zookeeper:2181
+docker exec tc-projects-kafka /opt/kafka/bin/kafka-topics.sh --list --zookeeper zookeeper:2181
```
-**Watch Topic**
+### Watch Topic
```bash
-docker exec -it tc-projects-kafka /usr/bin/kafka-console-consumer --bootstrap-server localhost:9092 --zookeeper zookeeper:2181 --topic TOPIC_NAME
+docker exec tc-projects-kafka /opt/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic TOPIC_NAME
```
-**Post Message to Topic**
+### Post Message to Topic (from stdin)
```bash
-docker exec -it tc-projects-kafka /usr/bin/kafka-console-producer --topic TOPIC_NAME --broker-list localhost:9092
+docker exec -it tc-projects-kafka /opt/kafka/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic TOPIC_NAME
```
-The message can be passed using `stdin`
+
+- Enter or copy/paste the message into the console after starting this command.
+
+## References
+
+- [Projects Service Architecture](./docs/guides/architercture/architecture.md)
\ No newline at end of file
diff --git a/config/custom-environment-variables.json b/config/custom-environment-variables.json
index db6f6543..c72c169c 100644
--- a/config/custom-environment-variables.json
+++ b/config/custom-environment-variables.json
@@ -56,15 +56,20 @@
"pageSize": "PAGE_SIZE",
"SSO_REFCODES": "SSO_REFCODES",
"lookerConfig": {
+ "EMBED_KEY": "LOOKER_EMBED_KEY",
+ "LOOKER_HOST": "LOOKER_HOST",
+ "SESSION_LENGTH": "LOOKER_SESSION_LENGTH",
"BASE_URL": "LOOKER_API_BASE_URL",
"CLIENT_ID": "LOOKER_API_CLIENT_ID",
"CLIENT_SECRET": "LOOKER_API_CLIENT_SECRET",
"TOKEN": "TOKEN",
- "USE_MOCK": "LOOKER_API_ENABLE_MOCK",
+ "USE_MOCK": "ENABLE_MOCK_REPORTS",
"QUERIES": {
"REG_STATS": "LOOKER_API_REG_STATS_QUERY_ID",
"BUDGET": "LOOKER_API_BUDGET_QUERY_ID"
- }
+ },
+ "EMBED_REPORTS_MAPPING": "EMBED_REPORTS_MAPPING",
+ "ALLOWED_USERS": "REPORTS_ALLOWED_USERS"
},
"DEFAULT_M2M_USERID": "DEFAULT_M2M_USERID"
}
diff --git a/config/default.json b/config/default.json
index 5e566e1c..5dcc1fa2 100644
--- a/config/default.json
+++ b/config/default.json
@@ -36,7 +36,7 @@
"idleTimeout": 1000
},
"kafkaConfig": {
- "hosts": "localhost:9092"
+ "url": "localhost:9092"
},
"analyticsKey": "",
"VALID_ISSUERS": "[\"https:\/\/topcoder-newauth.auth0.com\/\",\"https:\/\/api.topcoder-dev.com\"]",
@@ -61,6 +61,9 @@
"VALID_STATUSES_BEFORE_PAUSED": "[\"active\"]",
"SSO_REFCODES": "[]",
"lookerConfig": {
+ "EMBED_KEY": "FAKE_KEY",
+ "LOOKER_HOST": "demo.looker.com",
+ "SESSION_LENGTH": 120,
"BASE_URL": "",
"CLIENT_ID": "",
"CLIENT_SECRET": "",
@@ -69,7 +72,9 @@
"QUERIES": {
"REG_STATS": 1234,
"BUDGET": 123
- }
+ },
+ "EMBED_REPORTS_MAPPING": "{\"mock\": \"/embed/looks/2\"}",
+ "ALLOWED_USERS": "[]"
},
"DEFAULT_M2M_USERID": -101
}
diff --git a/config/test.json b/config/test.json
index aadd1ea9..2453fc55 100644
--- a/config/test.json
+++ b/config/test.json
@@ -17,7 +17,7 @@
"rabbitmqUrl": "amqp://localhost:5672",
"connectProjectsUrl": "https://local.topcoder-dev.com/projects/",
"dbConfig": {
- "masterUrl": "postgres://coder:mysecretpassword@localhost:5433/projectsdb_test",
+ "masterUrl": "postgres://coder:mysecretpassword@localhost:5432/projectsdb_test",
"maxPoolSize": 50,
"minPoolSize": 4,
"idleTimeout": 1000
diff --git a/docs/Project API.postman_collection.json b/docs/Project API.postman_collection.json
index 0c484294..930185eb 100644
--- a/docs/Project API.postman_collection.json
+++ b/docs/Project API.postman_collection.json
@@ -1,6 +1,6 @@
{
"info": {
- "_postman_id": "dd9afefd-0b47-4483-a4e5-33ca395791a3",
+ "_postman_id": "49981b6e-f611-4016-999e-737ef4103435",
"name": "Project API",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
},
@@ -4798,7 +4798,7 @@
],
"body": {
"mode": "raw",
- "raw": "{\r\n \"name\":\"new name\",\r\n \"key\":\"new key\",\r\n \"category\":\"app\",\r\n \"icon\": \"http://example.com/icon1.ico\",\r\n \"question\": \"question 1\",\r\n \"info\": \"info 1\",\r\n \"aliases\": [\"key-1\", \"key_1\"],\r\n \"scope\":{\r\n \"scope1\":\"scope 1\"\r\n },\r\n \"phases\":{\r\n \"phase1\":\"phase 1\"\r\n }\r\n }"
+ "raw": "{\r\n \"name\":\"new name\",\r\n \"key\":\"new key\",\r\n \"category\":\"app\",\r\n \"icon\": \"http://example.com/icon1.ico\",\r\n \"subCategory\":\"app\",\r\n \"metadata\":{},\r\n \"question\": \"question 1\",\r\n \"info\": \"info 1\",\r\n \"aliases\": [\"key-1\", \"key_1\"],\r\n \"scope\":{\r\n \"scope1\":\"scope 1\"\r\n },\r\n \"phases\":{\r\n \"phase1\":\"phase 1\"\r\n }\r\n }"
},
"url": {
"raw": "{{api-url}}/projects/metadata/projectTemplates",
@@ -4845,7 +4845,7 @@
],
"body": {
"mode": "raw",
- "raw": "{\r\n \"name\":\"new name\",\r\n \"key\":\"new key\",\r\n \"category\":\"app\",\r\n \"icon\": \"http://example.com/icon1.ico\",\r\n \"question\": \"question 1\",\r\n \"info\": \"info 1\",\r\n \"aliases\": [\"key-1\", \"key_1\"],\r\n \"form\": {\r\n \t\"key\": \"dev\",\r\n \t\"version\": 1\r\n },\r\n \"priceConfig\": {\r\n \t\"key\": \"dev\",\r\n \t\"version\": 1\r\n },\r\n \"planConfig\": {\r\n \t\"key\": \"dev\",\r\n \t\"version\": 1\r\n }\r\n }"
+ "raw": "{\r\n \"name\":\"new name\",\r\n \"key\":\"new key\",\r\n \"category\":\"app\",\r\n \"subCategory\":\"app\",\r\n \"metadata\":{},\r\n \"icon\": \"http://example.com/icon1.ico\",\r\n \"question\": \"question 1\",\r\n \"info\": \"info 1\",\r\n \"aliases\": [\"key-1\", \"key_1\"],\r\n \"form\": {\r\n \t\"key\": \"dev\",\r\n \t\"version\": 1\r\n },\r\n \"priceConfig\": {\r\n \t\"key\": \"dev\",\r\n \t\"version\": 1\r\n },\r\n \"planConfig\": {\r\n \t\"key\": \"dev\",\r\n \t\"version\": 1\r\n }\r\n }"
},
"url": {
"raw": "{{api-url}}/projects/metadata/projectTemplates",
@@ -4892,7 +4892,7 @@
],
"body": {
"mode": "raw",
- "raw": "{\r\n \"name\":\"new name\",\r\n \"key\":\"new key\",\r\n \"category\":\"app\",\r\n \"icon\": \"http://example.com/icon1.ico\",\r\n \"question\": \"question 1\",\r\n \"info\": \"info 1\",\r\n \"aliases\": [\"key-1\", \"key_1\"],\r\n \"form\": {\r\n \t\"key\": \"dev\"\r\n }\r\n }"
+ "raw": "{\r\n \"name\":\"new name\",\r\n \"key\":\"new key\",\r\n \"category\":\"app\",\r\n \"subCategory\":\"app\",\r\n \"metadata\":{},\r\n \"icon\": \"http://example.com/icon1.ico\",\r\n \"question\": \"question 1\",\r\n \"info\": \"info 1\",\r\n \"aliases\": [\"key-1\", \"key_1\"],\r\n \"form\": {\r\n \t\"key\": \"dev\"\r\n }\r\n }"
},
"url": {
"raw": "{{api-url}}/projects/metadata/projectTemplates",
@@ -4924,7 +4924,7 @@
],
"body": {
"mode": "raw",
- "raw": "{\r\n \"name\":\"new name\",\r\n \"key\":\"new key\",\r\n \"category\":\"app\",\r\n \"icon\": \"http://example.com/icon1.ico\",\r\n \"question\": \"question 1\",\r\n \"info\": \"info 1\",\r\n \"aliases\": [\"key-1\", \"key_1\"],\r\n \"form\": {\r\n \t\"key\": \"wrong-key\"\r\n }\r\n }"
+ "raw": "{\r\n \"name\":\"new name\",\r\n \"key\":\"new key\",\r\n \"category\":\"app\",\r\n \"subCategory\":\"app\",\r\n \"metadata\":{},\r\n \"icon\": \"http://example.com/icon1.ico\",\r\n \"question\": \"question 1\",\r\n \"info\": \"info 1\",\r\n \"aliases\": [\"key-1\", \"key_1\"],\r\n \"form\": {\r\n \t\"key\": \"wrong-key\"\r\n }\r\n }"
},
"url": {
"raw": "{{api-url}}/projects/metadata/projectTemplates",
@@ -4956,7 +4956,7 @@
],
"body": {
"mode": "raw",
- "raw": "{\r\n \"name\":\"new name\",\r\n \"key\":\"new key\",\r\n \"category\":\"app\",\r\n \"icon\": \"http://example.com/icon1.ico\",\r\n \"question\": \"question 1\",\r\n \"info\": \"info 1\",\r\n \"aliases\": [\"key-1\", \"key_1\"],\r\n \"form\": {\r\n \t\"key\": \"dev\",\r\n \t\"version\": 1123\r\n },\r\n \"priceConfig\": {\r\n \t\"key\": \"dev\",\r\n \t\"version\": 1123\r\n },\r\n \"planConfig\": {\r\n \t\"key\": \"dev\",\r\n \t\"version\": 1123\r\n }\r\n }"
+ "raw": "{\r\n \"name\":\"new name\",\r\n \"key\":\"new key\",\r\n \"category\":\"app\",\r\n \"subCategory\":\"app\",\r\n \"metadata\":{},\r\n \"icon\": \"http://example.com/icon1.ico\",\r\n \"question\": \"question 1\",\r\n \"info\": \"info 1\",\r\n \"aliases\": [\"key-1\", \"key_1\"],\r\n \"form\": {\r\n \t\"key\": \"dev\",\r\n \t\"version\": 1123\r\n },\r\n \"priceConfig\": {\r\n \t\"key\": \"dev\",\r\n \t\"version\": 1123\r\n },\r\n \"planConfig\": {\r\n \t\"key\": \"dev\",\r\n \t\"version\": 1123\r\n }\r\n }"
},
"url": {
"raw": "{{api-url}}/projects/metadata/projectTemplates",
@@ -5147,7 +5147,7 @@
],
"body": {
"mode": "raw",
- "raw": "{\r\n \"name\":\"new name\",\r\n \"key\":\"new key\",\r\n \"category\":\"app\",\r\n \"scope\":{\r\n \"scope1\":\"scope 1\",\r\n \"scope2\": [\"a\"]\r\n },\r\n \"phases\":{\r\n \"phase1\":\"phase 1\",\r\n \"phase2\": {\r\n \t\"another\": \"another\"\r\n }\r\n }\r\n }"
+ "raw": "{\r\n \"name\":\"new name\",\r\n \"key\":\"new key\",\r\n \"category\":\"app\",\r\n \"subCategory\":\"app\",\r\n \"metadata\":{},\r\n \"scope\":{\r\n \"scope1\":\"scope 1\",\r\n \"scope2\": [\"a\"]\r\n },\r\n \"phases\":{\r\n \"phase1\":\"phase 1\",\r\n \"phase2\": {\r\n \t\"another\": \"another\"\r\n }\r\n }\r\n }"
},
"url": {
"raw": "{{api-url}}/projects/metadata/projectTemplates/{{projectTemplateId}}",
@@ -5180,7 +5180,7 @@
],
"body": {
"mode": "raw",
- "raw": "{\r\n \"name\":\"new name\",\r\n \"key\":\"new key\",\r\n \"category\":\"app\",\r\n \"form\": {\r\n \"key\": \"dev\",\r\n \"version\": 1\r\n },\r\n \"priceConfig\": {\r\n \"key\": \"dev\",\r\n \"version\": 1\r\n },\r\n \"planConfig\": {\r\n \"key\": \"dev\",\r\n \"version\": 1\r\n }\r\n }"
+ "raw": "{\r\n \"name\":\"new name\",\r\n \"key\":\"new key\",\r\n \"category\":\"app\",\r\n \"subCategory\":\"app\",\r\n \"metadata\":{},\r\n \"form\": {\r\n \"key\": \"dev\",\r\n \"version\": 1\r\n },\r\n \"priceConfig\": {\r\n \"key\": \"dev\",\r\n \"version\": 1\r\n },\r\n \"planConfig\": {\r\n \"key\": \"dev\",\r\n \"version\": 1\r\n }\r\n }"
},
"url": {
"raw": "{{api-url}}/projects/metadata/projectTemplates/{{projectTemplateId}}",
@@ -5213,7 +5213,7 @@
],
"body": {
"mode": "raw",
- "raw": "{\r\n \"name\":\"new name\",\r\n \"key\":\"new key\",\r\n \"category\":\"app\",\r\n\t\"form\": {\r\n \"key\": \"dev\",\r\n \"version\": 1123\r\n },\r\n \"priceConfig\": {\r\n \"key\": \"dev\",\r\n \"version\": 1123\r\n },\r\n \"planConfig\": {\r\n \"key\": \"dev\",\r\n \"version\": 1123\r\n }\r\n }"
+ "raw": "{\r\n \"name\":\"new name\",\r\n \"key\":\"new key\",\r\n \"category\":\"app\",\r\n \"subCategory\":\"app\",\r\n \"metadata\":{},\r\n\t\"form\": {\r\n \"key\": \"dev\",\r\n \"version\": 1123\r\n },\r\n \"priceConfig\": {\r\n \"key\": \"dev\",\r\n \"version\": 1123\r\n },\r\n \"planConfig\": {\r\n \"key\": \"dev\",\r\n \"version\": 1123\r\n }\r\n }"
},
"url": {
"raw": "{{api-url}}/projects/metadata/projectTemplates/{{projectTemplateId}}",
@@ -5837,6 +5837,252 @@
],
"protocolProfileBehavior": {}
},
+ {
+ "name": "Org Config",
+ "item": [
+ {
+ "name": "Create org config",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "fbc45946-a3f2-433a-8ec5-0af82b69d2bd",
+ "exec": [
+ "pm.test(\"Status code is 201\", function () {",
+ " pm.response.to.have.status(201);",
+ " console.log(pm.response.json())",
+ " pm.environment.set(\"orgStrId\", pm.response.json().orgId);",
+ " pm.environment.set(\"orgConfigName\", pm.response.json().configName);",
+ " pm.environment.set(\"orgId\", pm.response.json().id);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ },
+ {
+ "key": "Authorization",
+ "value": "Bearer {{jwt-token}}"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{ \n\t\"orgId\": \"testStr Id\",\n \"configName\": \"project_catefory_url\",\n \"configValue\": \"http://localhost/url\"\n}"
+ },
+ "url": {
+ "raw": "{{api-url}}/projects/metadata/orgConfig",
+ "host": [
+ "{{api-url}}"
+ ],
+ "path": [
+ "projects",
+ "metadata",
+ "orgConfig"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "List org configs without orgId",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ },
+ {
+ "key": "Authorization",
+ "value": "Bearer {{jwt-token}}"
+ }
+ ],
+ "url": {
+ "raw": "{{api-url}}/projects/metadata/orgConfig",
+ "host": [
+ "{{api-url}}"
+ ],
+ "path": [
+ "projects",
+ "metadata",
+ "orgConfig"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "List org configs with only orgId",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ },
+ {
+ "key": "Authorization",
+ "value": "Bearer {{jwt-token}}"
+ }
+ ],
+ "url": {
+ "raw": "{{api-url}}/projects/metadata/orgConfig?orgId={{orgStrId}}",
+ "host": [
+ "{{api-url}}"
+ ],
+ "path": [
+ "projects",
+ "metadata",
+ "orgConfig"
+ ],
+ "query": [
+ {
+ "key": "orgId",
+ "value": "{{orgStrId}}",
+ "description": "orgId can be array with ',', 'id1,id2'"
+ }
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "List org configs with orgId and configName",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ },
+ {
+ "key": "Authorization",
+ "value": "Bearer {{jwt-token}}"
+ }
+ ],
+ "url": {
+ "raw": "{{api-url}}/projects/metadata/orgConfig?orgId={{orgStrId}}&configName={{orgConfigName}}",
+ "host": [
+ "{{api-url}}"
+ ],
+ "path": [
+ "projects",
+ "metadata",
+ "orgConfig"
+ ],
+ "query": [
+ {
+ "key": "orgId",
+ "value": "{{orgStrId}}",
+ "description": "orgId can be array with ',', 'id1,id2'"
+ },
+ {
+ "key": "configName",
+ "value": "{{orgConfigName}}"
+ }
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Delete org config",
+ "request": {
+ "method": "DELETE",
+ "header": [
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ },
+ {
+ "key": "Authorization",
+ "value": "Bearer {{jwt-token}}"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": ""
+ },
+ "url": {
+ "raw": "{{api-url}}/projects/metadata/orgConfig/{{orgId}}",
+ "host": [
+ "{{api-url}}"
+ ],
+ "path": [
+ "projects",
+ "metadata",
+ "orgConfig",
+ "{{orgId}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Update org config",
+ "request": {
+ "method": "PATCH",
+ "header": [
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ },
+ {
+ "key": "Authorization",
+ "value": "Bearer {{jwt-token}}"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{ \n\t\"orgId\": \"another orgId\",\n \"configName\": \"project_catefory_url\",\n \"configValue\": \"http://localhost/url\"\n}"
+ },
+ "url": {
+ "raw": "{{api-url}}/projects/metadata/orgConfig/{{orgId}}",
+ "host": [
+ "{{api-url}}"
+ ],
+ "path": [
+ "projects",
+ "metadata",
+ "orgConfig",
+ "{{orgId}}"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "event": [
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "2e274cc9-22e6-4dd2-9eee-c4f1fd98253d",
+ "type": "text/javascript",
+ "exec": [
+ ""
+ ]
+ }
+ },
+ {
+ "listen": "test",
+ "script": {
+ "id": "9d171dbf-2a50-4483-b172-ce240ac09413",
+ "type": "text/javascript",
+ "exec": [
+ ""
+ ]
+ }
+ }
+ ],
+ "protocolProfileBehavior": {}
+ },
{
"name": "Product Category",
"item": [
diff --git a/docs/guides/Local-setup-multiple-services/Local-setup-multiple-services.md b/docs/guides/Local-setup-multiple-services/Local-setup-multiple-services.md
new file mode 100644
index 00000000..5d0c47b5
--- /dev/null
+++ b/docs/guides/Local-setup-multiple-services/Local-setup-multiple-services.md
@@ -0,0 +1,130 @@
+# Local Setup with Multiple Services
+
+> **NOTE** This guide is adapted for Linux and macOS, if you run it on Windows you would have to adapt it by yourself.
+
+If you want to change the code only of **Topcoder Project Service** (`tc-project-service`), it's enough to use the main [README](../../../README.md).
+
+Follow this guide in case you want to change the code of **Topcoder Project Service** (`tc-project-service`) **together** with the code of one of the next services:
+- [project-processor-es](https://github.com/topcoder-platform/project-processor-es)
+- [legacy-project-processor](https://github.com/topcoder-platform/legacy-project-processor)
+- [tc-notifications](https://github.com/topcoder-platform/tc-notifications)
+- [tc-bus-api](https://github.com/topcoder-platform/tc-bus-api)
+
+## How it works
+
+To communicate with any of the next services `tc-notifications`, `project-processor-es`, `legacy-project-processor` **Project Service** sends Kafka events and these service listen to the Kafka events do some stuff. **Project Service** don't send Kafka events directly, but uses a special service to send Kafka events called `tc-bus-api`. So no matter what service we want to update, first we have to setup Kafka with Zookeeper and `tc-bus-api`.
+
+
+
+*This diagram shows just some part of relations and services that are important for this guide, it doesn't show all of them.*
+
+### Elasticsearch indexing
+
+It's important to keep in mind how the indexing and reading data from Elasticsearch works.
+
+#### Read data
+
+Endpoints in **Project Service** should get data from the Elasticsearch index first. If no data is found, endpoints should try to get data from Database.
+
+#### Write data
+
+When some data is updated by **Project Service** it's directly changed in the Database. But **Project Service** doesn't change data in Elasticsearch directly. Instead of that, when some data is changed **Project Service** sends event to the Kafka (using `tc-bus-api`), and `project-processor-es` listens to the Kafka event and index updated data in Elasticsearch for **Project Service**.
+As a consequences, data in Elasticsearch is not updated immediately.
+
+## Steps to run locally
+
+To run **Project Service** with any of the services above we has to setup Zookeper + Kafka + [tc-bus-api](https://github.com/topcoder-platform/tc-bus-api) first to produce and receive Kafka events.
+
+### 1. Run Kafka + Zookeeper + create topics
+
+ Clone [tc-project-service](https://github.com/topcoder-platform/tc-project-service) repository and run inside the `tc-project-service` folder:
+
+ ```bash
+ cd local/kafka
+ docker-compose up
+ ```
+
+ Wait until you see in the log `kafka_kafka-client_1 exited with code 0`. `kafka-client` would create all required topics. You may also make sure that all [required topics](../../../local/kafka/kafka-client/topics.txt) are created by running the next command to list all the topics:
+
+ ```bash
+ docker exec tc-common-kafka /opt/kafka/bin/kafka-topics.sh --list --zookeeper zookeeper:2181
+ ```
+
+### 2. Run `tc-bus-api`
+
+Clone [tc-bus-api](https://github.com/topcoder-platform/tc-bus-api) repository. And see its [README](https://github.com/topcoder-platform/tc-bus-api/blob/dev/README.md) for details on how to run it.
+
+Mostly you have to do the next steps inside `tc-bus-api` folder:
+
+1. `npm install`
+
+2. To bypass token validation locally update `/node_modules/tc-core-library-js/lib/auth/verifier.js` manually and add this to line 23: `callback(undefined, decodedToken.payload); return;`.
+
+3. Set the next env mandatory environment variables:
+
+ ```bash
+ export KAFKA_URL=localhost:9092
+ export JWT_TOKEN_SECRET=secret
+ export VALID_ISSUERS="[\"https:\/\/topcoder-newauth.auth0.com\/\",\"https:\/\/api.topcoder-dev.com\"]"
+ ```
+
+4. `PORT=8002 npm start`
+
+### 3. Run Project Service
+
+To run **Project Service**, please, follow its README section "[Steps to run locally](../../../README.md#steps-to-run-locally)".
+
+*Note, that during "Steps to run locally" you would use `local/docker-compose.yml` with a part of services, not the `local/full/docker-compose.yml` with all the services as we are starting them separately in this guide.*
+
+| **Optional** |
+|--|
+| Then next services are optional and you may start them only if need to change them or to test. |
+
+### 4. Run `project-processor-es` (optional)
+
+To run `project-processor-es`, please, follow its README section "[Local setup](https://github.com/topcoder-platform/project-processor-es#local-setup)", but **skip** the second step "Run docker compose with dependant services" as we already run the same docker in this guide.
+
+### 5. Run `tc-notifications` (optional)
+
+Clone [tc-notifications](https://github.com/topcoder-platform/tc-notifications) repository. You would have to start 2 services to make the Notification service fully work.
+
+1. `npm install`
+
+2. To bypass token validation locally update `/node_modules/tc-core-library-js/lib/auth/verifier.js` manually and add this to line 23: `callback(undefined, decodedToken.payload); return;`.
+
+3. Create `tc_notifications` database inside the PostgreSQL service that we run with by **Project Service** `local/docker-compose.yml`:
+
+ ```bash
+ PGPASSWORD=mysecretpassword psql -h localhost -p 5432 -U coder -d projectsdb -c 'CREATE DATABASE tc_notifications;'
+ ```
+
+4. In two separate terminal windows set the same environment variables:
+
+ ```bash
+ export AUTH0_CLIENT_ID=
+ export AUTH0_CLIENT_SECRET=
+ export AUTH0_URL=
+ export AUTH0_AUDIENCE=
+ export AUTH0_PROXY_SERVER_URL=
+ export AUTH_SECRET=secret
+ export VALID_ISSUERS="[\"https:\/\/topcoder-newauth.auth0.com\/\",\"https:\/\/api.topcoder-dev.com\"]"
+ export TC_API_V5_BASE_URL=http://localhost:8001/v5
+ export TC_API_V4_BASE_URL=https://api.topcoder-dev.com/v4
+ export TC_API_V3_BASE_URL=https://api.topcoder-dev.com/v3
+ export KAFKA_URL=localhost:9092
+ export DATABASE_URL=postgresql://coder:mysecretpassword@localhost:5432/tc_notifications
+ export JWKS_URI=test
+ export LOG_LEVEL=debug
+ export ENV=development
+ ```
+
+5. In one terminal window:
+ - Init DB: `npm run reset:db`
+ - Run `PORT=4000 npm run startAPI` - API of Notifications Service
+
+6. In another terminal window:
+ - Run `PORT=4001 npm run start` - Processor of Kafka events
+
+### 6. Run Connect App (optional)
+
+You may also run [Connect App](https://github.com/appirio-tech/connect-app) locally together with the current setup. Please, follow section "[Run Connect App with Project Service locally](../../../README.md#run-connect-app-with-project-service-locally)".
\ No newline at end of file
diff --git a/docs/guides/Local-setup-multiple-services/images/diagram.svg b/docs/guides/Local-setup-multiple-services/images/diagram.svg
new file mode 100644
index 00000000..8eeb6ad1
--- /dev/null
+++ b/docs/guides/Local-setup-multiple-services/images/diagram.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/docs/guides/architercture/architecture.md b/docs/guides/architercture/architecture.md
new file mode 100644
index 00000000..894ae741
--- /dev/null
+++ b/docs/guides/architercture/architecture.md
@@ -0,0 +1,76 @@
+# Topcoder Project Service Architecture
+
+- [Overview](#overview)
+- [Elasticsearch indexing](#elasticsearch-indexing)
+ - [Read data](#read-data)
+ - [Write data](#write-data)
+- [Kafka messages structure](#kafka-messages-structure)
+
+## Overview
+
+Topcoder Project Service is a microservice to manage CRUD operations for all things related to Projects. To communicate with other microservices like `tc-notifications`, `project-processor-es`, `legacy-project-processor` and event with itself **Project Service** produces Kafka messages and these service listen to the Kafka messages do some stuff. **Project Service** don't send Kafka messages directly, but uses a special service to send Kafka messages called `tc-bus-api`. So no matter what service we want to update, first we have to setup Kafka with Zookeeper and `tc-bus-api`.
+
+
+
+*This diagram shows just some part of relations and services that are most important, it doesn't show all of them.*
+
+## Elasticsearch indexing
+
+It's important to keep in mind how the indexing and reading data from Elasticsearch works.
+
+### Read data
+
+As per global Topcoder API V5 standards, all endpoints in **Project Service** should get data from the Elasticsearch index first. If no data is found, endpoints should try to get data from Database.
+
+### Write data
+
+When some data is updated by **Project Service** it's directly changed in the Database. But **Project Service** doesn't change data in Elasticsearch directly. Instead of that, when some data is changed **Project Service** sends event to the Kafka (using `tc-bus-api`), and `project-processor-es` listens to the Kafka event and index updated data in Elasticsearch for **Project Service**.
+As a consequences, data in Elasticsearch is not updated immediately.
+
+## Kafka messages structure
+
+Project Service should send messages to 3 Kafka topics:
+- `project.action.create` - when some objects is created
+- `project.action.update` - when some objects is updated
+- `project.action.delete` - when some objects is deleted
+
+The `payload` of any of this messages should contain the next required properties:
+```js
+payload: {
+ // the name of the resource which has been create, updated or deleted,
+ // see constant `RESOURCES` in `src/constants.js` for possible values
+ "resource": "...",
+
+ // object which has been created, updated or deleted
+ "data": {...},
+
+ // should be present only in `project.action.update` topic, and contain the objects before update
+ "previousData": {...},
+}
+```
+
+Example:
+```js
+topic: "project.action.update",
+payload: {
+ "resource": "project.template",
+ "data": {
+ "id": 1234,
+ "name": "Name of project template UPDATED",
+ "key": "app",
+ "createdAt": 1,
+ "createdBy": 1,
+ "updatedAt": 2,
+ "updatedBy": 2,
+ },
+ "previousData": {
+ "id": 1234,
+ "name": "Name of project template",
+ "key": "app",
+ "createdAt": 1,
+ "createdBy": 1,
+ "updatedAt": 1,
+ "updatedBy": 1,
+ },
+}
+```
\ No newline at end of file
diff --git a/docs/guides/architercture/images/diagram.svg b/docs/guides/architercture/images/diagram.svg
new file mode 100644
index 00000000..8eeb6ad1
--- /dev/null
+++ b/docs/guides/architercture/images/diagram.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/docs/swagger.yaml b/docs/swagger.yaml
index 4912bf84..6a975a85 100644
--- a/docs/swagger.yaml
+++ b/docs/swagger.yaml
@@ -86,6 +86,7 @@ paths:
- $ref: '#/parameters/codeQueryParam'
- $ref: '#/parameters/customerQueryParam'
- $ref: '#/parameters/managerQueryParam'
+ - $ref: '#/parameters/directProjectIdQueryParam'
- name: sort
required: false
description: >
@@ -4779,6 +4780,13 @@ parameters:
description: manager filter
required: false
type: string
+ directProjectIdQueryParam:
+ name: directProjectId
+ in: query
+ description: Direct Project Id filter
+ required: false
+ type: integer
+ format: int64
projectEstimationIdParam:
name: estimationId
in: path
@@ -5266,6 +5274,12 @@ definitions:
category:
type: string
description: the project template category
+ subCategory:
+ type: string
+ description: the project template subCategory
+ metadata:
+ type: object
+ description: the project template metadata
scope:
type: object
description: the project template scope
@@ -6638,4 +6652,4 @@ definitions:
type: integer
format: int64
description: READ-ONLY. User that last updated this object
- readOnly: true
\ No newline at end of file
+ readOnly: true
diff --git a/local/docker-compose.yml b/local/docker-compose.yml
index 72e6985f..8c49d647 100644
--- a/local/docker-compose.yml
+++ b/local/docker-compose.yml
@@ -5,21 +5,13 @@ services:
ports:
- "3001:3001"
db:
- image: "postgres:9.5"
+ build: "postgres-db"
ports:
- "5432:5432"
environment:
- POSTGRES_PASSWORD=mysecretpassword
- POSTGRES_USER=coder
- - POSTGRES_DB=projectsdb
- db_test:
- image: "postgres:9.5"
- ports:
- - "5433:5432"
- environment:
- - POSTGRES_PASSWORD=mysecretpassword
- - POSTGRES_USER=coder
- - POSTGRES_DB=projectsdb_test
+ - POSTGRES_MULTIPLE_DATABASES=projectsdb,projectsdb_test
esearch:
image: "elasticsearch:2.3"
ports:
diff --git a/local/full/docker-compose.base.yml b/local/full/docker-compose.base.yml
index 6020be65..e9dd9cb9 100644
--- a/local/full/docker-compose.base.yml
+++ b/local/full/docker-compose.base.yml
@@ -6,16 +6,16 @@ services:
args:
NODE_VERSION: 8.2.1
GIT_URL: https://github.com/topcoder-platform/tc-notifications
- GIT_BRANCH: v5-upgrade
+ GIT_BRANCH: dev
BYPASS_TOKEN_VALIDATION: 1
environment:
- VALID_ISSUERS="[\"https://topcoder-newauth.auth0.com/\",\"https://api.topcoder-dev.com\"]"
- TC_API_V5_BASE_URL=http://host.docker.internal:8001/v5
- TC_API_V4_BASE_URL=https://api.topcoder-dev.com/v4
- TC_API_V3_BASE_URL=https://api.topcoder-dev.com/v3
- - KAFKA_URL=kafka:9092
+ - KAFKA_URL=kafka:9093
- AUTH_SECRET=secret
- - DATABASE_URL=postgresql://coder:mysecretpassword@notifications_db:5432/tc_notifications
+ - DATABASE_URL=postgresql://coder:mysecretpassword@db:5432/tc_notifications
- JWKS_URI=test
- LOG_LEVEL=debug
- ENV=development
diff --git a/local/full/docker-compose.yml b/local/full/docker-compose.yml
index b6f0f207..d4477b7e 100644
--- a/local/full/docker-compose.yml
+++ b/local/full/docker-compose.yml
@@ -8,18 +8,8 @@ services:
extends:
file: ../docker-compose.yml
service: db
- notifications_db:
- image: "postgres:9.5"
- expose:
- - "5432"
environment:
- - POSTGRES_PASSWORD=mysecretpassword
- - POSTGRES_USER=coder
- - POSTGRES_DB=tc_notifications
- db_test:
- extends:
- file: ../docker-compose.yml
- service: db_test
+ - POSTGRES_MULTIPLE_DATABASES=projectsdb,projectsdb_test,tc_notifications
esearch:
extends:
file: ../docker-compose.yml
@@ -29,18 +19,24 @@ services:
file: ../docker-compose.yml
service: queue
zookeeper:
- image: confluent/zookeeper
+ image: wurstmeister/zookeeper
ports:
- "2181:2181"
environment:
zk_id: "1"
kafka:
- image: confluent/kafka
+ image: wurstmeister/kafka
container_name: tc-projects-kafka
depends_on:
- zookeeper
ports:
- "9092:9092"
+ environment:
+ KAFKA_ADVERTISED_LISTENERS: INSIDE://kafka:9093,OUTSIDE://localhost:9092
+ KAFKA_LISTENERS: INSIDE://kafka:9093,OUTSIDE://0.0.0.0:9092
+ KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INSIDE:PLAINTEXT,OUTSIDE:PLAINTEXT
+ KAFKA_INTER_BROKER_LISTENER_NAME: INSIDE
+ KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
kafka-client:
build: ./kafka-client
depends_on:
@@ -63,7 +59,7 @@ services:
- kafka-client
environment:
- PORT=3000
- - KAFKA_URL=kafka:9092
+ - KAFKA_URL=kafka:9093
- JWT_TOKEN_SECRET=secret
- VALID_ISSUERS="[\"https://topcoder-newauth.auth0.com/\",\"https://api.topcoder-dev.com\"]"
project-processor-es:
@@ -82,7 +78,7 @@ services:
- kafka-client
environment:
- PORT=5000
- - KAFKA_URL=kafka:9092
+ - KAFKA_URL=kafka:9093
- ES_HOST=esearch:9200
tc-notifications-reset-db:
extends:
@@ -95,8 +91,7 @@ services:
ports:
- "4002:4002"
depends_on:
- - notifications_db
- - esearch
+ - db
environment:
- PORT=4002
tc-notifications-processor:
diff --git a/local/full/kafka-client/Dockerfile b/local/full/kafka-client/Dockerfile
index 3d332b83..15c20839 100644
--- a/local/full/kafka-client/Dockerfile
+++ b/local/full/kafka-client/Dockerfile
@@ -1,4 +1,4 @@
-From confluent/kafka
+From wurstmeister/kafka
WORKDIR /app/
COPY topics.txt .
COPY create-topics.sh .
diff --git a/local/full/kafka-client/create-topics.sh b/local/full/kafka-client/create-topics.sh
index c5b33e62..f9a08910 100755
--- a/local/full/kafka-client/create-topics.sh
+++ b/local/full/kafka-client/create-topics.sh
@@ -1,5 +1,6 @@
#!/bin/bash
+/opt/kafka/bin/kafka-topics.sh --list --zookeeper zookeeper:2181 > exists-topics.txt
while read topic; do
- /usr/bin/kafka-topics --create --zookeeper zookeeper:2181 --partitions 1 --replication-factor 1 --topic $topic
-done < topics.txt
+ /opt/kafka/bin/kafka-topics.sh --create --if-not-exists --zookeeper zookeeper:2181 --partitions 1 --replication-factor 1 --topic $topic
+done < <(sort topics.txt exists-topics.txt exists-topics.txt | uniq -u)
diff --git a/local/kafka/docker-compose.yml b/local/kafka/docker-compose.yml
new file mode 100644
index 00000000..a4b1ac03
--- /dev/null
+++ b/local/kafka/docker-compose.yml
@@ -0,0 +1,24 @@
+version: "2"
+services:
+ zookeeper:
+ image: wurstmeister/zookeeper
+ ports:
+ - "2181:2181"
+ environment:
+ zk_id: "1"
+ kafka:
+ image: wurstmeister/kafka
+ container_name: tc-common-kafka
+ depends_on:
+ - zookeeper
+ ports:
+ - "9092:9092"
+ environment:
+ KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092
+ KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092
+ KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
+ kafka-client:
+ build: ./kafka-client
+ depends_on:
+ - kafka
+ - zookeeper
diff --git a/local/kafka/kafka-client/Dockerfile b/local/kafka/kafka-client/Dockerfile
new file mode 100644
index 00000000..15c20839
--- /dev/null
+++ b/local/kafka/kafka-client/Dockerfile
@@ -0,0 +1,5 @@
+From wurstmeister/kafka
+WORKDIR /app/
+COPY topics.txt .
+COPY create-topics.sh .
+ENTRYPOINT ["/app/create-topics.sh"]
diff --git a/local/kafka/kafka-client/create-topics.sh b/local/kafka/kafka-client/create-topics.sh
new file mode 100755
index 00000000..a4116901
--- /dev/null
+++ b/local/kafka/kafka-client/create-topics.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+while read topic; do
+ /opt/kafka/bin/kafka-topics.sh --create --zookeeper zookeeper:2181 --partitions 1 --replication-factor 1 --topic $topic
+done < topics.txt
diff --git a/local/kafka/kafka-client/topics.txt b/local/kafka/kafka-client/topics.txt
new file mode 100644
index 00000000..9b62bbea
--- /dev/null
+++ b/local/kafka/kafka-client/topics.txt
@@ -0,0 +1,55 @@
+connect.notification.email.project.member.invite.created
+connect.notification.project.active
+connect.notification.project.approved
+connect.notification.project.canceled
+connect.notification.project.completed
+connect.notification.project.created
+connect.notification.project.fileUploaded
+connect.notification.project.files.updated
+connect.notification.project.linkCreated
+connect.notification.project.member.assignedAsOwner
+connect.notification.project.member.copilotJoined
+connect.notification.project.member.invite.approved
+connect.notification.project.member.invite.created
+connect.notification.project.member.invite.rejected
+connect.notification.project.member.invite.requested
+connect.notification.project.member.invite.updated
+connect.notification.project.member.joined
+connect.notification.project.member.left
+connect.notification.project.member.managerJoined
+connect.notification.project.member.removed
+connect.notification.project.paused
+connect.notification.project.phase.transition.active
+connect.notification.project.phase.transition.completed
+connect.notification.project.phase.update.payment
+connect.notification.project.phase.update.progress
+connect.notification.project.phase.update.scope
+connect.notification.project.plan.ready
+connect.notification.project.plan.updated
+connect.notification.project.post.created
+connect.notification.project.post.edited
+connect.notification.project.product.update.spec
+connect.notification.project.submittedForReview
+connect.notification.project.team.updated
+connect.notification.project.timeline.adjusted
+connect.notification.project.timeline.milestone.added
+connect.notification.project.timeline.milestone.removed
+connect.notification.project.timeline.milestone.transition.active
+connect.notification.project.timeline.milestone.transition.completed
+connect.notification.project.timeline.milestone.transition.paused
+connect.notification.project.timeline.milestone.updated
+connect.notification.project.timeline.milestone.waiting.customer
+connect.notification.project.topic.created
+connect.notification.project.topic.updated
+connect.notification.project.updated
+connect.notification.project.updated.progress
+connect.notification.project.updated.spec
+connect.notification.project.work.transition.active
+connect.notification.project.work.transition.completed
+connect.notification.project.work.update.payment
+connect.notification.project.work.update.progress
+connect.notification.project.work.update.scope
+connect.notification.project.workitem.update.spec
+project.action.create
+project.action.delete
+project.action.update
diff --git a/local/postgres-db/Dockerfile b/local/postgres-db/Dockerfile
new file mode 100644
index 00000000..844b3f09
--- /dev/null
+++ b/local/postgres-db/Dockerfile
@@ -0,0 +1,2 @@
+FROM postgres:9.5
+COPY create-multiple-postgresql-databases.sh /docker-entrypoint-initdb.d/
\ No newline at end of file
diff --git a/local/postgres-db/create-multiple-postgresql-databases.sh b/local/postgres-db/create-multiple-postgresql-databases.sh
new file mode 100644
index 00000000..7aa5abca
--- /dev/null
+++ b/local/postgres-db/create-multiple-postgresql-databases.sh
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+set -e
+set -u
+
+function create_user_and_database() {
+ local database=$1
+ echo " Creating database '$database'"
+ psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" <<-EOSQL
+ CREATE DATABASE $database;
+ GRANT ALL PRIVILEGES ON DATABASE $database TO $POSTGRES_USER;
+EOSQL
+}
+
+if [ -n "$POSTGRES_MULTIPLE_DATABASES" ]; then
+ echo "Multiple database creation requested: $POSTGRES_MULTIPLE_DATABASES"
+ for db in $(echo $POSTGRES_MULTIPLE_DATABASES | tr ',' ' '); do
+ create_user_and_database $db
+ done
+ echo "Multiple databases created"
+fi
diff --git a/local/seed/seedMetadata.js b/local/seed/seedMetadata.js
index 6af36f21..6c2e672b 100644
--- a/local/seed/seedMetadata.js
+++ b/local/seed/seedMetadata.js
@@ -10,7 +10,7 @@ if (!process.env.CONNECT_USER_TOKEN) {
// we need to know any logged in Connect user token to retrieve data from DEV
const CONNECT_USER_TOKEN = process.env.CONNECT_USER_TOKEN;
-var url = 'https://api.topcoder-dev.com/v4/projects/metadata';
+var url = 'https://api.topcoder-dev.com/v5/projects/metadata';
module.exports = (targetUrl, token) => {
var destUrl = targetUrl + 'projects/';
@@ -24,7 +24,7 @@ module.exports = (targetUrl, token) => {
}
})
.catch((err) => {
- const errMessage = _.get(err, 'response.data.result.content.message');
+ const errMessage = _.get(err, 'response.data.message');
throw errMessage ? new Error('Error during obtaining data from DEV: ' + errMessage) : err
})
.then(async function (response) {
@@ -39,7 +39,7 @@ module.exports = (targetUrl, token) => {
let promises
- promises = _(data.result.content.forms).orderBy(['key', 'asc'], ['version', 'asc']).map(pt=>{
+ promises = _(data.forms).orderBy(['key', 'asc'], ['version', 'asc']).map(pt=>{
const param = _.omit(pt, ['id', 'version', 'revision', 'key']);
return axios
.post(destUrl + `metadata/form/${pt.key}/versions`, param, {headers:headers})
@@ -51,7 +51,7 @@ module.exports = (targetUrl, token) => {
await Promise.all(promises);
- promises = _(data.result.content.planConfigs).orderBy(['key', 'asc'], ['version', 'asc']).map(pt=>{
+ promises = _(data.planConfigs).orderBy(['key', 'asc'], ['version', 'asc']).map(pt=>{
const param = _.omit(pt, ['id', 'version', 'revision', 'key']);
return axios
.post(destUrl + `metadata/planConfig/${pt.key}/versions`, param, {headers:headers})
@@ -63,7 +63,7 @@ module.exports = (targetUrl, token) => {
await Promise.all(promises);
- promises = _(data.result.content.priceConfigs).orderBy(['key', 'asc'], ['version', 'asc']).map(pt=>{
+ promises = _(data.priceConfigs).orderBy(['key', 'asc'], ['version', 'asc']).map(pt=>{
const param = _.omit(pt, ['id', 'version', 'revision', 'key']);
return axios
.post(destUrl + `metadata/priceConfig/${pt.key}/versions`, param, {headers:headers})
@@ -75,7 +75,7 @@ module.exports = (targetUrl, token) => {
await Promise.all(promises);
- promises = _(data.result.content.projectTypes).map(pt=>{
+ promises = _(data.projectTypes).map(pt=>{
return axios
.post(destUrl+'metadata/projectTypes', pt, {headers:headers})
.catch((err) => {
@@ -86,7 +86,7 @@ module.exports = (targetUrl, token) => {
await Promise.all(promises);
- promises = _(data.result.content.productCategories).map(pt=>{
+ promises = _(data.productCategories).map(pt=>{
return axios
.post(destUrl+'metadata/productCategories', pt, {headers:headers})
.catch((err) => {
@@ -97,7 +97,7 @@ module.exports = (targetUrl, token) => {
await Promise.all(promises);
- promises = _(data.result.content.projectTemplates).map(pt=>{
+ promises = _(data.projectTemplates).map(pt=>{
return axios
.post(destUrl+'metadata/projectTemplates', pt, {headers:headers})
.catch((err) => {
@@ -108,7 +108,7 @@ module.exports = (targetUrl, token) => {
await Promise.all(promises);
- promises = _(data.result.content.productTemplates).map(pt=>{
+ promises = _(data.productTemplates).map(pt=>{
return axios
.post(destUrl+'metadata/productTemplates', pt, {headers:headers})
.catch((err) => {
@@ -119,7 +119,7 @@ module.exports = (targetUrl, token) => {
await Promise.all(promises);
- await Promise.each(data.result.content.milestoneTemplates,pt=> (
+ await Promise.each(data.milestoneTemplates,pt=> (
axios
.post(destTimelines+'timelines/metadata/milestoneTemplates', pt, {headers:headers})
.catch((err) => {
diff --git a/migrations/20200107_refactor_project_templates.sql b/migrations/20200107_refactor_project_templates.sql
new file mode 100644
index 00000000..8ffa7e4b
--- /dev/null
+++ b/migrations/20200107_refactor_project_templates.sql
@@ -0,0 +1,12 @@
+--
+-- UPDATE EXISTING TABLES:
+-- project_templates:
+-- added column `subCategory`
+-- added column `metadata`
+
+--
+-- project_templates
+
+
+ALTER TABLE project_templates ADD COLUMN "subCategory" character varying(45);
+ALTER TABLE project_templates ADD COLUMN "metadata" json NOT NULL DEFAULT '{}'::json;
diff --git a/migrations/20200130_increase_metadata_info_length.sql b/migrations/20200130_increase_metadata_info_length.sql
new file mode 100644
index 00000000..677124d2
--- /dev/null
+++ b/migrations/20200130_increase_metadata_info_length.sql
@@ -0,0 +1,23 @@
+--
+-- UPDATE EXISTING TABLES:
+-- project_templates:
+-- modify column `info`
+-- project_types:
+-- modify column `info`
+-- product_categories:
+-- modify column `info`
+
+--
+-- project_templates
+
+ALTER TABLE project_templates ALTER COLUMN "info" TYPE character varying(1024);
+
+--
+-- project_types
+
+ALTER TABLE project_types ALTER COLUMN "info" TYPE character varying(1024);
+
+--
+-- product_categories
+
+ALTER TABLE product_categories ALTER COLUMN "info" TYPE character varying(1024);
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index 5ac8f9d9..44dcac10 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -28,9 +28,9 @@
}
},
"@types/connect": {
- "version": "3.4.32",
- "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.32.tgz",
- "integrity": "sha512-4r8qa0quOvh7lGD0pre62CAb1oni1OO6ecJLGCezTmhQ8Fz50Arx9RUszryR8KlgK6avuSXvviL6yWyViQABOg==",
+ "version": "3.4.33",
+ "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.33.tgz",
+ "integrity": "sha512-2+FrkXY4zllzTNfJth7jOqEHC+enpLeGslEhpnTAkg21GkRrWV4SsAtqchtT4YS9/nODBU2/ZfsBY2X4J/dX7A==",
"requires": {
"@types/node": "*"
}
@@ -55,9 +55,9 @@
}
},
"@types/express-serve-static-core": {
- "version": "4.16.11",
- "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.16.11.tgz",
- "integrity": "sha512-K8d2M5t3tBQimkyaYTXxtHYyoJPUEhy2/omVRnTAKw5FEdT+Ft6lTaTOpoJdHeG+mIwQXXtqiTcYZ6IR8LTzjQ==",
+ "version": "4.17.2",
+ "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.2.tgz",
+ "integrity": "sha512-El9yMpctM6tORDAiBwZVLMcxoTMcqqRO9dVyYcn7ycLWbvR8klrDn8CAOwRfZujZtWD7yS/mshTdz43jMOejbg==",
"requires": {
"@types/node": "*",
"@types/range-parser": "*"
@@ -72,9 +72,9 @@
}
},
"@types/lodash": {
- "version": "4.14.146",
- "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.146.tgz",
- "integrity": "sha512-JzJcmQ/ikHSv7pbvrVNKJU5j9jL9VLf3/gqs048CEnBVVVEv4kve3vLxoPHGvclutS+Il4SBIuQQ087m1eHffw=="
+ "version": "4.14.149",
+ "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.149.tgz",
+ "integrity": "sha512-ijGqzZt/b7BfzcK9vTrS6MFljQRPn5BFWOx8oE0GYxribu6uV+aA9zZuXI1zc/etK9E8nrgdoF2+LgUw7+9tJQ=="
},
"@types/mime": {
"version": "2.0.1",
@@ -82,9 +82,9 @@
"integrity": "sha512-FwI9gX75FgVBJ7ywgnq/P7tw+/o1GUbtP0KzbtusLigAOgIgNISRK0ZPl4qertvXSIE8YbsVJueQ90cDt9YYyw=="
},
"@types/node": {
- "version": "12.12.7",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.7.tgz",
- "integrity": "sha512-E6Zn0rffhgd130zbCbAr/JdXfXkoOUFAKNs/rF8qnafSJ8KYaA/j3oz7dcwal+lYjLA7xvdd5J4wdYpCTlP8+w=="
+ "version": "13.7.0",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-13.7.0.tgz",
+ "integrity": "sha512-GnZbirvmqZUzMgkFn70c74OQpTTUcCzlhQliTzYjQMqg+hVKcDnxdL19Ne3UdYzdMA/+W3eb646FWn/ZaT1NfQ=="
},
"@types/range-parser": {
"version": "1.2.3",
@@ -147,11 +147,11 @@
}
},
"ajv": {
- "version": "6.10.2",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz",
- "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==",
+ "version": "6.11.0",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.11.0.tgz",
+ "integrity": "sha512-nCprB/0syFYy9fVYU1ox1l2KN8S9I+tziH8D4zdZuLT3N6RMlGSGt5FSTpAiHB/Whv8Qs1cWHma1aMKZyaHRKA==",
"requires": {
- "fast-deep-equal": "^2.0.1",
+ "fast-deep-equal": "^3.1.1",
"fast-json-stable-stringify": "^2.0.0",
"json-schema-traverse": "^0.4.1",
"uri-js": "^4.2.2"
@@ -322,13 +322,14 @@
"integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
},
"array-includes": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz",
- "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.1.tgz",
+ "integrity": "sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==",
"dev": true,
"requires": {
- "define-properties": "^1.1.2",
- "es-abstract": "^1.7.0"
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.0",
+ "is-string": "^1.0.5"
}
},
"array-unique": {
@@ -338,6 +339,16 @@
"dev": true,
"optional": true
},
+ "array.prototype.flat": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz",
+ "integrity": "sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ==",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.0-next.1"
+ }
+ },
"asn1": {
"version": "0.2.4",
"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
@@ -396,12 +407,12 @@
"dev": true
},
"auth0-js": {
- "version": "9.11.3",
- "resolved": "https://registry.npmjs.org/auth0-js/-/auth0-js-9.11.3.tgz",
- "integrity": "sha512-86EGbaXPHBuyYPPPpvkckH7rCnEgS14DHsK64v2tb4ph4NsZ+peW6pjwBHkOdz4Ytd/ibhGTYCEbA9xdHWSqiA==",
+ "version": "9.12.2",
+ "resolved": "https://registry.npmjs.org/auth0-js/-/auth0-js-9.12.2.tgz",
+ "integrity": "sha512-0VfPu5UcgkGKQc7Q8KPqgkqqhLgXGsDCro2tde7hHPYK9JEzOyq82v0szUTHWlwQE1VT8K2/qZAsGDf7hFjI7g==",
"requires": {
"base64-js": "^1.3.0",
- "idtoken-verifier": "^1.4.1",
+ "idtoken-verifier": "^2.0.1",
"js-cookie": "^2.2.0",
"qs": "^6.7.0",
"superagent": "^3.8.3",
@@ -410,9 +421,9 @@
}
},
"aws-sdk": {
- "version": "2.611.0",
- "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.611.0.tgz",
- "integrity": "sha512-2Y0vqEUQFRJE/5Ne6IYgP2y+8XEp0jQefHxlwdqwj9n9a8OmdsmBnNaw2IVsyxySgk2ynp38+imBJaceDNKiiQ==",
+ "version": "2.610.0",
+ "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.610.0.tgz",
+ "integrity": "sha512-kqcoCTKjbxrUo2KeLQR2Jw6l4PvkbHXSDk8KqF2hXcpHibiOcMXZZPVe9X+s90RC/B2+qU95M7FImp9ByMcw7A==",
"requires": {
"buffer": "4.9.1",
"events": "1.1.1",
@@ -423,13 +434,6 @@
"url": "0.10.3",
"uuid": "3.3.2",
"xml2js": "0.4.19"
- },
- "dependencies": {
- "uuid": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
- "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA=="
- }
}
},
"aws-sign2": {
@@ -438,17 +442,16 @@
"integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
},
"aws4": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
- "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ=="
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz",
+ "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug=="
},
"axios": {
- "version": "0.19.0",
- "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.0.tgz",
- "integrity": "sha512-1uvKqKQta3KBxIz14F2v06AEHZ/dIoeKfbTRkK1E5oqjDnuEerLmYTgJB5AiQZHJcljpg1TuRzdjDR06qNk0DQ==",
+ "version": "0.19.2",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz",
+ "integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==",
"requires": {
- "follow-redirects": "1.5.10",
- "is-buffer": "^2.0.2"
+ "follow-redirects": "1.5.10"
}
},
"babel-cli": {
@@ -497,6 +500,12 @@
"once": "^1.3.0",
"path-is-absolute": "^1.0.0"
}
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
}
}
},
@@ -553,6 +562,12 @@
"resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
"integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
"dev": true
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
}
}
},
@@ -593,6 +608,12 @@
"core-js": "^2.4.0",
"regenerator-runtime": "^0.11.0"
}
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
}
}
},
@@ -1665,9 +1686,9 @@
"dev": true
},
"kind-of": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
"dev": true
}
}
@@ -1720,9 +1741,9 @@
}
},
"bluebird": {
- "version": "3.7.1",
- "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.1.tgz",
- "integrity": "sha512-DdmyoGCleJnkbp3nkbxTLJ18rjDsE4yCggEwKNXkeV123sPNfOCYeDoeuOY+F2FrSjO1YXcTU+dsy96KMy+gcg=="
+ "version": "3.7.2",
+ "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
+ "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg=="
},
"body-parser": {
"version": "1.19.0",
@@ -2257,11 +2278,11 @@
"integrity": "sha1-ikeQFwAjjk/DIml3EjAibyS0Fak="
},
"compressible": {
- "version": "2.0.17",
- "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.17.tgz",
- "integrity": "sha512-BGHeLCK1GV7j1bSmQQAi26X+GgWcTjLr/0tzSvMCl3LH1w1IJ4PFSPoV5316b30cneTziC+B1a+3OjoSUcQYmw==",
+ "version": "2.0.18",
+ "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz",
+ "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==",
"requires": {
- "mime-db": ">= 1.40.0 < 2"
+ "mime-db": ">= 1.43.0 < 2"
}
},
"compression": {
@@ -2309,9 +2330,9 @@
"dev": true
},
"readable-stream": {
- "version": "2.3.6",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
- "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "version": "2.3.7",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
+ "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
"dev": true,
"requires": {
"core-util-is": "~1.0.0",
@@ -2430,9 +2451,9 @@
"dev": true
},
"core-js": {
- "version": "2.6.10",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.10.tgz",
- "integrity": "sha512-I39t74+4t+zau64EN1fE5v2W31Adtc/REhzWN+gWRRXg6WH5qAsZm62DHpQ1+Yhe4047T55jvzz7MUqF/dBBlA=="
+ "version": "2.6.11",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz",
+ "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg=="
},
"core-util-is": {
"version": "1.0.2",
@@ -2625,9 +2646,9 @@
"dev": true
},
"kind-of": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
"dev": true
}
}
@@ -2681,9 +2702,9 @@
}
},
"dottie": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/dottie/-/dottie-2.0.1.tgz",
- "integrity": "sha512-ch5OQgvGDK2u8pSZeSYAQaV/lczImd7pMJ7BcEPXmnFVjy4yJIzP6CsODJUTH8mg1tyH1Z2abOiuJO3DjZ/GBw=="
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/dottie/-/dottie-2.0.2.tgz",
+ "integrity": "sha512-fmrwR04lsniq/uSr8yikThDTrM7epXHBAAjH9TbeH3rEA8tdCO7mRzB9hdmdGyJCxF8KERo9CITcm3kGuoyMhg=="
},
"dtrace-provider": {
"version": "0.8.8",
@@ -2707,6 +2728,13 @@
"requires": {
"jsbn": "~0.1.0",
"safer-buffer": "^2.1.0"
+ },
+ "dependencies": {
+ "jsbn": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM="
+ }
}
},
"ecdsa-sig-formatter": {
@@ -2747,9 +2775,9 @@
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
},
"elasticsearch": {
- "version": "16.5.0",
- "resolved": "https://registry.npmjs.org/elasticsearch/-/elasticsearch-16.5.0.tgz",
- "integrity": "sha512-9YbmU2AtM/kQdmp96EI5nu2bjxowdarV6IsKmcS+jQowJ3mhG98J1DCVOtEKuFvsnNaLyKD3aPbCAmb72+WX3w==",
+ "version": "16.6.0",
+ "resolved": "https://registry.npmjs.org/elasticsearch/-/elasticsearch-16.6.0.tgz",
+ "integrity": "sha512-MhsdE2JaBJoV1EGzSkCqqhNGxafXJuhPr+eD3vbXmsk/QWhaiU12oyXF0VhjcL8+UlwTHv0CAUbyjtE1wqoIdw==",
"requires": {
"agentkeepalive": "^3.4.1",
"chalk": "^1.0.0",
@@ -2785,21 +2813,22 @@
}
},
"es-abstract": {
- "version": "1.16.0",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.16.0.tgz",
- "integrity": "sha512-xdQnfykZ9JMEiasTAJZJdMWCQ1Vm00NBw79/AWi7ELfZuuPCSOMDZbT9mkOfSctVtfhb+sAAzrm+j//GjjLHLg==",
+ "version": "1.17.4",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.4.tgz",
+ "integrity": "sha512-Ae3um/gb8F0mui/jPL+QiqmglkUsaQf7FwBEHYIFkztkneosu9imhqHpBzQ3h1vit8t5iQ74t6PEVvphBZiuiQ==",
"dev": true,
"requires": {
- "es-to-primitive": "^1.2.0",
+ "es-to-primitive": "^1.2.1",
"function-bind": "^1.1.1",
"has": "^1.0.3",
- "has-symbols": "^1.0.0",
- "is-callable": "^1.1.4",
- "is-regex": "^1.0.4",
- "object-inspect": "^1.6.0",
+ "has-symbols": "^1.0.1",
+ "is-callable": "^1.1.5",
+ "is-regex": "^1.0.5",
+ "object-inspect": "^1.7.0",
"object-keys": "^1.1.1",
- "string.prototype.trimleft": "^2.1.0",
- "string.prototype.trimright": "^2.1.0"
+ "object.assign": "^4.1.0",
+ "string.prototype.trimleft": "^2.1.1",
+ "string.prototype.trimright": "^2.1.1"
}
},
"es-to-primitive": {
@@ -2814,13 +2843,13 @@
}
},
"es5-ext": {
- "version": "0.10.52",
- "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.52.tgz",
- "integrity": "sha512-bWCbE9fbpYQY4CU6hJbJ1vSz70EClMlDgJ7BmwI+zEJhxrwjesZRPglGJlsZhu0334U3hI+gaspwksH9IGD6ag==",
+ "version": "0.10.53",
+ "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz",
+ "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==",
"dev": true,
"requires": {
"es6-iterator": "~2.0.3",
- "es6-symbol": "~3.1.2",
+ "es6-symbol": "~3.1.3",
"next-tick": "~1.0.0"
}
},
@@ -2849,6 +2878,11 @@
"event-emitter": "~0.3.5"
}
},
+ "es6-promise": {
+ "version": "4.2.8",
+ "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz",
+ "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w=="
+ },
"es6-set": {
"version": "0.1.5",
"resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz",
@@ -2918,11 +2952,10 @@
"source-map": "~0.6.1"
},
"dependencies": {
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "optional": true
+ "esprima": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="
}
}
},
@@ -3016,42 +3049,43 @@
}
},
"eslint-import-resolver-node": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz",
- "integrity": "sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q==",
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.3.tgz",
+ "integrity": "sha512-b8crLDo0M5RSe5YG8Pu2DYBj71tSB6OvXkfzwbJU2w7y8P4/yo0MyF8jU26IEuEuHF2K5/gcAJE3LhQGqBBbVg==",
"dev": true,
"requires": {
"debug": "^2.6.9",
- "resolve": "^1.5.0"
+ "resolve": "^1.13.1"
}
},
"eslint-module-utils": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.4.1.tgz",
- "integrity": "sha512-H6DOj+ejw7Tesdgbfs4jeS4YMFrT8uI8xwd1gtQqXssaR0EQ26L+2O/w6wkYFy2MymON0fTwHmXBvvfLNZVZEw==",
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.5.2.tgz",
+ "integrity": "sha512-LGScZ/JSlqGKiT8OC+cYRxseMjyqt6QO54nl281CK93unD89ijSeRV6An8Ci/2nvWVKe8K/Tqdm75RQoIOCr+Q==",
"dev": true,
"requires": {
- "debug": "^2.6.8",
+ "debug": "^2.6.9",
"pkg-dir": "^2.0.0"
}
},
"eslint-plugin-import": {
- "version": "2.18.2",
- "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.18.2.tgz",
- "integrity": "sha512-5ohpsHAiUBRNaBWAF08izwUGlbrJoJJ+W9/TBwsGoR1MnlgfwMIKrFeSjWbt6moabiXW9xNvtFz+97KHRfI4HQ==",
+ "version": "2.20.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.20.1.tgz",
+ "integrity": "sha512-qQHgFOTjguR+LnYRoToeZWT62XM55MBVXObHM6SKFd1VzDcX/vqT1kAz8ssqigh5eMj8qXcRoXXGZpPP6RfdCw==",
"dev": true,
"requires": {
"array-includes": "^3.0.3",
+ "array.prototype.flat": "^1.2.1",
"contains-path": "^0.1.0",
"debug": "^2.6.9",
"doctrine": "1.5.0",
"eslint-import-resolver-node": "^0.3.2",
- "eslint-module-utils": "^2.4.0",
+ "eslint-module-utils": "^2.4.1",
"has": "^1.0.3",
"minimatch": "^3.0.4",
"object.values": "^1.1.0",
"read-pkg-up": "^2.0.0",
- "resolve": "^1.11.0"
+ "resolve": "^1.12.0"
},
"dependencies": {
"doctrine": {
@@ -3089,9 +3123,9 @@
}
},
"esprima": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
- "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.2.2.tgz",
+ "integrity": "sha1-dqD9Zvz+FU/SkmZ9wmQBl1CxZXs="
},
"esquery": {
"version": "1.0.1",
@@ -3268,9 +3302,9 @@
}
},
"ext": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/ext/-/ext-1.2.0.tgz",
- "integrity": "sha512-0ccUQK/9e3NreLFg6K6np8aPyRgwycx+oFGtfx1dSp7Wj00Ozw9r05FgBRlzjf2XBM7LAzwgLyDscRrtSU91hA==",
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz",
+ "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==",
"dev": true,
"requires": {
"type": "^2.0.0"
@@ -3326,14 +3360,14 @@
"integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
},
"fast-deep-equal": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
- "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk="
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz",
+ "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA=="
},
"fast-json-stable-stringify": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
- "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I="
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
},
"fast-levenshtein": {
"version": "2.0.6",
@@ -3442,6 +3476,14 @@
"dev": true,
"requires": {
"is-buffer": "~2.0.3"
+ },
+ "dependencies": {
+ "is-buffer": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz",
+ "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==",
+ "dev": true
+ }
}
},
"flat-cache": {
@@ -3586,14 +3628,15 @@
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
},
"fsevents": {
- "version": "1.2.9",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz",
- "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==",
+ "version": "1.2.11",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.11.tgz",
+ "integrity": "sha512-+ux3lx6peh0BpvY0JebGyZoiR4D+oYzdPZMKJwkZ+sFkNJzpL7tXc/wehS49gUAxg3tmMHPHZkA8JU2rhhgDHw==",
"dev": true,
"optional": true,
"requires": {
+ "bindings": "^1.5.0",
"nan": "^2.12.1",
- "node-pre-gyp": "^0.12.0"
+ "node-pre-gyp": "*"
},
"dependencies": {
"abbrev": {
@@ -3641,7 +3684,7 @@
}
},
"chownr": {
- "version": "1.1.1",
+ "version": "1.1.3",
"bundled": true,
"dev": true,
"optional": true
@@ -3671,7 +3714,7 @@
"optional": true
},
"debug": {
- "version": "4.1.1",
+ "version": "3.2.6",
"bundled": true,
"dev": true,
"optional": true,
@@ -3698,12 +3741,12 @@
"optional": true
},
"fs-minipass": {
- "version": "1.2.5",
+ "version": "1.2.7",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
- "minipass": "^2.2.1"
+ "minipass": "^2.6.0"
}
},
"fs.realpath": {
@@ -3729,7 +3772,7 @@
}
},
"glob": {
- "version": "7.1.3",
+ "version": "7.1.6",
"bundled": true,
"dev": true,
"optional": true,
@@ -3758,7 +3801,7 @@
}
},
"ignore-walk": {
- "version": "3.0.1",
+ "version": "3.0.3",
"bundled": true,
"dev": true,
"optional": true,
@@ -3777,7 +3820,7 @@
}
},
"inherits": {
- "version": "2.0.3",
+ "version": "2.0.4",
"bundled": true,
"dev": true,
"optional": true
@@ -3819,7 +3862,7 @@
"optional": true
},
"minipass": {
- "version": "2.3.5",
+ "version": "2.9.0",
"bundled": true,
"dev": true,
"optional": true,
@@ -3829,12 +3872,12 @@
}
},
"minizlib": {
- "version": "1.2.1",
+ "version": "1.3.3",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
- "minipass": "^2.2.1"
+ "minipass": "^2.9.0"
}
},
"mkdirp": {
@@ -3847,24 +3890,24 @@
}
},
"ms": {
- "version": "2.1.1",
+ "version": "2.1.2",
"bundled": true,
"dev": true,
"optional": true
},
"needle": {
- "version": "2.3.0",
+ "version": "2.4.0",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
- "debug": "^4.1.0",
+ "debug": "^3.2.6",
"iconv-lite": "^0.4.4",
"sax": "^1.2.4"
}
},
"node-pre-gyp": {
- "version": "0.12.0",
+ "version": "0.14.0",
"bundled": true,
"dev": true,
"optional": true,
@@ -3878,7 +3921,7 @@
"rc": "^1.2.7",
"rimraf": "^2.6.1",
"semver": "^5.3.0",
- "tar": "^4"
+ "tar": "^4.4.2"
}
},
"nopt": {
@@ -3892,13 +3935,22 @@
}
},
"npm-bundled": {
- "version": "1.0.6",
+ "version": "1.1.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "npm-normalize-package-bin": "^1.0.1"
+ }
+ },
+ "npm-normalize-package-bin": {
+ "version": "1.0.1",
"bundled": true,
"dev": true,
"optional": true
},
"npm-packlist": {
- "version": "1.4.1",
+ "version": "1.4.7",
"bundled": true,
"dev": true,
"optional": true,
@@ -3969,7 +4021,7 @@
"optional": true
},
"process-nextick-args": {
- "version": "2.0.0",
+ "version": "2.0.1",
"bundled": true,
"dev": true,
"optional": true
@@ -4010,7 +4062,7 @@
}
},
"rimraf": {
- "version": "2.6.3",
+ "version": "2.7.1",
"bundled": true,
"dev": true,
"optional": true,
@@ -4037,7 +4089,7 @@
"optional": true
},
"semver": {
- "version": "5.7.0",
+ "version": "5.7.1",
"bundled": true,
"dev": true,
"optional": true
@@ -4090,18 +4142,18 @@
"optional": true
},
"tar": {
- "version": "4.4.8",
+ "version": "4.4.13",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"chownr": "^1.1.1",
"fs-minipass": "^1.2.5",
- "minipass": "^2.3.4",
- "minizlib": "^1.1.1",
+ "minipass": "^2.8.6",
+ "minizlib": "^1.2.1",
"mkdirp": "^0.5.0",
"safe-buffer": "^5.1.2",
- "yallist": "^3.0.2"
+ "yallist": "^3.0.3"
}
},
"util-deprecate": {
@@ -4126,7 +4178,7 @@
"optional": true
},
"yallist": {
- "version": "3.0.3",
+ "version": "3.1.1",
"bundled": true,
"dev": true,
"optional": true
@@ -4264,23 +4316,15 @@
"dev": true
},
"handlebars": {
- "version": "4.5.1",
- "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.5.1.tgz",
- "integrity": "sha512-C29UoFzHe9yM61lOsIlCE5/mQVGrnIOrOq7maQl76L7tYPCgC1og0Ajt6uWnX4ZTxBPnjw+CUvawphwCfJgUnA==",
+ "version": "4.7.2",
+ "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.2.tgz",
+ "integrity": "sha512-4PwqDL2laXtTWZghzzCtunQUTLbo31pcCJrd/B/9JP8XbhVzpS5ZXuKqlOzsd1rtcaLo4KqAn8nl8mkknS4MHw==",
"dev": true,
"requires": {
"neo-async": "^2.6.0",
"optimist": "^0.6.1",
"source-map": "^0.6.1",
"uglify-js": "^3.1.4"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- }
}
},
"har-schema": {
@@ -4321,9 +4365,9 @@
"dev": true
},
"has-symbols": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz",
- "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
+ "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
"dev": true
},
"has-value": {
@@ -4355,12 +4399,6 @@
"kind-of": "^4.0.0"
},
"dependencies": {
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
- "dev": true
- },
"is-number": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
@@ -4479,23 +4517,16 @@
}
},
"idtoken-verifier": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/idtoken-verifier/-/idtoken-verifier-1.4.1.tgz",
- "integrity": "sha512-BoJc00Gj37hrNlx7NYmd8uJFvvC9/FiWDKugDluP4JmgOGT/AfNlPfnRmi9fHEEqSatnIIr3WTyf0dlhHfSHnA==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/idtoken-verifier/-/idtoken-verifier-2.0.1.tgz",
+ "integrity": "sha512-sLLFPPc6D6Ske7JNHHrrWHbQKuY1OJN9GcJd6Y1LjMvInJBr26Axbo6o07JYPPTRUzJahBWHudabgFoNo23lMw==",
"requires": {
- "base64-js": "^1.2.0",
+ "base64-js": "^1.3.0",
"crypto-js": "^3.1.9-1",
- "jsbn": "^0.1.0",
- "promise-polyfill": "^8.1.3",
+ "es6-promise": "^4.2.8",
+ "jsbn": "^1.1.0",
"unfetch": "^4.1.0",
- "url-join": "^1.1.0"
- },
- "dependencies": {
- "url-join": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/url-join/-/url-join-1.1.0.tgz",
- "integrity": "sha1-dBxsL0WWxIMNZxhGCSDQySIC3Hg="
- }
+ "url-join": "^4.0.1"
}
},
"ieee754": {
@@ -4629,14 +4660,15 @@
"integrity": "sha1-CWQ5Bg9KpBGr7hkUOoTWpVNG1uI="
},
"is-buffer": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz",
- "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A=="
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
+ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
+ "dev": true
},
"is-callable": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
- "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==",
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz",
+ "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==",
"dev": true
},
"is-ci": {
@@ -4658,9 +4690,9 @@
}
},
"is-date-object": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
- "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz",
+ "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==",
"dev": true
},
"is-descriptor": {
@@ -4856,12 +4888,12 @@
"dev": true
},
"is-regex": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
- "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz",
+ "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==",
"dev": true,
"requires": {
- "has": "^1.0.1"
+ "has": "^1.0.3"
}
},
"is-resolvable": {
@@ -4882,13 +4914,19 @@
"integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
"dev": true
},
+ "is-string": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz",
+ "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==",
+ "dev": true
+ },
"is-symbol": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz",
- "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz",
+ "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==",
"dev": true,
"requires": {
- "has-symbols": "^1.0.0"
+ "has-symbols": "^1.0.1"
}
},
"is-typedarray": {
@@ -5097,6 +5135,12 @@
"requires": {
"glob": "^7.1.3"
}
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
}
}
},
@@ -5131,9 +5175,9 @@
"integrity": "sha1-uEF7dQZho5K+4sJTfGiyqdSXfNU="
},
"js-beautify": {
- "version": "1.10.2",
- "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.10.2.tgz",
- "integrity": "sha512-ZtBYyNUYJIsBWERnQP0rPN9KjkrDfJcMjuVGcvXOUJrD1zmOGwhRwQ4msG+HJ+Ni/FA7+sRQEMYVzdTQDvnzvQ==",
+ "version": "1.10.3",
+ "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.10.3.tgz",
+ "integrity": "sha512-wfk/IAWobz1TfApSdivH5PJ0miIHgDoYb1ugSqHcODPmaYu46rYe5FVuIEkhjg8IQiv6rDNPyhsqbsohI/C2vQ==",
"dev": true,
"requires": {
"config-chain": "^1.1.12",
@@ -5188,12 +5232,20 @@
"requires": {
"argparse": "^1.0.7",
"esprima": "^4.0.0"
+ },
+ "dependencies": {
+ "esprima": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+ "dev": true
+ }
}
},
"jsbn": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
- "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM="
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz",
+ "integrity": "sha1-sBMHyym2GKHtJux56RH4A8TaAEA="
},
"jsesc": {
"version": "1.3.0",
@@ -5258,11 +5310,6 @@
"underscore": "1.7.0"
},
"dependencies": {
- "esprima": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.2.2.tgz",
- "integrity": "sha1-dqD9Zvz+FU/SkmZ9wmQBl1CxZXs="
- },
"underscore": {
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz",
@@ -5322,19 +5369,27 @@
}
},
"jwks-rsa": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/jwks-rsa/-/jwks-rsa-1.6.0.tgz",
- "integrity": "sha512-gLhpd7Ka7Jy8ofm9OVj0PFPtSdx3+W2dncF3UCA1wDTAbvfiB1GhHbbyQlz8bqLF5+rge7pgD/DALRfgZi8Fgg==",
+ "version": "1.6.2",
+ "resolved": "https://registry.npmjs.org/jwks-rsa/-/jwks-rsa-1.6.2.tgz",
+ "integrity": "sha512-c/mFFq/wVXSkHzHGH+hLUwLeRKSCofNHJZKPzHho4YmO9LGwAazk7akfABvWhduS9OejWvqBS2jA69YeruEvNA==",
"requires": {
"@types/express-jwt": "0.0.42",
- "debug": "^2.6.9",
+ "debug": "^4.1.0",
"jsonwebtoken": "^8.5.1",
"limiter": "^1.1.4",
- "lru-memoizer": "^1.12.0",
- "ms": "^2.1.1",
+ "lru-memoizer": "^2.0.1",
+ "ms": "^2.1.2",
"request": "^2.88.0"
},
"dependencies": {
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@@ -5358,14 +5413,6 @@
"dev": true,
"requires": {
"is-buffer": "^1.1.5"
- },
- "dependencies": {
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
- "dev": true
- }
}
},
"latest-version": {
@@ -5427,9 +5474,9 @@
}
},
"limiter": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/limiter/-/limiter-1.1.4.tgz",
- "integrity": "sha512-XCpr5bElgDI65vVgstP8TWjv6/QKWm9GU5UG0Pr5sLQ3QLo8NVKsioe+Jed5/3vFOe3IQuqE7DKwTvKQkjTHvg=="
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/limiter/-/limiter-1.1.5.tgz",
+ "integrity": "sha512-FWWMIEOxz3GwUI4Ts/IvgVy6LPvoMPgjMdQ185nN6psJyBJ4yOpzqm695/h5umdLJg2vW3GR5iG11MAkR2AzJA=="
},
"load-json-file": {
"version": "2.0.0",
@@ -5453,16 +5500,16 @@
"path-exists": "^3.0.0"
}
},
- "lock": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/lock/-/lock-0.1.4.tgz",
- "integrity": "sha1-/sfervF+fDoKVeHaBCgD4l2RdF0="
- },
"lodash": {
"version": "4.17.15",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
"integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A=="
},
+ "lodash.clonedeep": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
+ "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8="
+ },
"lodash.includes": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz",
@@ -5580,14 +5627,12 @@
}
},
"lru-memoizer": {
- "version": "1.13.0",
- "resolved": "https://registry.npmjs.org/lru-memoizer/-/lru-memoizer-1.13.0.tgz",
- "integrity": "sha512-q0wMolfI7yimhZ36kBAfMLOIuDBpRkieN9do0YPjSzCaiy6r73s8wOEq7Ue/B95VSRbXzfnOr1O1QdJc5UIqaw==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/lru-memoizer/-/lru-memoizer-2.0.1.tgz",
+ "integrity": "sha512-kGl+zlIqdQL24f0Q9IUSUZeSvA7nqXPFLA7suFh00v4KVqfXkZJtkPfTfXV/oQMSPfNr6VT4xGkRAUPhFnGyxQ==",
"requires": {
- "lock": "~0.1.2",
- "lodash": "^4.17.4",
- "lru-cache": "~4.0.0",
- "very-fast-args": "^1.1.0"
+ "lodash.clonedeep": "^4.5.0",
+ "lru-cache": "~4.0.0"
}
},
"lru-queue": {
@@ -5722,16 +5767,16 @@
"integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
},
"mime-db": {
- "version": "1.40.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz",
- "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA=="
+ "version": "1.43.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz",
+ "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ=="
},
"mime-types": {
- "version": "2.1.24",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz",
- "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==",
+ "version": "2.1.26",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz",
+ "integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==",
"requires": {
- "mime-db": "1.40.0"
+ "mime-db": "1.43.0"
}
},
"minimatch": {
@@ -5869,9 +5914,9 @@
"dev": true
},
"p-limit": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz",
- "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==",
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz",
+ "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==",
"dev": true,
"requires": {
"p-try": "^2.0.0"
@@ -5980,9 +6025,9 @@
"dev": true
},
"kind-of": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
"dev": true
}
}
@@ -6371,12 +6416,6 @@
"kind-of": "^6.0.0"
}
},
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
- "dev": true
- },
"is-data-descriptor": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
@@ -6439,9 +6478,9 @@
"dev": true
},
"kind-of": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
"dev": true
},
"micromatch": {
@@ -6561,9 +6600,9 @@
}
},
"object-inspect": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz",
- "integrity": "sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==",
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz",
+ "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==",
"dev": true
},
"object-keys": {
@@ -6602,25 +6641,25 @@
}
},
"object.entries": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.0.tgz",
- "integrity": "sha512-l+H6EQ8qzGRxbkHOd5I/aHRhHDKoQXQ8g0BYt4uSweQU1/J6dZUOyWh9a2Vky35YCKjzmgxOzta2hH6kf9HuXA==",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.1.tgz",
+ "integrity": "sha512-ilqR7BgdyZetJutmDPfXCDffGa0/Yzl2ivVNpbx/g4UeWrCdRnFDUBrKJGLhGieRHDATnyZXWBeCb29k9CJysQ==",
"dev": true,
"requires": {
"define-properties": "^1.1.3",
- "es-abstract": "^1.12.0",
+ "es-abstract": "^1.17.0-next.1",
"function-bind": "^1.1.1",
"has": "^1.0.3"
}
},
"object.getownpropertydescriptors": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz",
- "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz",
+ "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==",
"dev": true,
"requires": {
- "define-properties": "^1.1.2",
- "es-abstract": "^1.5.1"
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.0-next.1"
}
},
"object.omit": {
@@ -6652,13 +6691,13 @@
}
},
"object.values": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.0.tgz",
- "integrity": "sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg==",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz",
+ "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==",
"dev": true,
"requires": {
"define-properties": "^1.1.3",
- "es-abstract": "^1.12.0",
+ "es-abstract": "^1.17.0-next.1",
"function-bind": "^1.1.1",
"has": "^1.0.3"
}
@@ -6895,14 +6934,15 @@
"integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
},
"pg": {
- "version": "7.12.1",
- "resolved": "https://registry.npmjs.org/pg/-/pg-7.12.1.tgz",
- "integrity": "sha512-l1UuyfEvoswYfcUe6k+JaxiN+5vkOgYcVSbSuw3FvdLqDbaoa2RJo1zfJKfPsSYPFVERd4GHvX3s2PjG1asSDA==",
+ "version": "7.18.1",
+ "resolved": "https://registry.npmjs.org/pg/-/pg-7.18.1.tgz",
+ "integrity": "sha512-1KtKBKg/zWrjEEv//klBbVOPGucuc7HHeJf6OEMueVcUeyF3yueHf+DvhVwBjIAe9/97RAydO/lWjkcMwssuEw==",
"requires": {
"buffer-writer": "2.0.0",
"packet-reader": "1.0.0",
"pg-connection-string": "0.1.3",
- "pg-pool": "^2.0.4",
+ "pg-packet-stream": "^1.1.0",
+ "pg-pool": "^2.0.10",
"pg-types": "^2.1.0",
"pgpass": "1.x",
"semver": "4.3.2"
@@ -6965,10 +7005,15 @@
}
}
},
+ "pg-packet-stream": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/pg-packet-stream/-/pg-packet-stream-1.1.0.tgz",
+ "integrity": "sha512-kRBH0tDIW/8lfnnOyTwKD23ygJ/kexQVXZs7gEyBljw4FYqimZFxnMMx50ndZ8In77QgfGuItS5LLclC2TtjYg=="
+ },
"pg-pool": {
- "version": "2.0.7",
- "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-2.0.7.tgz",
- "integrity": "sha512-UiJyO5B9zZpu32GSlP0tXy8J2NsJ9EFGFfz5v6PSbdz/1hBLX1rNiiy5+mAm5iJJYwfCv4A0EBcQLGWwjbpzZw=="
+ "version": "2.0.10",
+ "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-2.0.10.tgz",
+ "integrity": "sha512-qdwzY92bHf3nwzIUcj+zJ0Qo5lpG/YxchahxIN8+ZVmXqkahKXsnl2aiJPHLYN9o5mB/leG+Xh6XKxtP7e0sjg=="
},
"pg-types": {
"version": "2.2.0",
@@ -7080,11 +7125,6 @@
"integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=",
"dev": true
},
- "promise-polyfill": {
- "version": "8.1.3",
- "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.1.3.tgz",
- "integrity": "sha512-MG5r82wBzh7pSKDRa9y+vllNHz3e3d4CNj1PQE4BQYxLme0gKYYBm9YENq+UkEikyZ0XbiGWxYlVw3Rl9O/U8g=="
- },
"proto-list": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz",
@@ -7092,9 +7132,9 @@
"dev": true
},
"protocol-buffers-schema": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.3.2.tgz",
- "integrity": "sha512-Xdayp8sB/mU+sUV4G7ws8xtYMGdQnxbeIfLjyO9TZZRJdztBGhlmbI5x1qcY4TG5hBkIKGnc28i7nXxaugu88w=="
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.4.0.tgz",
+ "integrity": "sha512-G/2kcamPF2S49W5yaMGdIpkG6+5wZF0fzBteLKgEHjbNzqjZQ85aAs1iJGto31EJaSTkNvHs5IXuHSaTLWBAiA=="
},
"proxy-addr": {
"version": "2.0.5",
@@ -7111,9 +7151,9 @@
"integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM="
},
"psl": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/psl/-/psl-1.4.0.tgz",
- "integrity": "sha512-HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw=="
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/psl/-/psl-1.7.0.tgz",
+ "integrity": "sha512-5NsSEDv8zY70ScRnOTn7bK7eanl2MvFrOrS/R6x+dBt5g1ghnj9Zv90kO8GwT8gxcu2ANyFprnFYB85IogIJOQ=="
},
"pstree.remy": {
"version": "1.1.7",
@@ -7161,9 +7201,9 @@
"optional": true
},
"kind-of": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
"dev": true,
"optional": true
}
@@ -7441,12 +7481,6 @@
"kind-of": "^6.0.0"
}
},
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
- "dev": true
- },
"is-data-descriptor": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
@@ -7500,9 +7534,9 @@
"dev": true
},
"kind-of": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
"dev": true
},
"micromatch": {
@@ -7527,9 +7561,9 @@
}
},
"readable-stream": {
- "version": "2.3.6",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
- "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "version": "2.3.7",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
+ "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
"dev": true,
"requires": {
"core-util-is": "~1.0.0",
@@ -7802,9 +7836,9 @@
"integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8="
},
"resolve": {
- "version": "1.12.0",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz",
- "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==",
+ "version": "1.15.0",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.15.0.tgz",
+ "integrity": "sha512-+hTmAldEGE80U2wJJDC1lebb5jWqvTYAfm3YZ1ckk1gBr0MnCqUKlwK1e+anaFljIl+F5tR5IoZcm4ZDA1zMQw==",
"dev": true,
"requires": {
"path-parse": "^1.0.6"
@@ -7953,9 +7987,9 @@
}
},
"sequelize": {
- "version": "5.21.2",
- "resolved": "https://registry.npmjs.org/sequelize/-/sequelize-5.21.2.tgz",
- "integrity": "sha512-MEqJ9NwQi4oy/ylLb2WkfPmhki/BOXC/gJfc8uWUUTETcpLwD1y/5bI1kqVh+qWcECHNsE9G4lmhj5hFbsxqvA==",
+ "version": "5.21.3",
+ "resolved": "https://registry.npmjs.org/sequelize/-/sequelize-5.21.3.tgz",
+ "integrity": "sha512-ptdeAxwTY0zbj7AK8m+SH3z52uHVrt/qmOTSIGo/kyfnSp3h5HeKlywkJf5GEk09kuRrPHfWARVSXH1W3IGU7g==",
"requires": {
"bluebird": "^3.5.0",
"cls-bluebird": "^2.1.0",
@@ -7991,6 +8025,11 @@
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
+ },
+ "uuid": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
+ "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="
}
}
},
@@ -8196,6 +8235,12 @@
"requires": {
"is-extendable": "^0.1.0"
}
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
}
}
},
@@ -8255,9 +8300,9 @@
"dev": true
},
"kind-of": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
"dev": true
}
}
@@ -8272,18 +8317,17 @@
}
},
"source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
- "dev": true
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
},
"source-map-resolve": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz",
- "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==",
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
+ "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
"dev": true,
"requires": {
- "atob": "^2.1.1",
+ "atob": "^2.1.2",
"decode-uri-component": "^0.2.0",
"resolve-url": "^0.2.1",
"source-map-url": "^0.4.0",
@@ -8297,6 +8341,14 @@
"dev": true,
"requires": {
"source-map": "^0.5.6"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ }
}
},
"source-map-url": {
@@ -8373,6 +8425,21 @@
"jsbn": "~0.1.0",
"safer-buffer": "^2.0.2",
"tweetnacl": "~0.14.0"
+ },
+ "dependencies": {
+ "jsbn": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM="
+ }
+ }
+ },
+ "static-eval": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.0.2.tgz",
+ "integrity": "sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg==",
+ "requires": {
+ "escodegen": "^1.8.1"
}
},
"static-eval": {
@@ -8421,9 +8488,9 @@
}
},
"string.prototype.trimleft": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz",
- "integrity": "sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==",
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz",
+ "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==",
"dev": true,
"requires": {
"define-properties": "^1.1.3",
@@ -8431,9 +8498,9 @@
}
},
"string.prototype.trimright": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz",
- "integrity": "sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==",
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz",
+ "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==",
"dev": true,
"requires": {
"define-properties": "^1.1.3",
@@ -8507,9 +8574,9 @@
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
"readable-stream": {
- "version": "2.3.6",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
- "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "version": "2.3.7",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
+ "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
@@ -8551,14 +8618,14 @@
"integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
},
"swagger-ui-dist": {
- "version": "3.24.2",
- "resolved": "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-3.24.2.tgz",
- "integrity": "sha512-Nhx9hODibHEa53ErTrguM/N0XaEBcQeKkTlfgJvRwMo/CrJI6ncy8xKOh3meSqQj+oVqz2nhWjMBBudJsRYz5g=="
+ "version": "3.25.0",
+ "resolved": "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-3.25.0.tgz",
+ "integrity": "sha512-vwvJPPbdooTvDwLGzjIXinOXizDJJ6U1hxnJL3y6U3aL1d2MSXDmKg2139XaLBhsVZdnQJV2bOkX4reB+RXamg=="
},
"swagger-ui-express": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/swagger-ui-express/-/swagger-ui-express-4.1.2.tgz",
- "integrity": "sha512-bVT16qj6WdNlEKFkSLOoTeGuqEm2lfOFRq6mVHAx+viA/ikORE+n4CS3WpVcYmQzM4HE6+DUFgAWcMRBJNpjcw==",
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/swagger-ui-express/-/swagger-ui-express-4.1.3.tgz",
+ "integrity": "sha512-f8SEn4YWkKh/HGK0ZjuA2VqA78i1aY6OIa5cqYNgOkBobfHV6Mz4dphQW/us8HYhEFfbENq329PyfIonWfzFrw==",
"requires": {
"swagger-ui-dist": "^3.18.1"
}
@@ -8833,23 +8900,14 @@
"dev": true
},
"uglify-js": {
- "version": "3.6.8",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.8.tgz",
- "integrity": "sha512-XhHJ3S3ZyMwP8kY1Gkugqx3CJh2C3O0y8NPiSxtm1tyD/pktLAkFZsFGpuNfTZddKDQ/bbDBLAd2YyA1pbi8HQ==",
+ "version": "3.7.7",
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.7.7.tgz",
+ "integrity": "sha512-FeSU+hi7ULYy6mn8PKio/tXsdSXN35lm4KgV2asx00kzrLU9Pi3oAslcJT70Jdj7PHX29gGUPOT6+lXGBbemhA==",
"dev": true,
"optional": true,
"requires": {
"commander": "~2.20.3",
"source-map": "~0.6.1"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true,
- "optional": true
- }
}
},
"umzug": {
@@ -9141,9 +9199,9 @@
"integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
},
"uuid": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz",
- "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ=="
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
+ "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA=="
},
"v8flags": {
"version": "2.1.1",
@@ -9184,11 +9242,6 @@
"extsprintf": "^1.2.0"
}
},
- "very-fast-args": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/very-fast-args/-/very-fast-args-1.1.0.tgz",
- "integrity": "sha1-4W0dH6+KbllqJGQh/ZCneWPQs5Y="
- },
"which": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
@@ -9476,9 +9529,9 @@
}
},
"p-limit": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz",
- "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==",
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz",
+ "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==",
"dev": true,
"requires": {
"p-try": "^2.0.0"
diff --git a/package.json b/package.json
index 6490f091..e1ccee32 100644
--- a/package.json
+++ b/package.json
@@ -17,12 +17,14 @@
"migrate:es:metadata": "./node_modules/.bin/babel-node migrations/helpers/indexMetadataDirectly.js",
"prestart": "npm run -s build",
"start": "node dist",
- "startKafkaConsumers": "npm run -s build && node dist/index-kafka.js",
"start:dev": "NODE_ENV=development PORT=8001 nodemon -w src --exec \"babel-node src --presets es2015\" | ./node_modules/.bin/bunyan",
+ "startKafkaConsumers": "npm run -s build && node dist/index-kafka.js",
+ "startKafkaConsumers:dev": "NODE_ENV=development nodemon -w src --exec \"babel-node src/index-kafka.js --presets es2015\" | ./node_modules/.bin/bunyan",
"test": "NODE_ENV=test npm run lint && NODE_ENV=test npm run sync:es && NODE_ENV=test npm run sync:db && NODE_ENV=test ./node_modules/.bin/istanbul cover ./node_modules/mocha/bin/_mocha -- --timeout 10000 --require babel-core/register $(find src -path '*spec.js*') --exit",
"test:watch": "NODE_ENV=test ./node_modules/.bin/mocha -w --require babel-core/register $(find src -path '*spec.js*')",
"seed": "babel-node src/tests/seed.js --presets es2015",
- "demo-data": "babel-node local/seed"
+ "demo-data": "babel-node local/seed",
+ "es-db-compare": "babel-node scripts/es-db-compare"
},
"repository": {
"type": "git",
@@ -53,8 +55,11 @@
"express-request-id": "^1.1.0",
"express-sanitizer": "^1.0.2",
"express-validation": "^0.6.0",
+ "handlebars": "^4.5.3",
"http-aws-es": "^4.0.0",
"joi": "^8.0.5",
+ "jsondiffpatch": "^0.4.1",
+ "jsonpath": "^1.0.2",
"jsonwebtoken": "^8.3.0",
"lodash": "^4.17.11",
"memwatch-next": "^0.3.0",
@@ -64,7 +69,6 @@
"pg": "^7.11.0",
"pg-native": "^3.0.0",
"sequelize": "^5.8.7",
- "jsonpath": "^1.0.2",
"swagger-ui-express": "^4.0.6",
"tc-core-library-js": "appirio-tech/tc-core-library-js.git#v2.6.3",
"traverse": "^0.6.6",
diff --git a/scripts/es-db-compare/README.md b/scripts/es-db-compare/README.md
new file mode 100644
index 00000000..bfa9c8c0
--- /dev/null
+++ b/scripts/es-db-compare/README.md
@@ -0,0 +1,57 @@
+# Script to find mismatches between data in DB and ES
+
+We keep all the data in two places in DB (Database) and in ES (Elasticsearch Index). Every time we make any changes to the data in the DB all the changes are also reflected in ElasticSearch. Due to some circumstances data in ES and DB can become inconsistent.
+
+This script may be run to find all the inconsistencies between data we have in ES and DB and create a report.
+
+## Configuration
+
+The following properties can be set from env variables:
+
+- `PROJECT_START_ID`: if set, only projects with id that large than or equal to the value are compared.
+- `PROJECT_END_ID`: if set, only projects with id that less than or equal to the value are compared.
+- `PROJECT_LAST_ACTIVITY_AT`: if set, only projects with property lastActivityAt that large than or equal to the value are compared.
+- `REPORT_S3_BUCKET`: If set, report would be uploaded to this S3 bucket, otherwise report will be saved to disk.
+- `AWS_ACCESS_KEY_ID`: AWS credentials, required to upload report to S3 bucket.
+- `AWS_SECRET_ACCESS_KEY`: AWS credentials, required to upload report to S3 bucket.
+
+There could be some fields that always mismatch in ES and DB.
+The variable named `ignoredPaths` at `scripts/es-db-compare/constants.js` maintains a list of json paths which will be ignored
+during the comparation. You may need to modify/add/delete items in the list.
+
+### Required
+
+- `PROJECT_START_ID` and `PROJECT_END_ID` must exist together.
+- At least one of `PROJECT_START_ID` with `PROJECT_END_ID` or `PROJECT_LAST_ACTIVITY_AT` needs be set before running the script.
+- If you want to upload report to AWS S3 you need to set `REPORT_S3_BUCKET`, `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY` environment variables.
+
+## Usage
+
+Set up configuration and execute command `npm run es-db-compare` on the command line.
+It will then generate a HTML report with name `report.html` under the current directory.
+
+Example commands:
+
+- Generate a report comparing ALL the projects:
+
+ ```bash
+ PROJECT_LAST_ACTIVITY_AT=0 npm run es-db-compare
+ ```
+
+- Generate a report comparing projects that have been updated on **26 December 2019** or later:
+
+ ```bash
+ PROJECT_LAST_ACTIVITY_AT="2019-12-26" npm run es-db-compare
+ ```
+
+- Generate a report comparing projects with ID range:
+
+ ```bash
+ PROJECT_START_ID=5000 PROJECT_END_ID=6000 npm run es-db-compare
+ ```
+
+- Any of the command above can be run with additionally set `REPORT_S3_BUCKET`, `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY` environment variables to upload report to S3 bucket like:
+
+ ```bash
+ REPORT_S3_BUCKET= AWS_ACCESS_KEY_ID= AWS_SECRET_ACCESS_KEY=PROJECT_LAST_ACTIVITY_AT="2019-12-26" npm run es-db-compare
+ ```
\ No newline at end of file
diff --git a/scripts/es-db-compare/compareMetadata.js b/scripts/es-db-compare/compareMetadata.js
new file mode 100644
index 00000000..3a828efa
--- /dev/null
+++ b/scripts/es-db-compare/compareMetadata.js
@@ -0,0 +1,152 @@
+/* eslint-disable no-console */
+/* eslint-disable consistent-return */
+/* eslint-disable no-restricted-syntax */
+/* eslint-disable no-param-reassign */
+/*
+ * Compare metadata between ES and DB.
+ */
+const lodash = require('lodash');
+
+const scriptUtil = require('./util');
+const scriptConstants = require('./constants');
+
+const hashKeyMapping = {
+ ProjectTemplate: 'id',
+ ProductTemplate: 'id',
+ ProjectType: 'key',
+ ProductCategory: 'key',
+ MilestoneTemplate: 'id',
+ OrgConfig: 'id',
+ Form: 'id',
+ PlanConfig: 'id',
+ PriceConfig: 'id',
+ BuildingBlock: 'id',
+};
+
+/**
+ * Process a single delta.
+ *
+ * @param {String} modelName the model name the delta belongs to
+ * @param {Object} delta the diff delta.
+ * @param {Object} dbData the data from DB
+ * @param {Object} esData the data from ES
+ * @param {Object} finalData the data patched
+ * @returns {undefined}
+ */
+function processDelta(modelName, delta, dbData, esData, finalData) {
+ const hashKey = hashKeyMapping[modelName];
+ if (delta.dataType === 'array' && delta.path.length === 1) {
+ if (delta.type === 'delete') {
+ console.log(`one dbOnly found for ${modelName} with ${hashKey} ${delta.originalValue[hashKey]}`);
+ return {
+ type: 'dbOnly',
+ modelName,
+ hashKey,
+ hashValue: delta.originalValue[hashKey],
+ dbCopy: delta.originalValue,
+ };
+ }
+ if (delta.type === 'add') {
+ console.log(`one esOnly found for ${modelName} with ${hashKey} ${delta.value[hashKey]}`);
+ return {
+ type: 'esOnly',
+ modelName,
+ hashKey,
+ hashValue: delta.value[hashKey],
+ esCopy: delta.value,
+ };
+ }
+ }
+ if (['add', 'delete', 'modify'].includes(delta.type)) {
+ const path = scriptUtil.generateJSONPath(lodash.slice(delta.path, 1));
+ const hashValue = lodash.get(finalData, lodash.slice(delta.path, 0, 1))[hashKey];
+ const hashObject = lodash.set({}, hashKey, hashValue);
+ const dbCopy = lodash.find(dbData, hashObject);
+ const esCopy = lodash.find(esData, hashObject);
+ console.log(`one mismatch found for ${modelName} with ${hashKey} ${hashValue}`);
+ return {
+ type: 'mismatch',
+ kind: delta.type,
+ modelName,
+ hashKey,
+ hashValue,
+ path,
+ dbCopy,
+ esCopy,
+ };
+ }
+}
+
+
+/**
+ * Compare Metadata data from ES and DB.
+ *
+ * @param {Object} dbData the data from DB
+ * @param {Object} esData the data from ES
+ * @returns {Object} the data to feed handlebars template
+ */
+function compareMetadata(dbData, esData) {
+ const data = {
+ nestedModels: {},
+ };
+
+ const countInconsistencies = () => {
+ lodash.set(data, 'meta.totalObjects', 0);
+ lodash.map(data.nestedModels, (model) => {
+ const counts = Object.keys(model.mismatches).length + model.dbOnly.length + model.esOnly.length;
+ lodash.set(model, 'meta.counts', counts);
+ data.meta.totalObjects += counts;
+ });
+ };
+
+ const storeDelta = (modelName, delta) => {
+ if (lodash.isUndefined(data.nestedModels[modelName])) {
+ data.nestedModels[modelName] = {
+ mismatches: {},
+ dbOnly: [],
+ esOnly: [],
+ };
+ }
+ if (delta.type === 'mismatch') {
+ if (lodash.isUndefined(data.nestedModels[modelName].mismatches[delta.hashValue])) {
+ data.nestedModels[modelName].mismatches[delta.hashValue] = [];
+ }
+ data.nestedModels[modelName].mismatches[delta.hashValue].push(delta);
+ return;
+ }
+ if (delta.type === 'dbOnly') {
+ data.nestedModels[modelName].dbOnly.push(delta);
+ return;
+ }
+ if (delta.type === 'esOnly') {
+ data.nestedModels[modelName].esOnly.push(delta);
+ }
+ };
+
+ for (const refPath of Object.keys(scriptConstants.associations.metadata)) {
+ const modelName = scriptConstants.associations.metadata[refPath];
+ const { deltas, finalData } = scriptUtil.diffData(
+ dbData[refPath],
+ esData[refPath],
+ {
+ hashKey: hashKeyMapping[modelName],
+ modelPathExprssions: lodash.set({}, modelName, '[*]'),
+ },
+ );
+ for (const delta of deltas) {
+ if (scriptUtil.isIgnoredPath(`metadata.${refPath}`, delta.path)) {
+ continue; // eslint-disable-line no-continue
+ }
+ const deltaWithCopy = processDelta(modelName, delta, dbData[refPath], esData[refPath], finalData);
+ if (deltaWithCopy) {
+ storeDelta(modelName, deltaWithCopy);
+ }
+ }
+ }
+ countInconsistencies();
+ return data;
+}
+
+module.exports = {
+ compareMetadata,
+};
diff --git a/scripts/es-db-compare/compareProjects.js b/scripts/es-db-compare/compareProjects.js
new file mode 100644
index 00000000..09b0321b
--- /dev/null
+++ b/scripts/es-db-compare/compareProjects.js
@@ -0,0 +1,390 @@
+/* eslint-disable no-console */
+/* eslint-disable consistent-return */
+/* eslint-disable no-restricted-syntax */
+/*
+ * Compare the data from database and data from ES.
+ * Specific to project-related data.
+ *
+ * Please consider decouple some reusable logics from this module before create
+ * modules to compare other models.
+ */
+
+const lodash = require('lodash');
+const scriptUtil = require('./util');
+const scriptConstants = require('./constants');
+
+/**
+ * Process diff delta to extract project-related data.
+ *
+ * @param {Object} delta the diff delta.
+ * @param {Object} dbData the data from DB
+ * @param {Object} esData the data from ES
+ * @param {Object} finalData the data patched
+ * @returns {Object} Object project diff delta in a specific data structure
+ */
+function processDelta(delta, dbData, esData, finalData) {
+ const processMissingObject = (item, option) => {
+ if (item.type === 'delete') {
+ const projectId = lodash.get(finalData, lodash.slice(item.path, 0, 1)).id;
+ console.log(`one dbOnly found for ${option.modelName} with id ${item.originalValue.id}`);
+ return {
+ type: 'dbOnly',
+ projectId,
+ modelName: option.modelName,
+ id: item.originalValue.id,
+ dbCopy: item.originalValue,
+ };
+ }
+ if (item.type === 'add') {
+ const projectId = lodash.get(finalData, lodash.slice(item.path, 0, 1)).id;
+ console.log(`one esOnly found for ${option.modelName} with id ${item.value.id}`);
+ return {
+ type: 'esOnly',
+ projectId,
+ modelName: option.modelName,
+ id: item.value.id,
+ esCopy: item.value,
+ };
+ }
+ };
+
+ const processMilestone = (item) => {
+ const subPath = lodash.slice(item.path, 7);
+ if (item.dataType === 'array' && subPath.length === 1) {
+ return processMissingObject(item, { modelName: 'Milestone' });
+ }
+ if (['add', 'delete', 'modify'].includes(item.type)) {
+ const path = scriptUtil.generateJSONPath(lodash.slice(subPath, 1));
+ const id = lodash.get(finalData, lodash.slice(item.path, 0, 8)).id;
+ const projectId = lodash.get(finalData, lodash.slice(item.path, 0, 1)).id;
+ const phaseId = lodash.get(finalData, lodash.slice(item.path, 0, 3)).id;
+ const productId = lodash.get(finalData, lodash.slice(item.path, 0, 5)).id;
+ const dbCopy = lodash.find(
+ lodash.find(
+ lodash.find(
+ lodash.find(dbData, { id: projectId }).phases,
+ { id: phaseId },
+ ).products,
+ { id: productId },
+ ).timeline.milestones,
+ { id },
+ );
+ const esCopy = lodash.find(
+ lodash.find(
+ lodash.find(
+ lodash.find(esData, { id: projectId }).phases,
+ { id: phaseId },
+ ).products,
+ { id: productId },
+ ).timeline.milestones,
+ { id },
+ );
+ console.log(`one mismatch found for Milestone with id ${id}`);
+ return {
+ type: 'mismatch',
+ kind: item.type,
+ dataType: item.dataType,
+ projectId,
+ id,
+ modelName: 'Milestone',
+ path,
+ dbCopy,
+ esCopy,
+ };
+ }
+ };
+
+ const processTimeline = (item) => {
+ if (item.path.length === 6 && item.type === 'modify') {
+ if (lodash.isNil(item.originalValue)) {
+ console.log(`one esOnly found for Timeline with id ${item.currentValue.id}`);
+ return {
+ type: 'esOnly',
+ projectId: lodash.get(finalData, lodash.slice(item.path, 0, 1)).id,
+ modelName: 'Timeline',
+ id: item.currentValue.id,
+ esCopy: item.currentValue,
+ };
+ }
+ if (lodash.isNil(item.currentValue)) {
+ console.log(`one dbOnly found for Timeline with id ${item.originalValue.id}`);
+ return {
+ type: 'dbOnly',
+ projectId: lodash.get(finalData, lodash.slice(item.path, 0, 1)).id,
+ modelName: 'Timeline',
+ id: item.originalValue.id,
+ dbCopy: item.originalValue,
+ };
+ }
+ throw new Error('Internal Error');
+ }
+ const subPath = lodash.slice(item.path, 4);
+ if (['add', 'delete', 'modify'].includes(item.type)) {
+ const path = scriptUtil.generateJSONPath(lodash.slice(subPath, 2));
+ const id = lodash.get(finalData, lodash.slice(item.path, 0, 5)).timeline.id;
+ const projectId = lodash.get(finalData, lodash.slice(item.path, 0, 1)).id;
+ const phaseId = lodash.get(finalData, lodash.slice(item.path, 0, 3)).id;
+ const productId = lodash.get(finalData, lodash.slice(item.path, 0, 5)).id;
+ const dbCopy = lodash.find(
+ lodash.find(
+ lodash.find(dbData, { id: projectId }).phases,
+ { id: phaseId },
+ ).products,
+ { id: productId },
+ ).timeline;
+ const esCopy = lodash.find(
+ lodash.find(
+ lodash.find(esData, { id: projectId }).phases,
+ { id: phaseId },
+ ).products,
+ { id: productId },
+ ).timeline;
+ console.log(`one mismatch found for Timeline with id ${id}`);
+ return {
+ type: 'mismatch',
+ kind: item.type,
+ dataType: item.dataType,
+ projectId,
+ id,
+ modelName: 'Timeline',
+ path,
+ dbCopy,
+ esCopy,
+ };
+ }
+ };
+
+ const processProduct = (item) => {
+ const subPath = lodash.slice(item.path, 4);
+ if (item.dataType === 'array' && subPath.length === 1) {
+ return processMissingObject(item, { modelName: 'Product' });
+ }
+ if (['add', 'delete', 'modify'].includes(item.type)) {
+ const path = scriptUtil.generateJSONPath(lodash.slice(subPath, 1));
+ const id = lodash.get(finalData, lodash.slice(item.path, 0, 5)).id;
+ const projectId = lodash.get(finalData, lodash.slice(item.path, 0, 1)).id;
+ const phaseId = lodash.get(finalData, lodash.slice(item.path, 0, 3)).id;
+ const dbCopy = lodash.find(
+ lodash.find(
+ lodash.find(dbData, { id: projectId }).phases,
+ { id: phaseId },
+ ).products,
+ { id },
+ );
+ const esCopy = lodash.find(
+ lodash.find(
+ lodash.find(esData, { id: projectId }).phases,
+ { id: phaseId },
+ ).products,
+ { id },
+ );
+ console.log(`one mismatch found for Product with id ${id}`);
+ return {
+ type: 'mismatch',
+ kind: item.type,
+ dataType: item.dataType,
+ projectId,
+ id,
+ modelName: 'Product',
+ path,
+ dbCopy,
+ esCopy,
+ };
+ }
+ };
+
+ const processAssociation = (item, option) => {
+ if (item.path[1] === 'phases' && item.path[3] === 'products') {
+ if (item.path[5] === 'timeline') {
+ if (item.path[6] === 'milestones') {
+ return processMilestone(item);
+ }
+ return processTimeline(item);
+ }
+ return processProduct(item);
+ }
+ const subPath = lodash.slice(item.path, 2);
+ if (item.dataType === 'array' && subPath.length === 1) {
+ return processMissingObject(item, option);
+ }
+ if (['add', 'delete', 'modify'].includes(item.type)) {
+ const path = scriptUtil.generateJSONPath(lodash.slice(subPath, 1));
+ const id = lodash.get(finalData, lodash.slice(item.path, 0, 3)).id;
+ const projectId = lodash.get(finalData, lodash.slice(item.path, 0, 1)).id;
+ const dbCopy = lodash.find(
+ lodash.find(dbData, { id: projectId })[option.refPath],
+ { id },
+ );
+ const esCopy = lodash.find(
+ lodash.find(esData, { id: projectId })[option.refPath],
+ { id },
+ );
+ console.log(`one mismatch found for ${option.modelName} with id ${id}`);
+ return {
+ type: 'mismatch',
+ kind: item.type,
+ dataType: item.dataType,
+ projectId,
+ modelName: option.modelName,
+ id,
+ path,
+ dbCopy,
+ esCopy,
+ };
+ }
+ };
+
+ if (delta.path.length > 2 && scriptConstants.associations.projects[delta.path[1]]) {
+ return processAssociation(delta, {
+ modelName: scriptConstants.associations.projects[delta.path[1]], refPath: delta.path[1],
+ });
+ }
+ if (delta.dataType === 'array' && delta.path.length === 1) {
+ if (delta.type === 'delete') {
+ console.log(`one dbOnly found for Project with id ${delta.originalValue.id}`);
+ return {
+ type: 'dbOnly',
+ modelName: 'Project',
+ id: delta.originalValue.id,
+ dbCopy: delta.originalValue,
+ };
+ }
+ if (delta.type === 'add') {
+ console.log(`one esOnly found for Project with id ${delta.value.id}`);
+ return {
+ type: 'esOnly',
+ modelName: 'Project',
+ id: delta.value.id,
+ esCopy: delta.value,
+ };
+ }
+ }
+ if (['add', 'delete', 'modify'].includes(delta.type)) {
+ const path = scriptUtil.generateJSONPath(lodash.slice(delta.path, 1));
+ const id = lodash.get(finalData, lodash.slice(delta.path, 0, 1)).id;
+ const dbCopy = lodash.find(dbData, { id });
+ const esCopy = lodash.find(esData, { id });
+ console.log(`one mismatch found for Project with id ${id}`);
+ return {
+ type: 'mismatch',
+ kind: delta.type,
+ dataType: delta.dataType,
+ projectId: id,
+ modelName: 'Project',
+ id,
+ path,
+ dbCopy,
+ esCopy,
+ };
+ }
+}
+
+/**
+ * Compare Project data from ES and DB.
+ *
+ * @param {Object} dbData the data from DB
+ * @param {Object} esData the data from ES
+ * @returns {Object} the data to feed handlebars template
+ */
+function compareProjects(dbData, esData) {
+ const data = {
+ rootMismatch: {},
+ esOnly: [],
+ dbOnly: [],
+ };
+
+ const storeDelta = (delta) => {
+ if (delta.modelName === 'Project') {
+ if (delta.type === 'esOnly') {
+ data.esOnly.push(delta);
+ return;
+ }
+ if (delta.type === 'dbOnly') {
+ data.dbOnly.push(delta);
+ return;
+ }
+ }
+ if (!data.rootMismatch[delta.projectId]) {
+ data.rootMismatch[delta.projectId] = { project: [], associations: {} };
+ }
+ if (delta.modelName === 'Project') {
+ data.rootMismatch[delta.projectId].project.push(delta);
+ return;
+ }
+ const currentAssociations = data.rootMismatch[delta.projectId].associations;
+ if (!Object.keys(currentAssociations).includes(delta.modelName)) {
+ currentAssociations[delta.modelName] = {
+ mismatches: {},
+ esOnly: [],
+ dbOnly: [],
+ };
+ }
+ if (delta.type === 'mismatch') {
+ const mismatches = currentAssociations[delta.modelName].mismatches;
+ if (!mismatches[delta.id]) {
+ mismatches[delta.id] = [];
+ }
+ mismatches[delta.id].push(delta);
+ return;
+ }
+ currentAssociations[delta.modelName][delta.type].push(delta);
+ };
+
+ const countInconsistencies = () => {
+ lodash.set(
+ data,
+ 'meta.totalObjects',
+ data.dbOnly.length + data.esOnly.length,
+ );
+ lodash.set(
+ data,
+ 'meta.totalProjects',
+ Object.keys(data.rootMismatch).length + data.dbOnly.length + data.esOnly.length,
+ );
+ lodash.map(data.rootMismatch, (value) => {
+ const currentValue = value;
+ lodash.set(currentValue, 'meta.counts', currentValue.project.length ? 1 : 0);
+ lodash.map(currentValue.associations, (subObject) => {
+ lodash.set(
+ subObject,
+ 'meta.counts',
+ Object.keys(subObject.mismatches).length + subObject.dbOnly.length + subObject.esOnly.length,
+ );
+ currentValue.meta.counts += subObject.meta.counts;
+ });
+ data.meta.totalObjects += currentValue.meta.counts;
+ });
+ };
+
+ const { deltas, finalData } = scriptUtil.diffData(
+ dbData,
+ esData,
+ {
+ hashKey: 'id',
+ modelPathExprssions: {
+ Project: '[*]',
+ Phase: '[*].phases[*]',
+ Product: '[*].phases[*].products[*]',
+ Milestone: '[*].phases[*].products[*].timeline.milestones[*]',
+ Invite: '[*].invites[*]',
+ Member: '[*].members[*]',
+ Attachment: '[*].attachments[*]',
+ },
+ },
+ );
+ for (const item of deltas) {
+ if (scriptUtil.isIgnoredPath('project', item.path)) {
+ continue; // eslint-disable-line no-continue
+ }
+ const delta = processDelta(item, dbData, esData, finalData);
+ if (delta) {
+ storeDelta(delta);
+ }
+ }
+ countInconsistencies();
+ return data;
+}
+
+module.exports = {
+ compareProjects,
+};
diff --git a/scripts/es-db-compare/constants.js b/scripts/es-db-compare/constants.js
new file mode 100644
index 00000000..306f65e6
--- /dev/null
+++ b/scripts/es-db-compare/constants.js
@@ -0,0 +1,97 @@
+/*
+ * Constants used in the script
+ */
+
+module.exports = {
+ // currently support only a subset of jsonpath notations
+ // "*" means any index number
+ ignoredPaths: [
+ // all project updatedAt (good to set for local verification)
+ // 'project.updatedAt',
+ // 'project.phases[*].updatedAt',
+ // 'project.phases[*].products[*].updatedAt',
+ // 'project.phases[*].products[*].timeline.updatedAt',
+ // 'project.phases[*].products[*].timeline.milestones[*].updatedAt',
+ // 'project.invites[*].updatedAt',
+ // 'project.members[*].updatedAt',
+ // 'project.attachments[*].updatedAt',
+
+ // all project deletedAt
+ 'project.deletedAt',
+ 'project.phases[*].deletedAt',
+ 'project.phases[*].products[*].deletedAt',
+ 'project.phases[*].products[*].timeline.deletedAt',
+ 'project.phases[*].products[*].timeline.milestones[*].deletedAt',
+ 'project.invites[*].deletedAt',
+ 'project.members[*].deletedAt',
+ 'project.attachments[*].deletedAt',
+
+ // all project deletedBy
+ 'project.deletedBy',
+ 'project.phases[*].deletedBy',
+ 'project.phases[*].products[*].deletedBy',
+ 'project.phases[*].products[*].timeline.deletedBy',
+ 'project.phases[*].products[*].timeline.milestones[*].deletedBy',
+ 'project.invites[*].deletedBy',
+ 'project.members[*].deletedBy',
+ 'project.attachments[*].deletedBy',
+
+ // all metadata updatedAt (good to set for local verification)
+ // 'metadata.projectTemplates.updatedAt',
+ // 'metadata.productTemplates.updatedAt',
+ // 'metadata.projectTypes.updatedAt',
+ // 'metadata.productCategories.updatedAt',
+ // 'metadata.milestoneTemplates.updatedAt',
+ // 'metadata.orgConfigs.updatedAt',
+ // 'metadata.forms.updatedAt',
+ // 'metadata.planConfigs.updatedAt',
+ // 'metadata.priceConfigs.updatedAt',
+ // 'metadata.buildingBlocks.updatedAt',
+
+ // all metadata deletedAt
+ 'metadata.projectTemplates.deletedAt',
+ 'metadata.productTemplates.deletedAt',
+ 'metadata.projectTypes.deletedAt',
+ 'metadata.productCategories.deletedAt',
+ 'metadata.milestoneTemplates.deletedAt',
+ 'metadata.orgConfigs.deletedAt',
+ 'metadata.forms.deletedAt',
+ 'metadata.planConfigs.deletedAt',
+ 'metadata.priceConfigs.deletedAt',
+ 'metadata.buildingBlocks.deletedAt',
+
+ // all metadata deletedBy
+ 'metadata.projectTemplates.deletedBy',
+ 'metadata.productTemplates.deletedBy',
+ 'metadata.projectTypes.deletedBy',
+ 'metadata.productCategories.deletedBy',
+ 'metadata.milestoneTemplates.deletedBy',
+ 'metadata.orgConfigs.deletedBy',
+ 'metadata.forms.deletedBy',
+ 'metadata.planConfigs.deletedBy',
+ 'metadata.priceConfigs.deletedBy',
+ 'metadata.buildingBlocks.deletedBy',
+ ],
+ associations: {
+ metadata: {
+ projectTemplates: 'ProjectTemplate',
+ productTemplates: 'ProductTemplate',
+ projectTypes: 'ProjectType',
+ productCategories: 'ProductCategory',
+ milestoneTemplates: 'MilestoneTemplate',
+ orgConfigs: 'OrgConfig',
+ forms: 'Form',
+ planConfigs: 'PlanConfig',
+ priceConfigs: 'PriceConfig',
+ buildingBlocks: 'BuildingBlock',
+ },
+
+ projects: {
+ phases: 'Phase',
+ members: 'Member',
+ invites: 'Invite',
+ attachments: 'Attachment',
+ timelines: 'Timeline',
+ },
+ },
+};
diff --git a/scripts/es-db-compare/index.js b/scripts/es-db-compare/index.js
new file mode 100644
index 00000000..8d4a56f4
--- /dev/null
+++ b/scripts/es-db-compare/index.js
@@ -0,0 +1,344 @@
+/* eslint-disable no-console */
+/* eslint-disable no-param-reassign */
+/*
+ * Compare data between DB and ES and generate a report to be uploaded
+ * to AWS S3.
+ */
+
+import Joi from 'joi';
+import lodash from 'lodash';
+import config from 'config';
+import AWS from 'aws-sdk';
+import moment from 'moment';
+
+import models from '../../src/models';
+import util from '../../src/util';
+import { INVITE_STATUS } from '../../src/constants';
+
+const handlebars = require('handlebars');
+const path = require('path');
+const fs = require('fs');
+const { compareMetadata } = require('./compareMetadata');
+const { compareProjects } = require('./compareProjects');
+const scriptConstants = require('./constants');
+
+const scriptConfig = {
+ PROJECT_START_ID: process.env.PROJECT_START_ID,
+ PROJECT_END_ID: process.env.PROJECT_END_ID,
+ PROJECT_LAST_ACTIVITY_AT: process.env.PROJECT_LAST_ACTIVITY_AT,
+ REPORT_S3_BUCKET: process.env.REPORT_S3_BUCKET,
+};
+
+const reportPathname = './report.html';
+
+const configSchema = Joi.object().keys({
+ PROJECT_START_ID: Joi.number().integer().positive().optional(),
+ PROJECT_END_ID: Joi.number().integer().positive().optional(),
+ PROJECT_LAST_ACTIVITY_AT: Joi.date().optional(),
+ REPORT_S3_BUCKET: Joi.string().optional(),
+})
+ .with('PROJECT_START_ID', 'PROJECT_END_ID')
+ .or('PROJECT_START_ID', 'PROJECT_LAST_ACTIVITY_AT');
+
+try {
+ Joi.attempt(scriptConfig, configSchema);
+} catch (err) {
+ console.error(err.message);
+ process.exit();
+}
+
+const es = util.getElasticSearchClient();
+
+const ES_PROJECT_INDEX = config.get('elasticsearchConfig.indexName');
+const ES_PROJECT_TYPE = config.get('elasticsearchConfig.docType');
+const ES_METADATA_INDEX = config.get('elasticsearchConfig.metadataIndexName');
+const ES_METADATA_TYPE = config.get('elasticsearchConfig.metadataDocType');
+const ES_TIMELINE_INDEX = config.get('elasticsearchConfig.timelineIndexName');
+const ES_TIMELINE_TYPE = config.get('elasticsearchConfig.timelineDocType');
+
+/**
+ * Get es search criteria.
+ *
+ * @returns {Object} the search criteria
+ */
+function getESSearchCriteriaForProject() {
+ const filters = [];
+ if (!lodash.isNil(scriptConfig.PROJECT_START_ID)) {
+ filters.push({
+ filtered: {
+ filter: {
+ range: {
+ id: {
+ gte: scriptConfig.PROJECT_START_ID,
+ lte: scriptConfig.PROJECT_END_ID,
+ },
+ },
+ },
+ },
+ });
+ }
+ if (!lodash.isNil(scriptConfig.PROJECT_LAST_ACTIVITY_AT)) {
+ filters.push({
+ filtered: {
+ filter: {
+ range: {
+ lastActivityAt: {
+ gte: scriptConfig.PROJECT_LAST_ACTIVITY_AT,
+ },
+ },
+ },
+ },
+ });
+ }
+ const searchCriteria = {
+ index: ES_PROJECT_INDEX,
+ type: ES_PROJECT_TYPE,
+ body: {
+ query: {
+ bool: {
+ must: filters,
+ },
+ },
+ },
+ };
+ return searchCriteria;
+}
+
+/**
+ * Get handlebars template.
+ *
+ * @returns {Object} the template
+ */
+function getTemplate() {
+ handlebars.registerHelper('getValue', (data, key) => data[key]);
+ handlebars.registerHelper('toJSON', obj => JSON.stringify(obj, null, 2));
+ handlebars.registerHelper('describeKind', (kind) => {
+ if (kind === 'modify') {
+ return 'values differ';
+ }
+ if (kind === 'add') {
+ return 'missed in DB';
+ }
+ if (kind === 'delete') {
+ return 'missed in ES';
+ }
+ return 'unknown';
+ });
+ const template = handlebars.compile(fs.readFileSync(path.join(__dirname, 'report.handlebars')).toString());
+ return template;
+}
+
+/**
+ * Get product timelines from ES.
+ *
+ * @returns {Promise} the ES data
+ */
+async function getProductTimelinesFromES() {
+ const searchCriteria = {
+ index: ES_TIMELINE_INDEX,
+ type: ES_TIMELINE_TYPE,
+ body: {
+ query: {
+ match_phrase: {
+ reference: 'product',
+ },
+ },
+ },
+ };
+ return es.search(searchCriteria)
+ .then((docs) => {
+ const rows = lodash.map(docs.hits.hits, single => single._source); // eslint-disable-line no-underscore-dangle
+ return rows;
+ });
+}
+
+/**
+ * Get projects from ES.
+ *
+ * @returns {Promise} the ES data
+ */
+async function getProjectsFromES() {
+ const searchCriteria = getESSearchCriteriaForProject();
+ const projects = await es.search(searchCriteria)
+ .then((docs) => {
+ const rows = lodash.map(docs.hits.hits, single => single._source); // eslint-disable-line no-underscore-dangle
+ return rows;
+ });
+ const timelines = await getProductTimelinesFromES();
+ const timelinesGroup = lodash.groupBy(timelines, 'referenceId');
+ lodash.map(projects, (project) => {
+ lodash.map(project.phases, (phase) => {
+ lodash.map(phase.products, (product) => {
+ product.timeline = lodash.get(timelinesGroup, [product.id, '0']) || null;
+ });
+ });
+ });
+ return projects;
+}
+
+/**
+ * Get metadata from ES.
+ *
+ * @returns {Promise} the ES data
+ */
+async function getMetadataFromES() {
+ const searchCriteria = {
+ index: ES_METADATA_INDEX,
+ type: ES_METADATA_TYPE,
+ };
+ return es.search(searchCriteria)
+ .then((docs) => {
+ const rows = lodash.map(docs.hits.hits, single => single._source); // eslint-disable-line no-underscore-dangle
+ if (!rows.length) {
+ return lodash.reduce(
+ Object.keys(scriptConstants.associations.metadata),
+ (result, modleName) => { result[modleName] = []; },
+ {},
+ );
+ }
+ return rows[0];
+ });
+}
+
+/**
+ * Get projects from DB.
+ *
+ * @returns {Promise} the DB data
+ */
+async function getProjectsFromDB() {
+ const filter = {};
+ if (!lodash.isNil(scriptConfig.PROJECT_START_ID)) {
+ filter.id = { $between: [scriptConfig.PROJECT_START_ID, scriptConfig.PROJECT_END_ID] };
+ }
+ if (!lodash.isNil(scriptConfig.PROJECT_LAST_ACTIVITY_AT)) {
+ filter.lastActivityAt = { $gte: new Date(scriptConfig.PROJECT_LAST_ACTIVITY_AT).toISOString() };
+ }
+ return models.Project.findAll({
+ where: filter,
+ raw: false,
+ include: [{
+ model: models.ProjectPhase,
+ as: 'phases',
+ include: [{
+ model: models.PhaseProduct,
+ as: 'products',
+ }],
+ }, {
+ model: models.ProjectMemberInvite,
+ as: 'invites',
+ where: { status: { $in: [INVITE_STATUS.PENDING, INVITE_STATUS.REQUESTED] } },
+ required: false,
+ }, {
+ model: models.ProjectAttachment,
+ as: 'attachments',
+ }],
+ }).then((_projects) => {
+ const projects = _projects.map((_project) => {
+ if (!_project) {
+ return Promise.resolve(null);
+ }
+ const project = _project.toJSON();
+ return models.ProjectMember.getActiveProjectMembers(project.id)
+ .then((currentProjectMembers) => {
+ project.members = currentProjectMembers;
+ }).then(() => {
+ const promises = [];
+ lodash.map(project.phases, (phase) => {
+ lodash.map(phase.products, (product) => {
+ promises.push(
+ models.Timeline.findOne({
+ where: {
+ reference: 'product',
+ referenceId: product.id,
+ },
+ include: [{
+ model: models.Milestone,
+ as: 'milestones',
+ }],
+ }).then((timeline) => {
+ product.timeline = timeline || null;
+ }),
+ );
+ });
+ });
+ return Promise.all(promises)
+ .then(() => project);
+ });
+ });
+ return Promise.all(projects);
+ }).then(projects => JSON.parse(JSON.stringify(projects)));
+}
+
+/**
+ * Get metadata from DB.
+ *
+ * @returns {Promise} the DB data
+ */
+async function getMetadataFromDB() {
+ const metadataAssociations = scriptConstants.associations.metadata;
+ const results = await Promise.all(lodash.map(
+ Object.values(metadataAssociations),
+ modelName => models[modelName].findAll(),
+ ));
+ return lodash.zipObject(Object.keys(metadataAssociations), JSON.parse(JSON.stringify(results)));
+}
+
+/**
+ * Main function.
+ *
+ * @returns {Promise} void
+ */
+async function main() {
+ console.log('Processing Project...');
+ const projectsFromDB = await getProjectsFromDB();
+ const projectsFromES = await getProjectsFromES();
+ const dataForProject = compareProjects(projectsFromDB, projectsFromES);
+ console.log('Processing Metadata...');
+ const metadataFromDB = await getMetadataFromDB();
+ const metadataFromES = await getMetadataFromES();
+ const dataForMetadata = compareMetadata(metadataFromDB, metadataFromES);
+ const template = getTemplate();
+ const report = template({
+ metadata: dataForMetadata,
+ project: dataForProject,
+ });
+
+ if (scriptConfig.REPORT_S3_BUCKET) {
+ console.log('Uploading report to S3...');
+ // Make sure set AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY in Environment Variables
+ const s3 = new AWS.S3();
+
+ const fileName =
+ `es-db-report-${process.env.NODE_ENV}-${moment().format('YYYY-MM-DD-HH-MM-SS')}.html`;
+
+ const params = {
+ Bucket: scriptConfig.REPORT_S3_BUCKET,
+ Key: fileName,
+ Body: report,
+ ContentType: 'text/html',
+ };
+
+ await new Promise((resolve, reject) => {
+ s3.putObject(params, (error) => {
+ if (error) {
+ reject(error);
+ } else {
+ console.log(`Report uploaded successfully on S3. FileName is: ${fileName}`);
+ resolve();
+ }
+ });
+ });
+ } else {
+ console.log('Saving report to disk...');
+ fs.writeFileSync(reportPathname, report);
+ console.log(`Report is written to local file ${reportPathname}`);
+ }
+}
+
+main().then(() => {
+ console.log('done!');
+ process.exit();
+}).catch((err) => {
+ console.log(err.message);
+ process.exit();
+});
diff --git a/scripts/es-db-compare/report.handlebars b/scripts/es-db-compare/report.handlebars
new file mode 100644
index 00000000..2ecd5ae9
--- /dev/null
+++ b/scripts/es-db-compare/report.handlebars
@@ -0,0 +1,120 @@
+
+ Topcoder Project Service - ES/DB Comparison Report
+
+
+
+
+
+
Summary
+There are {{ project.meta.totalObjects }} objects with inconsistencies found in {{ project.meta.totalProjects }} projects
+and {{ metadata.meta.totalObjects }} objects with inconsistencies found in metadata.
+
"
+ },
+ {
+ "icon": "question",
+ "title": "What do you need?",
+ "summaryTitle": "Work needed",
+ "description": "",
+ "fieldName": "details.appDefinition.deliverables",
+ "type": "checkbox-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What work is right for me?",
+ "title": "What work is right for me?",
+ "content": "
Topcoder has design, development, and deployment solutions can be combined in a single project to help you deliver an end-to-end application.
It is important to note that all Topcoder development projects include standard quality assurance testing at no additional cost to help ensure you are getting the highest-quality application possible.
"
+ },
+ "validationError": "Please, choose what do you need.",
+ "validations": "isRequired",
+ "required": true,
+ "options": [
+ {
+ "value": "design",
+ "label": "Design",
+ "summaryLabel": "Design",
+ "description": "We will design your app experience, focusing on the major features and experiences."
+ },
+ {
+ "value": "dev-qa",
+ "label": "Development & QA",
+ "summaryLabel": "Development",
+ "description": "We will develop your app based on existing designs. Building a reliable application for you is our priority. We include standard quality assurance testing at no additional cost when doing any development."
+ },
+ {
+ "value": "deployment",
+ "label": "Deployment",
+ "description": "Our team will ensure that your code is packaged and distributed on all targeted platforms and/or in the Apple/Google app stores."
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "What is the goal of your designs?",
+ "summaryTitle": "Design goal",
+ "description": "",
+ "fieldName": "details.appDefinition.designGoal",
+ "type": "radio-group",
+ "validationError": "Please, choose you design goal.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "HAS_DESIGN_DELIVERABLE",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What should I choose?",
+ "title": "What should I choose?",
+ "content": "
Conceptual exploration
It enables you to explore UI and UX concepts for your application with industry-leading experts. This is the best choice when you are exploring ideas for a new application, but are not ready to begin development immediately. While design concepts empower you to explore different ideas, the design-deliverables are not considered production-ready as they will not contain detailed workflows for your entire application.
Production-ready designs
These are best used when you are ready to begin development on your application immediately after design-completion. These designs will include detailed workflows and options for your application.
"
+ },
+ "options": [
+ {
+ "value": "concept-designs",
+ "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.",
+ "disableCondition": "HAS_DEV_DELIVERABLE"
+ },
+ {
+ "value": "comprehensive-designs",
+ "label": "Production-ready designs",
+ "summaryLabel": "Production-ready designs",
+ "description": "Our designers will create detailed, designed workflows that can be immediately ready for development upon completion.",
+ "autoSelectCondition": "HAS_DEV_DELIVERABLE"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "How quickly do you need your conceptual designs?",
+ "description": "",
+ "summaryTitle": "Quick Turnaround",
+ "fieldName": "details.appDefinition.quickTurnaround",
+ "type": "radio-group",
+ "condition": "CONCEPT_DESIGN",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Topcoder has two backend solutions - RUX (3 Days) and Design Sprint (6 Days) - that provide customers with design concepts. The deliverables that you can expect from these two solutions are consistent, meaning that both will produce high-quality design concepts that will enable you to leverage our expert crowd in generating ideas for your application. The primary difference between these two solutions is the turnaround time. As the RUX solution has an expedited turnaround time of three days, a service charge is included in the price.
"
+ },
+ "validationError": "Please, choose your time expectations.",
+ "validations": "isRequired",
+ "required": true,
+ "options": [
+ {
+ "value": "under-3-days",
+ "label": "I want concept designs in 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."
+ },
+ {
+ "value": "under-6-days",
+ "label": "I want concept designs in 6 days.",
+ "summaryLabel": "6 days",
+ "description": "Topcoder will create agency-quality design variants for your app within 7 days."
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "target-devices-os",
+ "hideTitle": true,
+ "type": "questions",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "Where should your app work?",
+ "summaryTitle": "Devices",
+ "description": "",
+ "fieldName": "details.appDefinition.targetDevices",
+ "type": "checkbox-group",
+ "affectsQuickQuote": true,
+ "theme": "light",
+ "help": {
+ "linkTitle": "What to choose",
+ "title": "What to choose",
+ "content": "
Topcoder has the capability to create applications that are accessible as standalone applications from mobile or tablet devices, as well as applications that are accessible via a web browser from desktops, mobile or tablet devices.
"
+ },
+ "validationError": "Please, select devices",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "( HAS_DESIGN_DELIVERABLE || HAS_DEV_DELIVERABLE )",
+ "options": [
+ {
+ "label": "Mobile",
+ "value": "mobile",
+ "description": "Your app can be installed and launched on mobile devices. This is Topcoder’s most requested option."
+ },
+ {
+ "label": "Tablet",
+ "value": "tablet",
+ "description": "Your app can be used on tablet devices, with an optimized layout for tablets."
+ },
+ {
+ "label": "Web Browser",
+ "value": "web-browser",
+ "description": "Your app would be accessed via web browser on desktop, mobile and tablet devices alike."
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "What type of platform do you need?",
+ "summaryTitle": "Mobile platforms",
+ "description": "",
+ "fieldName": "details.appDefinition.mobilePlatforms",
+ "type": "checkbox-group",
+ "affectsQuickQuote": true,
+ "theme": "light",
+ "help": {
+ "linkTitle": "Which platforms to select?",
+ "title": "Which platforms to select?",
+ "content": "
Topcoder can create mobile applications for iOS, Android, or iOS and Android platforms.
"
+ },
+ "condition": "( details.appDefinition.targetDevices contains 'mobile' ) || ( details.appDefinition.targetDevices contains 'tablet' )",
+ "options": [
+ {
+ "label": "iOS",
+ "value": "ios",
+ "description": "Your app would work on iOS phones. We will develop it using Objective-C and SWIFT"
+ },
+ {
+ "label": "Android",
+ "value": "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": "Does your app need to be Native or Hybrid?",
+ "summaryTitle": "App Type",
+ "description": "",
+ "fieldName": "details.appDefinition.nativeHybrid",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "Which OS to select?",
+ "title": "Which OS to select?",
+ "content": "
Native operating systems are a SDK framework for building iOS and/or Android applications. Native applications typically have better performance if rich features such as video or audio are required.
Hybrid operating systems leverages a hybrid framework, such as Iconic, to build iOS and/or Android applications. Hybrid gives you the benefit of only having to maintain one code base for your application.
"
+ },
+ "validationError": "Please let us know the type of the app?",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "( details.appDefinition.mobilePlatforms contains 'ios' ) || ( details.appDefinition.mobilePlatforms contains 'android' )",
+ "options": [
+ {
+ "label": "Native",
+ "value": "native",
+ "description": ""
+ },
+ {
+ "label": "Hybrid",
+ "value": "hybrid",
+ "description": ""
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "How should your app work when accessed via web browser?",
+ "summaryTitle": "Web App Type",
+ "description": "",
+ "fieldName": "details.appDefinition.progressiveResponsive",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Progressive Web Applications are mobile web apps. They are built using a native framework so that it looks and functions like a native application, with rich features like GPS.
Responsive Web Applications are web apps that can be accessed from mobile, tablet, and/or desktop devices. You can choose custom layouts depending on device type.
Desktop Web Browser Applications come in one layout and are only accessed from desktop devices using common web browsers such as Chrome or Safari.
"
+ },
+ "validationError": "Please let us know the type of web app?",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "( details.appDefinition.targetDevices contains 'web-browser' )",
+ "options": [
+ {
+ "label": "Progressive Web Application for Mobile Web Browsing",
+ "value": "progressive",
+ "description": "Your web application can be accessed from all common mobile web browsers and will be built using a native mobile framework."
+ },
+ {
+ "label": "Responsive Web Application for Desktop, Tablet, and Mobile Web Browsing",
+ "value": "responsive",
+ "description": "Your web application can be accessed from all common desktop, mobile and tablet web browsers and will be optimized for all screen sizes."
+ },
+ {
+ "label": "Desktop Web Application",
+ "value": "desktop",
+ "description": "Your web application can be accessed from desktop devices on all common web browsers."
+ }
+ ]
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ },
+ {
+ "id": "app-size-questions",
+ "hideTitle": true,
+ "type": "questions",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "How many screens do you need?",
+ "summaryTitle": "Screens",
+ "description": "",
+ "fieldName": "details.appDefinition.numberScreens",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What are screens?",
+ "title": "What are screens?",
+ "content": "
Screens represent the number of unique pages within your application, which may include several features on each screen.
If you require more than 15 screens for your application, please indicate this in the Notes section of the form prior to submitting.
"
+ },
+ "validationError": "Please let us know the number of screens required?",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "( HAS_DESIGN_DELIVERABLE || HAS_DEV_DELIVERABLE ) && (!( MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP))",
+ "options": [
+ {
+ "value": "2-4",
+ "label": "2-4 screens",
+ "description": "Suitable for small apps with 2-4 main features",
+ "disabled": false
+ },
+ {
+ "value": "5-8",
+ "label": "5-8 screens",
+ "description": "Suitable for medium apps with 5-8 main features",
+ "disabled": false
+ },
+ {
+ "value": "9-15",
+ "label": "9-15 screens",
+ "description": "Suitable for larger apps with 9-15 main features",
+ "disabled": false,
+ "condition": "!QUICK_DESIGN_3_DAYS"
+ }
+ ]
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ },
+ {
+ "id": "deployment-deliverable-questions",
+ "hideTitle": true,
+ "type": "questions",
+ "condition": "HAS_DEPLOY_DELIVERABLE",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "Where do you need your app deployed?",
+ "summaryTitle": "Deployment Targets",
+ "description": "",
+ "fieldName": "details.appDefinition.deploymentTargets",
+ "type": "checkbox-group",
+ "theme": "light",
+ "validationError": "Please, choose what do you need us to help with.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "HAS_DEPLOY_DELIVERABLE",
+ "options": [
+ {
+ "value": "apple-app-store",
+ "label": "Apple App Store",
+ "condition": "( ONE_DELIVERABLE || (details.appDefinition.mobilePlatforms contains 'ios') )",
+ "description": "Apple App Store Deployment"
+ },
+ {
+ "value": "google-play",
+ "label": "Google Play",
+ "condition": "( ONE_DELIVERABLE || (details.appDefinition.mobilePlatforms contains 'android') )",
+ "description": "Google App Store Deployment"
+ },
+ {
+ "value": "internal-production-environment",
+ "label": "Internal Production Environment",
+ "condition": "( ONE_DELIVERABLE || (details.appDefinition.targetDevices contains 'desktop') || (details.appDefinition.targetDevices contains 'web-browser') )",
+ "description": "Deployment to your internal production environment"
+ }
+ ]
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ },
+ {
+ "id": "tc-services-questions",
+ "hideTitle": true,
+ "type": "questions",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "What kind of support do you want on your project?",
+ "summaryTitle": "Architect",
+ "description": "",
+ "fieldName": "details.appDefinition.caNeeded",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is right for me?",
+ "title": "What is right for me?",
+ "content": "
Topcoder recommends including an Architect on projects where a high degree of technical complexity is anticipated, when multiple deliverables are needed, or when you are a new to Topcoder and need additional help navigating the crowdsourcing process. Architects will provide additional oversight to your project. The inclusion of an Architect on a project will result in a service charge.
"
+ },
+ "validationError": "Please, ley us know if you need a dedicated manager.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "!( MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP)",
+ "options": [
+ {
+ "value": "yes",
+ "label": "Project Manager + Architect",
+ "summaryLabel": "Yes",
+ "description": "Project managers will work with the Community on the execution of your deliverables. An Architect will be assigned to oversee the technical requirements and complexities of your project."
+ },
+ {
+ "value": "no",
+ "label": "Project Manager",
+ "summaryLabel": "No",
+ "description": "You will partner directly with your Project Manager to align on the requirements for your project and they will work with the Community on the execution of your deliverables."
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Notes",
+ "summaryTitle": "Notes",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)",
+ "fieldName": "details.apiDefinition.notes",
+ "type": "textbox"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ },
+ {
+ "id": "customeQuote",
+ "hideTitle": true,
+ "fieldName": "details.appDefinition.message",
+ "title": "Message",
+ "description": "Wow! We love your idea. This is a very complex, technical solution. We will take a look at your project and contact you regarding next steps and a quote.",
+ "type": "message",
+ "condition": "MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP"
+ },
+ {
+ "id": "files",
+ "description": "",
+ "title": "Please upload any document that can help us in moving ahead with the project",
+ "type": "files",
+ "fieldName": "attachments",
+ "hiddenOnCreation": true
+ }
+ ]
+ },
+ {
+ "id": "summary-intermediate",
+ "hiddenOnEdit": true,
+ "hideFormHeader": true,
+ "nextButtonText": "Configure my project",
+ "footer": {
+ "content": ""
+ },
+ "subSections": [
+ {
+ "type": "questions",
+ "hideTitle": true,
+ "condition": "!(MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP)",
+ "questions": [
+ {
+ "type": "static",
+ "content": "
Your Project Estimate
"
+ }
+ ]
+ },
+ {
+ "type": "portal",
+ "hideTitle": true,
+ "condition": "!(MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP)",
+ "content": [
+ {
+ "sectionIndex": 1
+ }
+ ]
+ },
+ {
+ "type": "questions",
+ "hideTitle": true,
+ "condition": "!(MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP)",
+ "questions": [
+ {
+ "type": "estimation",
+ "title": "Your project timeline",
+ "deliverables": [
+ {
+ "id": "design",
+ "title": "Design",
+ "enableCondition": "HAS_DESIGN_DELIVERABLE",
+ "deliverableKey": "design"
+ },
+ {
+ "id": "development",
+ "title": "Development & QA",
+ "enableCondition": "HAS_DEV_DELIVERABLE",
+ "deliverableKey": "dev-qa"
+ },
+ {
+ "id": "deployment",
+ "title": "Deploy",
+ "enableCondition": "HAS_DEPLOY_DELIVERABLE",
+ "deliverableKey": "deployment"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "add-ons",
+ "title": "Configure my app",
+ "subSections": [
+ {
+ "hideTitle": true,
+ "type": "questions",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "Design add-ons",
+ "description": "Select any desired add-ons to your project. Please note that each add-on will incur a cost and has a delivery duration. Your project estimate will be updated to reflect the cost and duration of your base solution and add-ons. Additionally, you will receive a full breakdown on cost in the final project proposal from Topcoder.",
+ "fieldName": "details.appDefinition.addons.design",
+ "type": "add-ons",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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": "HAS_DESIGN_DELIVERABLE && !(MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP)",
+ "category": "design"
+ },
+ {
+ "icon": "question",
+ "title": "Development add-ons",
+ "description": "Select any desired add-ons to your project. Please note that each add-on will incur a cost and has a delivery duration. Your project estimate will be updated to reflect the cost and duration of your base solution and add-ons. Additionally, you will receive a full breakdown on cost in the final project proposal from Topcoder.",
+ "fieldName": "details.appDefinition.addons.development",
+ "type": "add-ons",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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": "HAS_DEV_DELIVERABLE && !(MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP)",
+ "category": "development"
+ },
+ {
+ "icon": "question",
+ "title": "Delivery add-ons",
+ "description": "Select any desired add-ons to your project. Please note that each add-on will incur a cost and has a delivery duration. Your project estimate will be updated to reflect the cost and duration of your base solution and add-ons. Additionally, you will receive a full breakdown on cost in the final project proposal from Topcoder.",
+ "fieldName": "details.appDefinition.addons.delivery",
+ "type": "add-ons",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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.
"
+ },
+ {
+ "icon": "question",
+ "title": "What do you need?",
+ "summaryTitle": "Work needed",
+ "description": "",
+ "fieldName": "details.appDefinition.deliverables",
+ "type": "checkbox-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What work is right for me?",
+ "title": "What work is right for me?",
+ "content": "
Section One Title Goes Here
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",
+ "required": true,
+ "options": [
+ {
+ "value": "design",
+ "label": "Design",
+ "summaryLabel": "Design",
+ "description": "We will design your app experience, focusing on the major features and experiences."
+ },
+ {
+ "value": "dev-qa",
+ "label": "App Development",
+ "summaryLabel": "Development",
+ "description": "We will develop your app based on existing designs. Building a reliable application for you is our priority. We include standard quality assurance testing at no additional cost when doing any development."
+ },
+ {
+ "value": "qa",
+ "label": "QA, Fixes & Enhancements",
+ "summaryLabel": "QA",
+ "autoSelectCondition": "HAS_DEV_QA_DELIVERABLE",
+ "disableCondition": "HAS_DEV_QA_DELIVERABLE",
+ "description": "We will extensively test your source code on multiple environments and eliminate any bugs. This will make sure your app is 100% ready for the prime-time."
+ },
+ {
+ "value": "deployment",
+ "label": "Deployment",
+ "description": "Our team will ensure that your code is packaged and distributed correctly on the all target platforms and/or App Stores."
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "What is the goal of your designs?",
+ "summaryTitle": "Design goal",
+ "description": "",
+ "fieldName": "details.appDefinition.designGoal",
+ "type": "radio-group",
+ "validationError": "Please, choose you design goal.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "HAS_DESIGN_DELIVERABLE",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What should I choose?",
+ "title": "What should I choose?",
+ "content": "
Section One Title Goes Here
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.
"
+ },
+ "options": [
+ {
+ "value": "concept-designs",
+ "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.",
+ "disableCondition": "HAS_DEV_QA_DELIVERABLE"
+ },
+ {
+ "value": "comprehensive-designs",
+ "label": "Comprehensive design for development",
+ "summaryLabel": "Comprehensive design",
+ "description": "Our designers will create all the design deliverables for your app, including app icons, design specifications, and design assets.",
+ "autoSelectCondition": "HAS_DEV_QA_DELIVERABLE"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "No problem! We can get you high-quality concept designs within a week. Do you need designs faster than this?",
+ "description": "",
+ "fieldName": "details.appDefinition.quickTurnaround",
+ "type": "radio-group",
+ "condition": "DESIGN_GOAL_CONCEPT_DESIGN",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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",
+ "required": true,
+ "options": [
+ {
+ "value": "under-3-days",
+ "label": "Yes, I need designs ASAP",
+ "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.",
+ "minTimeUp": 0,
+ "maxTimeUp": 0
+ },
+ {
+ "value": "under-6-days",
+ "label": "A week works for me!",
+ "summaryLabel": "7 days",
+ "description": "Topcoder will create agency-quality design variants for your app within 7 days.",
+ "minTimeUp": 3,
+ "maxTimeUp": 3
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "target-devices-os",
+ "hideTitle": true,
+ "type": "questions",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "Where should your app work?",
+ "summaryTitle": "Devices",
+ "description": "Select maximum 2 types of platforms 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.targetDevices",
+ "type": "checkbox-group",
+ "affectsQuickQuote": true,
+ "theme": "light",
+ "help": {
+ "linkTitle": "What to choose",
+ "title": "What to choose",
+ "content": "
Section One Title Goes Here
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",
+ "required": true,
+ "condition": "( (details.appDefinition.deliverables contains 'design') || (details.appDefinition.deliverables contains 'dev-qa') )",
+ "options": [
+ {
+ "label": "Mobile",
+ "value": "mobile",
+ "description": "Your app would work in all mobile devices. Our most requested option."
+ },
+ {
+ "label": "Tablet",
+ "value": "tablet",
+ "description": "Your app would be optimized for the larger form-factor of a tablet device."
+ },
+ {
+ "label": "Desktop",
+ "value": "desktop",
+ "description": "We will deliver a native desktop app, working under the selected desktop OS."
+ },
+ {
+ "label": "Web Browser",
+ "value": "web-browser",
+ "description": "Your app would be accessed via any web browser on desktop and mobile devices alike."
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "What type of platform do you need?",
+ "summaryTitle": "Mobile platforms",
+ "description": "Select maximum 2 types of platforms 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.mobilePlatforms",
+ "type": "checkbox-group",
+ "affectsQuickQuote": true,
+ "theme": "light",
+ "help": {
+ "linkTitle": "Which platforms to select?",
+ "title": "Which platforms to select?",
+ "content": "
Section One Title Goes Here
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": "TARGET_DEVICE_MOBILE || TARGET_DEVICE_TABLET",
+ "options": [
+ {
+ "label": "iOS",
+ "value": "ios",
+ "description": "Your app would work on iOS phones. We will develop it using Objective-C and SWIFT"
+ },
+ {
+ "label": "Android",
+ "value": "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": "Does your app need to be Native or Hybrid?",
+ "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.nativeHybrid",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "Which OS to select?",
+ "title": "Which OS to select?",
+ "content": "
Section One Title Goes Here
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": "WANNA_MOBILE_APP",
+ "options": [
+ {
+ "label": "Native",
+ "value": "native",
+ "description": "A native mobile app is a smartphone application that is coded in a specific programming language, such as Objective C for iOS or Java for Android operating systems."
+ },
+ {
+ "label": "Hybrid",
+ "value": "hybrid",
+ "description": "A hybrid application (hybrid app) is one that combines elements of both native and Web applications."
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Should your web app be progressive or responsive?",
+ "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.progressiveResponsive",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is responsive?",
+ "title": "What is responsive?",
+ "content": "
Section One Title Goes Here
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.targetDevices contains 'web-browser' )",
+ "options": [
+ {
+ "label": "Progressive",
+ "value": "progressive",
+ "description": "Your app would be optimized for all devices desktops."
+ },
+ {
+ "label": "Responsive",
+ "value": "responsive",
+ "description": "Your app would be optimized for all devices from mobile phones to large desktops."
+ }
+ ]
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ }
+ ]
+ },
+ {
+ "id": "add-ons",
+ "title": "Configure my app",
+ "subSections": [
+ {
+ "hideTitle": true,
+ "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",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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": "HAS_DESIGN_DELIVERABLE",
+ "category": "design"
+ },
+ {
+ "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",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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": "HAS_DEV_QA_DELIVERABLE",
+ "category": "development"
+ },
+ {
+ "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",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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.deliverables contains 'qa')",
+ "category": "qa"
+ },
+ {
+ "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",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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.deliverables contains 'deployment')",
+ "category": "deployment"
+ }
+ ],
+ "wizard": {
+ "enabled": true,
+ "previousStepVisibility": "readOptimized"
+ }
+ }
+ ],
+ "wizard": {
+ "enabled": true
+ }
+ }
+ ],
+ "wizard": {
+ "enabled": true,
+ "previousStepVisibility": "none"
+ },
+ "basePriceEstimate": 21000,
+ "baseTimeEstimateMin": 3,
+ "baseTimeEstimateMax": 6,
+ "preparedConditions": {
+ "HAS_DEV_QA_DELIVERABLE": "(details.appDefinition.deliverables contains 'dev-qa')",
+ "HAS_DESIGN_DELIVERABLE": "(details.appDefinition.deliverables contains 'design')",
+ "DESIGN_GOAL_CONCEPT_DESIGN": "( details.appDefinition.designGoal == 'concept-designs' )",
+ "TARGET_DEVICE_MOBILE": "( details.appDefinition.targetDevices contains 'mobile' )",
+ "TARGET_DEVICE_TABLET": "( details.appDefinition.targetDevices contains 'tablet' )",
+ "WANNA_MOBILE_APP": "( details.appDefinition.mobilePlatforms contains 'ios' ) || ( details.appDefinition.mobilePlatforms contains 'android' )"
+ }
+ },
+ "phases": {
+ "1-dev-iteration-i": {
+ "name": "Dev Iteration",
+ "products": [
+ {
+ "productKey": "development-iteration-5-milestones",
+ "id": 29
+ }
+ ],
+ "duration": 24
+ }
+ },
+ "form": null,
+ "planConfig": null,
+ "priceConfig": null,
+ "disabled": false,
+ "hidden": true,
+ "deletedAt": null,
+ "createdAt": "2019-04-23T07:18:51.000Z",
+ "updatedAt": "2020-01-22T13:22:41.145Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 113,
+ "name": "Mobility Testing",
+ "key": "kubik_mobility_testing",
+ "category": "quality_assurance",
+ "subCategory": null,
+ "metadata": {},
+ "icon": "product-qa-crowd-testing",
+ "question": "What kind of quality assurance (QA) do you need?",
+ "info": "Exploratory Testing, Cross browser-device Testing",
+ "aliases": [
+ "kubik-mobility-testing"
+ ],
+ "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 for your project",
+ "fieldName": "name",
+ "description": "",
+ "title": "Project Name",
+ "type": "project-name"
+ },
+ {
+ "id": "questions",
+ "title": "Business Unit & Cost Center",
+ "type": "questions",
+ "required": true,
+ "questions": [
+ {
+ "fieldName": "details.businessUnit",
+ "title": "BU",
+ "type": "textinput",
+ "description": "Business Unit or Group function (e.g. ZNA, UK, GF&SU, COMMERCIAL INSURANCE,…)",
+ "validationError": "Mandatory field",
+ "validations": "isRequired",
+ "required": true
+ },
+ {
+ "fieldName": "details.costCentre",
+ "title": "Cost Centre",
+ "type": "textinput",
+ "validationError": "Mandatory field",
+ "validations": "isRequired",
+ "required": 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": "Please describe the testing application (background) and objectives of this test cycle. Please describe the users of this application and any other details that will help us understand your project.",
+ "title": "Project Overview",
+ "type": "textbox"
+ }
+ ]
+ },
+ {
+ "id": "application-information",
+ "required": false,
+ "hideTitle": false,
+ "title": "Application Information",
+ "description": "",
+ "type": "questions",
+ "questions": [
+ {
+ "icon": "question",
+ "required": true,
+ "validationError": "Please let us know if this is a live application.",
+ "title": "Is this a live application (online/production)?",
+ "description": "",
+ "fieldName": "details.testingDetails.isLive",
+ "type": "radio-group",
+ "options": [
+ {
+ "value": "yest",
+ "label": "Yes"
+ },
+ {
+ "value": "no",
+ "label": "No"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Do users need to create accounts for testing (vs. you providing test accounts)? ",
+ "description": "",
+ "fieldName": "details.testingDetails.createAccount",
+ "required": true,
+ "type": "radio-group",
+ "options": [
+ {
+ "value": "yes",
+ "label": "Yes"
+ },
+ {
+ "value": "no",
+ "label": "No"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Is domain knowledge required?",
+ "description": "",
+ "fieldName": "details.testingDetails.requiresDomainKnowledge",
+ "required": true,
+ "type": "radio-group",
+ "options": [
+ {
+ "value": "yes",
+ "label": "Yes"
+ },
+ {
+ "value": "no",
+ "label": "No"
+ }
+ ]
+ },
+ {
+ "title": "Domain Knowledge",
+ "fieldName": "details.testingDetails.domainKnowledge",
+ "type": "textbox",
+ "condition": "details.testingDetails.requiresDomainKnowledge == 'yes'"
+ },
+ {
+ "icon": "question",
+ "title": "Is this an end customer facing application?",
+ "description": "",
+ "fieldName": "details.testingDetails.isEndCustomerFacing",
+ "type": "radio-group",
+ "required": true,
+ "options": [
+ {
+ "value": "yes",
+ "label": "Yes"
+ },
+ {
+ "value": "no",
+ "label": "No"
+ }
+ ]
+ },
+ {
+ "title": "Customer facing application details",
+ "fieldName": "details.testingDetails.endCustomerFacingDetails",
+ "type": "textbox",
+ "condition": "details.testingDetails.isEndCustomerFacing == 'yes'"
+ },
+ {
+ "icon": "question",
+ "title": "Should testing target a specific geography?",
+ "description": "",
+ "fieldName": "details.testingDetails.isGeographyTarget",
+ "required": true,
+ "type": "radio-group",
+ "options": [
+ {
+ "value": "yes",
+ "label": "Yes"
+ },
+ {
+ "value": "no",
+ "label": "No"
+ }
+ ]
+ },
+ {
+ "title": "Target geography details",
+ "fieldName": "details.testingDetails.targetGeographyDetails",
+ "type": "textbox",
+ "condition": "details.testingDetails.isGeographyTarget == 'yes'"
+ },
+ {
+ "icon": "question",
+ "title": "Does this testing effort require specific application testing rights?",
+ "description": "",
+ "fieldName": "details.testingDetails.requiresTestingRights",
+ "required": true,
+ "type": "radio-group",
+ "options": [
+ {
+ "value": "yes",
+ "label": "Yes"
+ },
+ {
+ "value": "no",
+ "label": "No"
+ }
+ ]
+ },
+ {
+ "title": "Specific application testing rights",
+ "fieldName": "details.testingDetails.testingRights",
+ "type": "textbox",
+ "condition": "details.testingDetails.requiresTestingRights == 'yes'"
+ },
+ {
+ "title": "What devices would your like mobility testing to be performed on? (Please list up to five device types).",
+ "fieldName": "details.testingDetails.targetDevices",
+ "type": "textbox",
+ "required": true,
+ "validationError": "Please provide target devices for the testing"
+ }
+ ]
+ },
+ {
+ "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"
+ },
+ {
+ "id": "files",
+ "required": false,
+ "title": "Files",
+ "description": "",
+ "type": "files",
+ "fieldName": "attachments",
+ "hiddenOnCreation": true
+ }
+ ]
+ }
+ ]
+ },
+ "phases": {
+ "1-qa-and-bug-fixes": {
+ "name": "QA/Testing",
+ "products": [
+ {
+ "productKey": "qa-iteration",
+ "id": 30
+ }
+ ],
+ "duration": 24
+ }
+ },
+ "form": null,
+ "planConfig": null,
+ "priceConfig": null,
+ "disabled": false,
+ "hidden": true,
+ "deletedAt": null,
+ "createdAt": "2019-04-25T10:53:57.000Z",
+ "updatedAt": "2020-01-22T13:22:41.304Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 25,
+ "name": "Zurich Salesforce Dev",
+ "key": "sfdc_dev",
+ "category": "app_dev",
+ "subCategory": null,
+ "metadata": {},
+ "icon": "product-qa-sfdc-accelerator",
+ "question": "What kind of development do you need?",
+ "info": "SalesForce Project",
+ "aliases": [
+ "kubik_sfdc_dev",
+ "kubik-sfdc-dev"
+ ],
+ "scope": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "Salesforce Dev",
+ "required": true,
+ "description": "",
+ "subSections": [
+ {
+ "id": "projectName",
+ "required": true,
+ "validationError": "Please provide a name to your project",
+ "fieldName": "name",
+ "description": "",
+ "title": "Project Name",
+ "type": "project-name-advanced"
+ },
+ {
+ "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": "Please briefly explain what type of application we’re building, the problem it solves and what it should do.",
+ "title": "Project Type/Overview",
+ "type": "textbox"
+ }
+ ]
+ },
+ {
+ "id": "questions",
+ "required": true,
+ "hideTitle": false,
+ "title": "Salesforce Details",
+ "description": "Select the functionalities which are applicable for your Salesforce.com Implementation ( 1 or multiple from the 10 listed below)",
+ "type": "questions",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "",
+ "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"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "required": false,
+ "hideTitle": false,
+ "title": "Integration Points",
+ "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": [
+ {
+ "id": "integrationPoints",
+ "fieldName": "details.integrationDescription",
+ "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.",
+ "title": "",
+ "type": "textbox"
+ }
+ ]
+ },
+ {
+ "id": "techStackStrategicAssets",
+ "required": false,
+ "hideTitle": false,
+ "title": "Technology Stack (Strategic Assets)",
+ "description": "Do you have a preferred technology stack? If yes, please list those requirements here:",
+ "type": "questions",
+ "questions": [
+ {
+ "fieldName": "details.strategicassets.guidewire",
+ "title": "Guidewire",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.strategicassets.tableau",
+ "title": "Tableau",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.strategicassets.sitecore",
+ "title": "Sitecore",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.strategicassets.innoveoskye",
+ "title": "Innoveo Skye",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.strategicassets.smartcommunications",
+ "title": "SmartCommunications",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.strategicassets.msdynamics",
+ "title": "MS Dynamics",
+ "type": "textbox"
+ }
+ ]
+ },
+ {
+ "id": "techStackGeneral",
+ "required": false,
+ "hideTitle": false,
+ "title": "Technology Stack (General) - Do you have a preferred technology stack? If yes, please list them 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"
+ },
+ {
+ "fieldName": "details.techstack.others",
+ "title": "Others",
+ "type": "textbox"
+ }
+ ]
+ },
+ {
+ "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 solution?",
+ "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"
+ }
+ ]
+ }
+ ]
+ },
+ "phases": {
+ "1-dev-iteration-i": {
+ "name": "Dev Iteration",
+ "products": [
+ {
+ "productKey": "development-iteration-5-milestones",
+ "id": 29
+ }
+ ],
+ "duration": 25
+ }
+ },
+ "form": null,
+ "planConfig": null,
+ "priceConfig": null,
+ "disabled": false,
+ "hidden": true,
+ "deletedAt": null,
+ "createdAt": "2018-11-13T10:06:10.000Z",
+ "updatedAt": "2020-01-22T13:22:41.304Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 26,
+ "name": "Zurich Website",
+ "key": "website-default",
+ "category": "website",
+ "subCategory": null,
+ "metadata": {},
+ "icon": "../../assets/icons/product-cat-website.svg",
+ "question": "What do you need to Develop?",
+ "info": "Design and build the high-impact pages for your blog, online store, or company",
+ "aliases": [
+ "kubik-website",
+ "kubik_website"
+ ],
+ "scope": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "Website Development",
+ "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-advanced"
+ },
+ {
+ "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": "web",
+ "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."
+ },
+ {
+ "value": "other",
+ "label": "Other Software - Any other type of software (i.e backend development, API development, etc.)"
+ }
+ ]
+ },
+ {
+ "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",
+ "description": "Please add your answers below. If you do not know the answer, please add “Open to suggestions from the community/looking for creative solutions",
+ "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"
+ }
+ ]
+ },
+ {
+ "required": false,
+ "hideTitle": false,
+ "title": "User Roles. 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": "Integration Points",
+ "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": "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": "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/FAQs",
+ "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."
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "techStackStrategicAssets",
+ "required": false,
+ "hideTitle": false,
+ "title": "Technology Stack (Strategic Assets)",
+ "description": "Do you have a preferred technology stack? If yes, please list those requirements here:",
+ "type": "questions",
+ "questions": [
+ {
+ "fieldName": "details.strategicassets.sfdc",
+ "title": "SFDC",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.strategicassets.guidewire",
+ "title": "Guidewire",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.strategicassets.tableau",
+ "title": "Tableau",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.strategicassets.sitecore",
+ "title": "Sitecore",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.strategicassets.innoveoskye",
+ "title": "Innoveo Skye",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.strategicassets.smartcommunications",
+ "title": "SmartCommunications",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.strategicassets.msdynamics",
+ "title": "MS Dynamics",
+ "type": "textbox"
+ }
+ ]
+ },
+ {
+ "id": "techStackGeneral",
+ "required": false,
+ "hideTitle": false,
+ "title": "Technology Stack (General) - Do you have a preferred technology stack? If yes, please list them 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"
+ },
+ {
+ "fieldName": "details.techstack.others",
+ "title": "Others",
+ "type": "textbox"
+ }
+ ]
+ },
+ {
+ "id": "technology-requirements",
+ "required": false,
+ "hideTitle": true,
+ "title": "Technology Requirements",
+ "description": "",
+ "type": "questions",
+ "questions": [
+ {
+ "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": "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)?"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "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 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": "testdata",
+ "label": "Test Data - Should we create test data as part of the project, or will you provide obfuscated test data?"
+ },
+ {
+ "value": "usercount",
+ "label": "User Count - How many users do you anticipate the application will have?"
+ },
+ {
+ "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": "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 solution?",
+ "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"
+ }
+ ]
+ }
+ ]
+ },
+ "phases": {
+ "1-app-design": {
+ "name": "Website 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
+ }
+ },
+ "form": null,
+ "planConfig": null,
+ "priceConfig": null,
+ "disabled": false,
+ "hidden": true,
+ "deletedAt": null,
+ "createdAt": "2018-11-13T10:54:47.000Z",
+ "updatedAt": "2020-01-22T13:22:41.146Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 118,
+ "name": "API",
+ "key": "api_development_new",
+ "category": "app_dev",
+ "subCategory": null,
+ "metadata": {},
+ "icon": "api",
+ "question": "what",
+ "info": "why",
+ "aliases": [
+ "api_development_new",
+ "api-development-new"
+ ],
+ "scope": {
+ "sections": [
+ {
+ "id": "project-basic-details",
+ "title": "API",
+ "statusText": "Let's go",
+ "subSections": [
+ {
+ "type": "message",
+ "hideTitle": true,
+ "theme": "light",
+ "description": "We will ask you several questions in order to determine your project’s scope. All estimates are based on our 15 years of experience and thousands of projects. Final prices will be determined after our team completes a final scope review."
+ },
+ {
+ "title": "App details",
+ "type": "questions",
+ "questions": [
+ {
+ "fieldName": "name",
+ "type": "textinput",
+ "title": "Name your project",
+ "theme": "light",
+ "validationError": "Please, provide a name to your project",
+ "validations": "isRequired",
+ "required": true
+ },
+ {
+ "fieldName": "description",
+ "type": "textbox",
+ "title": "Describe the objectives of your API project in 2-3 sentences.",
+ "theme": "light",
+ "validationError": "Please, provide a description",
+ "required": true
+ },
+ {
+ "fieldName": "details.utm.code",
+ "type": "textinput",
+ "title": "Do you have a Reference code? (optional)",
+ "theme": "light"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "appDefinition",
+ "title": "App Definition",
+ "required": true,
+ "description": "",
+ "wizard": {
+ "enabled": true,
+ "previousStepVisibility": "write"
+ },
+ "subSections": [
+ {
+ "id": "deliverables",
+ "type": "questions",
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "questions": [
+ {
+ "type": "static",
+ "hiddenOnEdit": true,
+ "content": "
{{name}}
{{description}}
"
+ },
+ {
+ "icon": "question",
+ "title": "What type of API support do you need?",
+ "summaryTitle": "Work needed",
+ "description": "",
+ "fieldName": "details.apiDefinition.deliverables",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is right for me?",
+ "title": "What is right for me?",
+ "content": "
API Gateway Development & Integration utilizes open source tools (Kong, Tyk and API Umbrella) to handle multiple APIs and correctly route/orchestrate multiple API requests. This solution does not include the development of APIs, only the gateway development and integration of up to 5 APIs. If you require integration of more than 5 APIs, please indicate this in the comments section of the form prior to submitting and we will include this estimate in the detailed proposal.
API Integration solutions cover integration of up to 5 APIs with a third party API management platform, such as Mulesoft, Apigee, Azure API Management, and AWS API Gateway. This solution does not include the development of APIs, only the integration. If you require integration of more than 5 APIs, please indicate this in the comments section of the form prior to submitting and we will include this estimate in the detailed proposal.
API Developmentsolutions cover the development of one API for an existing application. The app does not need to have been built by Topcoder. If you require development of more than one API, please indicate this in the comments section of the form prior to submitting and we will include this estimate in the detailed proposal.
Topcoder recommends including an Architect on projects where a high degree of technical complexity is anticipated, when multiple deliverables are needed, or when you are a new to Topcoder and need additional help navigating the crowdsourcing process. Architects will provide additional oversight to your project. The inclusion of an Architect on a project will result in a service charge.
"
+ },
+ "validationError": "Please, ley us know if you need a dedicated manager.",
+ "validations": "isRequired",
+ "required": true,
+ "options": [
+ {
+ "value": "yes",
+ "label": "Project Manager + Architect",
+ "summaryLabel": "Yes",
+ "description": "Project managers will work with the Community on the execution of your deliverables. An Architect will be assigned to oversee the technical requirements and complexities of your project."
+ },
+ {
+ "value": "no",
+ "label": "Project Manager",
+ "summaryLabel": "No",
+ "description": "You will partner directly with your Project Manager to align on the requirements for your project and they will work with the Community on the execution of your deliverables."
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Notes",
+ "summaryTitle": "Notes",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)",
+ "fieldName": "details.apiDefinition.notes",
+ "type": "textbox"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ }
+ ]
+ },
+ {
+ "id": "summary-intermediate",
+ "hiddenOnEdit": true,
+ "hideFormHeader": true,
+ "nextButtonText": "Configure my project",
+ "footer": {
+ "content": ""
+ },
+ "subSections": [
+ {
+ "type": "questions",
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "static",
+ "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.
"
+ }
+ ]
+ },
+ {
+ "hideTitle": true,
+ "type": "portal",
+ "content": [
+ {
+ "sectionIndex": 1
+ },
+ {
+ "sectionIndex": 3
+ }
+ ]
+ },
+ {
+ "type": "questions",
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "estimation",
+ "title": "Your project timeline",
+ "deliverables": [
+ {
+ "id": "api-gateway",
+ "title": "API Gateway",
+ "enableCondition": "HAS_API_GATEWAY_DELIVERABLE",
+ "deliverableKey": "api-gateway-dev-integration"
+ },
+ {
+ "id": "api-integration",
+ "title": "API Integration",
+ "enableCondition": "HAS_API_INTEGRATION_DELIVERABLE",
+ "deliverableKey": "api-integration"
+ },
+ {
+ "id": "api-development",
+ "title": "API Development",
+ "enableCondition": "HAS_API_DEVELOPMENT_DELIVERABLE",
+ "deliverableKey": "api-development"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "wizard": {
+ "enabled": true,
+ "previousStepVisibility": "none"
+ },
+ "basePriceEstimate": 0,
+ "baseTimeEstimateMin": 3,
+ "baseTimeEstimateMax": 6,
+ "priceConfig": {
+ "ONE_DELIVERABLE": [
+ [
+ "FREE_SIZE_API_GATEWAY_NO_CA"
+ ],
+ [
+ "FREE_SIZE_API_GATEWAY_CA"
+ ],
+ [
+ "FREE_SIZE_API_INTEGRATION_NO_CA"
+ ],
+ [
+ "FREE_SIZE_API_INTEGRATION_CA"
+ ],
+ [
+ "FREE_SIZE_API_DEVELOPMENT_NO_CA"
+ ],
+ [
+ "FREE_SIZE_API_DEVELOPMENT_CA"
+ ]
+ ]
+ },
+ "preparedConditions": {
+ "HAS_API_GATEWAY_DELIVERABLE": "(details.apiDefinition.deliverables == 'api-gateway-dev-integration')",
+ "HAS_API_INTEGRATION_DELIVERABLE": "(details.apiDefinition.deliverables == 'api-integration')",
+ "HAS_API_DEVELOPMENT_DELIVERABLE": "(details.apiDefinition.deliverables == 'api-development')",
+ "ONE_DELIVERABLE": "( 1 == 1)",
+ "CA_NOT_NEEDED": "(details.apiDefinition.caNeeded != 'yes')",
+ "CA_NEEDED": "(details.apiDefinition.caNeeded == 'yes')",
+ "HAS_API_INTEGRATION_ADDON": "(details.apiDefinition.addons.api contains '{\"productKey\":\"additional-api-integration\"}')",
+ "HAS_API_DEVELOPMENT_ADDON": "(details.apiDefinition.addons.api contains '{\"productKey\":\"additional-api-development\"}')"
+ },
+ "buildingBlocks": {
+ "FREE_SIZE_API_GATEWAY_NO_CA": {
+ "conditions": "( HAS_API_GATEWAY_DELIVERABLE && CA_NOT_NEEDED )",
+ "price": "6557",
+ "minTime": 54,
+ "maxTime": 54,
+ "metadata": {
+ "deliverable": "api-gateway-dev-integration"
+ }
+ },
+ "FREE_SIZE_API_GATEWAY_CA": {
+ "conditions": "( HAS_API_GATEWAY_DELIVERABLE && CA_NEEDED )",
+ "price": "2066",
+ "minTime": 54,
+ "maxTime": 54,
+ "metadata": {
+ "deliverable": "api-gateway-dev-integration"
+ }
+ },
+ "FREE_SIZE_API_INTEGRATION_NO_CA": {
+ "conditions": "( HAS_API_INTEGRATION_DELIVERABLE && CA_NOT_NEEDED )",
+ "price": "5027",
+ "minTime": 34,
+ "maxTime": 34,
+ "metadata": {
+ "deliverable": "api-integration"
+ }
+ },
+ "FREE_SIZE_API_INTEGRATION_CA": {
+ "conditions": "( HAS_API_INTEGRATION_DELIVERABLE && CA_NEEDED )",
+ "price": "123",
+ "minTime": 34,
+ "maxTime": 34,
+ "metadata": {
+ "deliverable": "api-integration"
+ }
+ },
+ "FREE_SIZE_API_DEVELOPMENT_NO_CA": {
+ "conditions": "( HAS_API_DEVELOPMENT_DELIVERABLE && CA_NOT_NEEDED )",
+ "price": "10062",
+ "minTime": 33,
+ "maxTime": 33,
+ "metadata": {
+ "deliverable": "api-development"
+ }
+ },
+ "FREE_SIZE_API_DEVELOPMENT_CA": {
+ "conditions": "( HAS_API_DEVELOPMENT_DELIVERABLE && CA_NEEDED )",
+ "price": "8719",
+ "minTime": 33,
+ "maxTime": 33,
+ "metadata": {
+ "deliverable": "api-development"
+ }
+ },
+ "API_INTEGRATION_ADDON_NO_CA": {
+ "conditions": "( HAS_API_INTEGRATION_ADDON && CA_NOT_NEEDED)",
+ "price": "9883",
+ "minTime": 7,
+ "maxTime": 7,
+ "metadata": {
+ "deliverable": "api-integration",
+ "addonLocation": "details.apiDefinition.addons.api",
+ "addonProductKey": "additional-api-integration"
+ }
+ },
+ "API_INTEGRATION_ADDON_CA": {
+ "conditions": "( HAS_API_INTEGRATION_ADDON && CA_NEEDED)",
+ "price": "7544",
+ "minTime": 7,
+ "maxTime": 7,
+ "metadata": {
+ "deliverable": "api-integration",
+ "addonLocation": "details.apiDefinition.addons.api",
+ "addonProductKey": "additional-api-integration"
+ }
+ },
+ "API_DEVELOPMENT_ADDON_NO_CA": {
+ "conditions": "( HAS_API_DEVELOPMENT_ADDON && CA_NOT_NEEDED)",
+ "price": "9824",
+ "minTime": 10,
+ "maxTime": 10,
+ "metadata": {
+ "deliverable": "api-development",
+ "addonLocation": "details.apiDefinition.addons.api",
+ "addonProductKey": "additional-api-development"
+ }
+ },
+ "API_DEVELOPMENT_ADDON_CA": {
+ "conditions": "( HAS_API_DEVELOPMENT_ADDON && CA_NEEDED)",
+ "price": "9999",
+ "minTime": 10,
+ "maxTime": 10,
+ "metadata": {
+ "deliverable": "api-development",
+ "addonLocation": "details.apiDefinition.addons.api",
+ "addonProductKey": "additional-api-development"
+ }
+ }
+ },
+ "priceConfig-old": null,
+ "priceConfigOpt": null,
+ "addonPriceConfig": {
+ "ONE_DELIVERABLE": [
+ [
+ "API_INTEGRATION_ADDON_NO_CA"
+ ],
+ [
+ "API_INTEGRATION_ADDON_CA"
+ ],
+ [
+ "API_DEVELOPMENT_ADDON_NO_CA"
+ ],
+ [
+ "API_DEVELOPMENT_ADDON_CA"
+ ]
+ ]
+ }
+ },
+ "phases": {
+ "1-dev-iteration-i": {
+ "name": "Dev Iteration",
+ "products": [
+ {
+ "productKey": "development-iteration-5-milestones",
+ "id": 29
+ }
+ ],
+ "duration": 25
+ }
+ },
+ "form": null,
+ "planConfig": null,
+ "priceConfig": null,
+ "disabled": false,
+ "hidden": true,
+ "deletedAt": null,
+ "createdAt": "2019-05-14T04:52:53.000Z",
+ "updatedAt": "2020-01-22T13:22:41.146Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 106,
+ "name": "Design",
+ "key": "zurich_visual_design_prod",
+ "category": "quality_assurance",
+ "subCategory": null,
+ "metadata": {},
+ "icon": "../../assets/icons/product-design-app-visual.svg",
+ "question": "Visual Design",
+ "info": "Create development-ready designs",
+ "aliases": [
+ "kubik_design",
+ "kubik-design"
+ ],
+ "scope": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "",
+ "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",
+ "layout": {
+ "direction": "vertical",
+ "spacing": "codes"
+ },
+ "title": "Business Unit & Cost Center",
+ "type": "questions",
+ "required": true,
+ "questions": [
+ {
+ "fieldName": "details.businessUnit",
+ "title": "BU",
+ "description": "Business Unit or Group function (e.g. ZNA, UK, GF&SU, COMMERCIAL INSURANCE,…)",
+ "type": "textinput",
+ "validationError": "Mandatory field",
+ "validations": "isRequired",
+ "required": true
+ },
+ {
+ "fieldName": "details.costCentre",
+ "title": "Cost Centre",
+ "type": "textinput",
+ "validationError": "Mandatory field",
+ "validations": "isRequired",
+ "required": 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": "Briefly describe the application we are designing.",
+ "title": "Project Overview",
+ "type": "textbox"
+ },
+ {
+ "icon": "question",
+ "description": "",
+ "title": "Do you need concept exploration design or full application designs that can be development-ready?",
+ "fieldName": "details.loadDetails.designType",
+ "type": "radio-group",
+ "layout": "vertical",
+ "options": [
+ {
+ "value": "concept-exploration",
+ "label": "Concept exploration (Recommended use: when you are looking to quickly explore concepts for an application or website through designs, but are not ready to begin development yet)"
+ },
+ {
+ "value": "full-application-designs",
+ "label": "Full application designs (Recommended use: when you need detailed, development-ready designs)"
+ }
+ ],
+ "required": true,
+ "validationError": "Please provide expected hours of execution"
+ },
+ {
+ "icon": "question",
+ "required": true,
+ "validationError": "Please let us know the number of screens required",
+ "title": "How many screens do you need designed?",
+ "description": "Please select required option for the total amount of screens/features. If you need more than 15 screens, please indicate this in the Notes section.",
+ "fieldName": "details.appDefinition.numberScreens",
+ "type": "tiled-radio-group",
+ "options": [
+ {
+ "value": "2-4",
+ "title": "screens",
+ "icon": "NumberText",
+ "iconOptions": {
+ "number": "2-4"
+ },
+ "desc": ""
+ },
+ {
+ "value": "5-8",
+ "title": "screens",
+ "icon": "NumberText",
+ "iconOptions": {
+ "number": "5-8"
+ },
+ "desc": ""
+ },
+ {
+ "value": "9-15",
+ "title": "screens",
+ "icon": "NumberText",
+ "iconOptions": {
+ "number": "9-15"
+ },
+ "desc": ""
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Where should your app work?",
+ "description": "",
+ "fieldName": "details.appDefinition.deviceType",
+ "type": "checkbox-group",
+ "options": [
+ {
+ "value": "mobile",
+ "label": "Mobile"
+ },
+ {
+ "value": "tablet",
+ "label": "Tablet"
+ },
+ {
+ "value": "web-browser",
+ "label": "Web Browser"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "If you selected Mobile or Tablet in the previous question, please indicate your application type (Optional Question)",
+ "description": "",
+ "fieldName": "details.appDefinition.osType",
+ "type": "checkbox-group",
+ "options": [
+ {
+ "value": "ios",
+ "label": "iOS"
+ },
+ {
+ "value": "android",
+ "label": "Android"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "screen-features",
+ "required": false,
+ "hideTitle": false,
+ "title": "Screen and Features",
+ "description": "",
+ "type": "questions",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "",
+ "description": "",
+ "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": "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": "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/FAQs",
+ "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."
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "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-5",
+ "title": "Under $5K "
+ },
+ {
+ "value": "upto-10",
+ "title": "$10K"
+ },
+ {
+ "value": "upto-15",
+ "title": "$15K"
+ },
+ {
+ "value": "upto-20",
+ "title": "$20K"
+ },
+ {
+ "value": "upto-25",
+ "title": "$25K"
+ },
+ {
+ "value": "above-25",
+ "title": "$25K+"
+ }
+ ],
+ "required": true,
+ "validationError": "Please provide expected hours of execution"
+ },
+ {
+ "icon": "question",
+ "description": "When do you need your solution?",
+ "title": "Timeline",
+ "fieldName": "details.loadDetails.timeline",
+ "type": "slide-radiogroup",
+ "options": [
+ {
+ "value": "3-days",
+ "title": "3 Days"
+ },
+ {
+ "value": "6-days",
+ "title": "6 Days"
+ },
+ {
+ "value": "9-days",
+ "title": "9 Days"
+ },
+ {
+ "value": "12-days",
+ "title": "12 Days"
+ },
+ {
+ "value": "15-days",
+ "title": "15 Days"
+ },
+ {
+ "value": "19-days",
+ "title": "19 Days"
+ },
+ {
+ "value": "22-days",
+ "title": "22 Days"
+ },
+ {
+ "value": "25-days",
+ "title": "25 Days"
+ },
+ {
+ "value": "above-25-days",
+ "title": "25+ Days"
+ }
+ ],
+ "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"
+ },
+ {
+ "id": "files",
+ "required": false,
+ "title": "Files",
+ "description": "",
+ "type": "files",
+ "fieldName": "attachments",
+ "hiddenOnCreation": true
+ }
+ ]
+ }
+ ]
+ },
+ "phases": {},
+ "form": null,
+ "planConfig": null,
+ "priceConfig": null,
+ "disabled": false,
+ "hidden": true,
+ "deletedAt": null,
+ "createdAt": "2019-04-24T10:03:30.000Z",
+ "updatedAt": "2020-01-22T13:22:41.146Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 13,
+ "name": "Mobility Testing",
+ "key": "mobility_testing",
+ "category": "quality_assurance",
+ "subCategory": null,
+ "metadata": {},
+ "icon": "product-qa-mobility-testing",
+ "question": "What kind of quality assurance (QA) do you need?",
+ "info": "App Certification, Lab on Hire, User Sentiment Analysis",
+ "aliases": [
+ "mobility-testing",
+ "mobility_testing"
+ ],
+ "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"
+ }
+ ]
+ }
+ ]
+ },
+ "phases": {
+ "1-qa-iteration-i": {
+ "name": "QA Phase",
+ "products": [
+ {
+ "productKey": "qa-iteration",
+ "id": 30
+ }
+ ],
+ "duration": 24
+ }
+ },
+ "form": null,
+ "planConfig": null,
+ "priceConfig": null,
+ "disabled": false,
+ "hidden": false,
+ "deletedAt": null,
+ "createdAt": "2018-07-06T07:31:13.000Z",
+ "updatedAt": "2020-01-22T13:22:41.147Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 119,
+ "name": "API",
+ "key": "test1_api_template_new",
+ "category": "app_dev",
+ "subCategory": null,
+ "metadata": {},
+ "icon": "api",
+ "question": "what",
+ "info": "why",
+ "aliases": [
+ "test1_api_template_new"
+ ],
+ "scope": {
+ "sections": [
+ {
+ "id": "project-basic-details",
+ "title": "API",
+ "statusText": "Let's go",
+ "subSections": [
+ {
+ "type": "message",
+ "hideTitle": true,
+ "theme": "light",
+ "description": "We will ask you several questions in order to determine your project’s scope. All estimates are based on our 15 years of experience and thousands of projects. Final prices will be determined after our team completes a final scope review."
+ },
+ {
+ "title": "App details",
+ "type": "questions",
+ "questions": [
+ {
+ "fieldName": "name",
+ "type": "textinput",
+ "title": "Name your project",
+ "theme": "light",
+ "validationError": "Please, provide a name to your project",
+ "validations": "isRequired",
+ "required": true
+ },
+ {
+ "fieldName": "description",
+ "type": "textbox",
+ "title": "Describe the objectives of your API project in 2-3 sentences.",
+ "theme": "light",
+ "validations": "isRequired,minLength:160",
+ "validationErrors": {
+ "isRequired": "Please provide a description",
+ "minLength": "Please enter at least 160 characters"
+ },
+ "required": true
+ },
+ {
+ "fieldName": "details.utm.code",
+ "type": "textinput",
+ "title": "Do you have a Reference code? (optional)",
+ "theme": "light"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "appDefinition",
+ "title": "App Definition",
+ "required": true,
+ "description": "",
+ "wizard": {
+ "enabled": true,
+ "previousStepVisibility": "write"
+ },
+ "subSections": [
+ {
+ "id": "deliverables",
+ "type": "questions",
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "questions": [
+ {
+ "type": "static",
+ "hiddenOnEdit": true,
+ "content": "
{{name}}
{{description}}
"
+ },
+ {
+ "icon": "question",
+ "title": "What type of API support do you need?",
+ "summaryTitle": "Work needed",
+ "description": "",
+ "fieldName": "details.apiDefinition.deliverables",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is right for me?",
+ "title": "What is right for me?",
+ "content": "
API Gateway Development & Integration utilizes open source tools (Kong, Tyk and API Umbrella) to handle multiple APIs and correctly route/orchestrate multiple API requests. This solution does not include the development of APIs, only the gateway development and integration of up to 5 APIs. If you require integration of more than 5 APIs, please indicate this in the comments section of the form prior to submitting and we will include this estimate in the detailed proposal.
API Integration solutions cover integration of up to 5 APIs with a third party API management platform, such as Mulesoft, Apigee, Azure API Management, and AWS API Gateway. This solution does not include the development of APIs, only the integration. If you require integration of more than 5 APIs, please indicate this in the comments section of the form prior to submitting and we will include this estimate in the detailed proposal.
API Developmentsolutions cover the development of one API for an existing application. The app does not need to have been built by Topcoder. If you require development of more than one API, please indicate this in the comments section of the form prior to submitting and we will include this estimate in the detailed proposal.
Topcoder recommends including an Architect on projects where a high degree of technical complexity is anticipated, when multiple deliverables are needed, or when you are a new customer to Topcoder and need additional help navigating the crowdsourcing process as Architects will provide additional oversight to your project. The inclusion of an Architect on a project will result in a service charge.
"
+ },
+ "validationError": "Please, ley us know if you need a dedicated manager.",
+ "validations": "isRequired",
+ "required": true,
+ "options": [
+ {
+ "value": "yes",
+ "label": "Project Manager + Architect",
+ "summaryLabel": "Yes",
+ "description": "Project managers will work with the Community on the execution of your deliverables. An Architect will be assigned to oversee the technical requirements and complexities of your project."
+ },
+ {
+ "value": "no",
+ "label": "Project Manager",
+ "summaryLabel": "No",
+ "description": "You will partner directly with your Project Manager to align on the requirements for your project and they will work with the Community on the execution of your deliverables."
+ }
+ ]
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ }
+ ]
+ },
+ {
+ "id": "summary-intermediate",
+ "hiddenOnEdit": true,
+ "hideFormHeader": true,
+ "nextButtonText": "Configure my project",
+ "footer": {
+ "content": ""
+ },
+ "subSections": [
+ {
+ "type": "questions",
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "static",
+ "content": "
Your Project Estimate
"
+ }
+ ]
+ },
+ {
+ "type": "portal",
+ "hideTitle": true,
+ "content": [
+ {
+ "sectionIndex": 1
+ }
+ ]
+ },
+ {
+ "type": "questions",
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "estimation",
+ "title": "Your project timeline",
+ "deliverables": [
+ {
+ "id": "api-gateway",
+ "title": "API Gateway",
+ "enableCondition": "HAS_API_GATEWAY_DELIVERABLE",
+ "deliverableKey": "api-gateway-dev-integration"
+ },
+ {
+ "id": "api-integration",
+ "title": "API Integration",
+ "enableCondition": "HAS_API_INTEGRATION_DELIVERABLE",
+ "deliverableKey": "api-integration"
+ },
+ {
+ "id": "api-development",
+ "title": "API Development",
+ "enableCondition": "HAS_API_DEVELOPMENT_DELIVERABLE",
+ "deliverableKey": "api-development"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "add-ons",
+ "title": "Configure my app",
+ "subSections": [
+ {
+ "hideTitle": true,
+ "type": "questions",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "Design add-ons",
+ "description": "Select any desired add-ons to your project. Please note that each add-on will incur a cost and has a delivery duration. Your project estimate will be updated to reflect the cost and duration of your base solution and add-ons. Additionally, you will receive a full breakdown on cost in the final project proposal from Topcoder.",
+ "fieldName": "details.appDefinition.addons.design",
+ "type": "add-ons",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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": "HAS_DESIGN_DELIVERABLE",
+ "category": "visual_design"
+ },
+ {
+ "icon": "question",
+ "title": "Development add-ons",
+ "description": "Select any desired add-ons to your project. Please note that each add-on will incur a cost and has a delivery duration. Your project estimate will be updated to reflect the cost and duration of your base solution and add-ons. Additionally, you will receive a full breakdown on cost in the final project proposal from Topcoder.",
+ "fieldName": "details.appDefinition.addons.development",
+ "type": "add-ons",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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": "HAS_DEV_DELIVERABLE",
+ "category": "development"
+ },
+ {
+ "icon": "question",
+ "title": "QA add-ons",
+ "description": "Select any desired add-ons to your project. Please note that each add-on will incur a cost and has a delivery duration. Your project estimate will be updated to reflect the cost and duration of your base solution and add-ons. Additionally, you will receive a full breakdown on cost in the final project proposal from Topcoder.",
+ "fieldName": "details.appDefinition.addons.qa",
+ "type": "add-ons",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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": "HAS_QA_DELIVERABLE",
+ "category": "qa"
+ },
+ {
+ "icon": "question",
+ "title": "Delivery add-ons",
+ "description": "Select any desired add-ons to your project. Please note that each add-on will incur a cost and has a delivery duration. Your project estimate will be updated to reflect the cost and duration of your base solution and add-ons. Additionally, you will receive a full breakdown on cost in the final project proposal from Topcoder.",
+ "fieldName": "details.appDefinition.addons.delivery",
+ "type": "add-ons",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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.
"
+ }
+ ]
+ },
+ {
+ "hideTitle": true,
+ "type": "portal",
+ "content": [
+ {
+ "sectionIndex": 1
+ },
+ {
+ "sectionIndex": 3
+ }
+ ]
+ },
+ {
+ "type": "questions",
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "estimation",
+ "title": "Your project timeline",
+ "deliverables": [
+ {
+ "id": "api-gateway",
+ "title": "API Gateway",
+ "enableCondition": "HAS_API_GATEWAY_DELIVERABLE",
+ "deliverableKey": "api-gateway-dev-integration"
+ },
+ {
+ "id": "api-integration",
+ "title": "API Integration",
+ "enableCondition": "HAS_API_INTEGRATION_DELIVERABLE",
+ "deliverableKey": "api-integration"
+ },
+ {
+ "id": "api-development",
+ "title": "API Development",
+ "enableCondition": "HAS_API_DEVELOPMENT_DELIVERABLE",
+ "deliverableKey": "api-development"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "wizard": {
+ "enabled": true,
+ "previousStepVisibility": "none"
+ },
+ "basePriceEstimate": 0,
+ "baseTimeEstimateMin": 3,
+ "baseTimeEstimateMax": 6,
+ "priceConfig": {
+ "ONE_DELIVERABLE": [
+ [
+ "FREE_SIZE_API_GATEWAY_NO_CA"
+ ],
+ [
+ "FREE_SIZE_API_GATEWAY_CA"
+ ],
+ [
+ "FREE_SIZE_API_INTEGRATION_NO_CA"
+ ],
+ [
+ "FREE_SIZE_API_INTEGRATION_CA"
+ ],
+ [
+ "FREE_SIZE_API_DEVELOPMENT_NO_CA"
+ ],
+ [
+ "FREE_SIZE_API_DEVELOPMENT_CA"
+ ]
+ ]
+ },
+ "preparedConditions": {
+ "HAS_API_GATEWAY_DELIVERABLE": "(details.apiDefinition.deliverables == 'api-gateway-dev-integration')",
+ "HAS_API_INTEGRATION_DELIVERABLE": "(details.apiDefinition.deliverables == 'api-integration')",
+ "HAS_API_DEVELOPMENT_DELIVERABLE": "(details.apiDefinition.deliverables == 'api-development')",
+ "ONE_DELIVERABLE": "( 1 == 1)",
+ "CA_NOT_NEEDED": "(details.apiDefinition.caNeeded != 'yes')",
+ "CA_NEEDED": "(details.apiDefinition.caNeeded == 'yes')",
+ "HAS_WIREFRAMES_ADDON": "(details.appDefinition.addons.design contains '{\"productKey\":\"wireframes\"}')"
+ },
+ "buildingBlocks": {
+ "FREE_SIZE_API_GATEWAY_NO_CA": {
+ "conditions": "( HAS_API_GATEWAY_DELIVERABLE && CA_NOT_NEEDED )",
+ "price": "2646",
+ "minTime": 54,
+ "maxTime": 54,
+ "metadata": {
+ "deliverable": "api-gateway-dev-integration"
+ }
+ },
+ "FREE_SIZE_API_GATEWAY_CA": {
+ "conditions": "( HAS_API_GATEWAY_DELIVERABLE && CA_NEEDED )",
+ "price": "1448",
+ "minTime": 54,
+ "maxTime": 54,
+ "metadata": {
+ "deliverable": "api-gateway-dev-integration"
+ }
+ },
+ "FREE_SIZE_API_INTEGRATION_NO_CA": {
+ "conditions": "( HAS_API_INTEGRATION_DELIVERABLE && CA_NOT_NEEDED )",
+ "price": "113",
+ "minTime": 34,
+ "maxTime": 34,
+ "metadata": {
+ "deliverable": "api-integration"
+ }
+ },
+ "FREE_SIZE_API_INTEGRATION_CA": {
+ "conditions": "( HAS_API_INTEGRATION_DELIVERABLE && CA_NEEDED )",
+ "price": "7296",
+ "minTime": 34,
+ "maxTime": 34,
+ "metadata": {
+ "deliverable": "api-integration"
+ }
+ },
+ "FREE_SIZE_API_DEVELOPMENT_NO_CA": {
+ "conditions": "( HAS_API_DEVELOPMENT_DELIVERABLE && CA_NOT_NEEDED )",
+ "price": "3211",
+ "minTime": 33,
+ "maxTime": 33,
+ "metadata": {
+ "deliverable": "api-development"
+ }
+ },
+ "FREE_SIZE_API_DEVELOPMENT_CA": {
+ "conditions": "( HAS_API_DEVELOPMENT_DELIVERABLE && CA_NEEDED )",
+ "price": "636",
+ "minTime": 33,
+ "maxTime": 33,
+ "metadata": {
+ "deliverable": "api-development"
+ }
+ }
+ },
+ "priceConfig-old": null,
+ "priceConfigOpt": null,
+ "addonPriceConfig": {
+ "HAS_DEV_DELIVERABLE": [
+ [
+ "API_DEVELOPMENT_ADDON_NO_CA"
+ ]
+ ],
+ "HAS_DEPLOY_DELIVERABLE": [
+ [
+ "HAS_CI_CD_ADDON_NO_CA"
+ ],
+ [
+ "HAS_CI_CD_ADDON_CA"
+ ]
+ ]
+ }
+ },
+ "phases": {
+ "1-dev-iteration-i": {
+ "name": "Dev Iteration",
+ "products": [
+ {
+ "productKey": "development-iteration-5-milestones",
+ "id": 29
+ }
+ ],
+ "duration": 25
+ }
+ },
+ "form": null,
+ "planConfig": null,
+ "priceConfig": null,
+ "disabled": false,
+ "hidden": true,
+ "deletedAt": null,
+ "createdAt": "2019-05-14T07:38:18.000Z",
+ "updatedAt": "2020-01-22T13:22:41.147Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 15,
+ "name": "Salesforce Accelerator",
+ "key": "sfdc_testing",
+ "category": "quality_assurance",
+ "subCategory": null,
+ "metadata": {},
+ "icon": "product-qa-sfdc-accelerator",
+ "question": "What kind of quality assurance (QA) do you need?",
+ "info": "SalesForce Testing, Cross browser-device Testing",
+ "aliases": [
+ "sfdc_testing",
+ "sfdc-testing"
+ ],
+ "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"
+ }
+ ]
+ }
+ ]
+ },
+ "phases": {
+ "1-qa-iteration-i": {
+ "name": "QA Phase",
+ "products": [
+ {
+ "productKey": "qa-iteration",
+ "id": 30
+ }
+ ],
+ "duration": 24
+ }
+ },
+ "form": null,
+ "planConfig": null,
+ "priceConfig": null,
+ "disabled": false,
+ "hidden": false,
+ "deletedAt": null,
+ "createdAt": "2018-07-06T07:38:29.000Z",
+ "updatedAt": "2020-01-22T13:22:41.239Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 74,
+ "name": "App",
+ "key": "app_new",
+ "category": "app",
+ "subCategory": null,
+ "metadata": {},
+ "icon": "product-app-app",
+ "question": "What do you need to develop ?",
+ "info": "Build apps for mobile, web, or wearables",
+ "aliases": [
+ "app-new-test",
+ "app_new_test"
+ ],
+ "scope": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "App Definition",
+ "required": true,
+ "description": "",
+ "wizard": {
+ "enabled": true
+ },
+ "subSections": [
+ {
+ "id": "projectName",
+ "type": "project-name",
+ "title": "Project Name",
+ "description": ""
+ },
+ {
+ "id": "questions",
+ "type": "questions",
+ "title": "Requirements",
+ "description": "",
+ "wizard": {
+ "enabled": true
+ },
+ "questions": [
+ {
+ "icon": "question",
+ "title": "What do you need?",
+ "description": "Select maximum 2 types of app 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.appType",
+ "type": "checkbox-group",
+ "affectsQuickQuote": true,
+ "layout": "horizontal",
+ "options": [
+ {
+ "label": "iOS",
+ "value": "ios",
+ "icon": "icon-tech-outline-mobile",
+ "desc": "iOS Apps",
+ "disableCondition": "details.appDefinition.appType contains 'responsive-web-app'",
+ "quoteUp": 1000,
+ "minTimeUp": 5,
+ "maxTimeUp": 7
+ },
+ {
+ "label": "Android",
+ "value": "android",
+ "icon": "icon-tech-outline-mobile",
+ "desc": "Android Apps",
+ "iconOptions": {
+ "fill": "#000000"
+ },
+ "disableCondition": "details.appDefinition.appType contains 'responsive-web-app'",
+ "quoteUp": 800,
+ "minTimeUp": 4,
+ "maxTimeUp": 6
+ },
+ {
+ "label": "Progressive Web App",
+ "value": "progressive-web-app",
+ "icon": "icon-tech-outline-desktop",
+ "desc": "Progressive Web Apps",
+ "iconOptions": {
+ "fill": "#000000"
+ },
+ "disableCondition": "details.appDefinition.appType contains 'responsive-web-app'"
+ },
+ {
+ "label": "Desktop",
+ "value": "desktop",
+ "icon": "icon-tech-outline-desktop",
+ "desc": "Desktop Apps",
+ "iconOptions": {
+ "fill": "#000000"
+ },
+ "disableCondition": "details.appDefinition.appType contains 'responsive-web-app'"
+ },
+ {
+ "label": "Responsive Web App",
+ "value": "responsive-web-app",
+ "icon": "icon-tech-outline-desktop",
+ "desc": "Responsive Web Apps",
+ "iconOptions": {
+ "fill": "#000000"
+ },
+ "disableCondition": "( details.appDefinition.appType contains 'progressive-web-app' ) || ( details.appDefinition.appType contains 'ios' ) || ( details.appDefinition.appType contains 'android' ) || ( details.appDefinition.appType contains 'desktop' )"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Does your app need to be Native or Hybrid?",
+ "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.nativeHybrid",
+ "type": "tiled-radio-group",
+ "condition": "( details.appDefinition.appType contains 'ios' ) || ( details.appDefinition.appType contains 'android' )",
+ "options": [
+ {
+ "title": "Native",
+ "value": "native",
+ "icon": "icon-tech-outline-mobile",
+ "desc": "Native Apps"
+ },
+ {
+ "title": "Hybrid",
+ "value": "hybrid",
+ "icon": "icon-tech-outline-mobile",
+ "desc": "Hybrid Apps",
+ "iconOptions": {
+ "fill": "#000000"
+ }
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "What devices do you need this for?",
+ "description": "",
+ "fieldName": "details.appDefinition.targetDevices",
+ "type": "checkbox-group",
+ "layout": "horizontal",
+ "options": [
+ {
+ "value": "desktop",
+ "label": "Desktop",
+ "condition": "( details.appDefinition.appType contains 'responsive-web-app' ) || ( details.appDefinition.appType contains 'desktop' )"
+ },
+ {
+ "value": "tablet",
+ "label": "Tablet"
+ },
+ {
+ "value": "mobile",
+ "label": "Mobile"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "required": true,
+ "validationError": "Please let us know the number of screens required?",
+ "title": "How many screens do you need?",
+ "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": "2-4",
+ "title": "screens (small)",
+ "icon": "NumberText",
+ "iconOptions": {
+ "number": "2-4"
+ },
+ "desc": "7-10 days",
+ "price": 6757
+ },
+ {
+ "value": "5-8",
+ "title": "screens (medium)",
+ "icon": "NumberText",
+ "iconOptions": {
+ "number": "5-8"
+ },
+ "desc": "10-12 days",
+ "price": 5788
+ },
+ {
+ "value": "9-15",
+ "title": "screens (large)",
+ "icon": "NumberText",
+ "iconOptions": {
+ "number": "9-15"
+ },
+ "desc": "10-12 days",
+ "price": 8611
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "What kind of deliverables do you need?",
+ "description": "",
+ "fieldName": "details.appDefinition.deliverables",
+ "type": "radio-group",
+ "options": [
+ {
+ "value": "design",
+ "label": "Design"
+ },
+ {
+ "value": "dev-qa",
+ "label": "Development & QA"
+ },
+ {
+ "value": "design-dev-qa",
+ "label": "Design, Development & QA"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Need a quick turnaround for your designs?",
+ "description": "",
+ "fieldName": "details.appDefinition.quickTurnaround",
+ "type": "radio-group",
+ "condition": "( details.appDefinition.deliverables contains 'design' )",
+ "options": [
+ {
+ "value": "under-3-days",
+ "label": "I need designs in three days"
+ },
+ {
+ "value": "under-6-days",
+ "label": "I need designs in six days"
+ },
+ {
+ "value": "comprehensive-design",
+ "label": "I need a comprehensive design solution"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Choose Design add-ons",
+ "description": "",
+ "fieldName": "details.appDefinition.designAddons",
+ "type": "add-ons",
+ "condition": "(details.appDefinition.deliverables == 'design' && details.appDefinition.quickTurnaround == 'comprehensive-design')",
+ "category": "generic",
+ "subCategories": [
+ "design",
+ "qa"
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Choose Dev/QA add-ons",
+ "description": "",
+ "fieldName": "details.appDefinition.devQAAddons",
+ "type": "add-ons",
+ "condition": "(details.appDefinition.deliverables == 'dev-qa')",
+ "category": "generic",
+ "subCategories": [
+ "dev-qa",
+ "security"
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Choose Design/Dev/QA add-ons",
+ "description": "",
+ "fieldName": "details.appDefinition.devQAAddons",
+ "type": "add-ons",
+ "condition": "(details.appDefinition.deliverables == 'design-dev-qa')",
+ "category": "generic",
+ "subCategories": [
+ "dev-qa",
+ "security"
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Do you want a Community Architect to oversee your project?",
+ "description": "",
+ "fieldName": "details.appDefinition.caNeeded",
+ "type": "radio-group",
+ "options": [
+ {
+ "value": "yes",
+ "label": "Yes (Managed)"
+ },
+ {
+ "value": "no",
+ "label": "No (Unmanaged)"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "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"
+ },
+ {
+ "id": "message",
+ "hideTitle": true,
+ "fieldName": "details.appDefinition.message",
+ "title": "Message",
+ "description": "If you are done with requirements for your projects please review and continue to create project.",
+ "type": "message"
+ }
+ ]
+ }
+ ],
+ "wizard": {
+ "enabled": true,
+ "previousStepVisibility": "readOnly"
+ },
+ "basePriceEstimate": 5000,
+ "baseTimeEstimateMin": 7,
+ "baseTimeEstimateMax": 10
+ },
+ "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
+ }
+ },
+ "form": null,
+ "planConfig": null,
+ "priceConfig": null,
+ "disabled": false,
+ "hidden": true,
+ "deletedAt": null,
+ "createdAt": "2018-12-27T10:51:50.000Z",
+ "updatedAt": "2020-01-22T13:22:41.240Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 9,
+ "name": "Front-end",
+ "key": "frontend_dev",
+ "category": "app_dev",
+ "subCategory": null,
+ "metadata": {},
+ "icon": "../../assets/icons/product-dev-front-end-dev.svg",
+ "question": "Front-end Development",
+ "info": "Translate your designs into Web or Mobile front-end",
+ "aliases": [
+ "frontend-development",
+ "frontend_dev"
+ ],
+ "scope": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "Front-end",
+ "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": "IconTechOutlineMobile",
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "desc": "iOS, Android, Hybrid"
+ },
+ {
+ "value": "tablet",
+ "title": "Tablet",
+ "icon": "IconTechOutlineTablet",
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "desc": "iOS, Android, Hybrid"
+ },
+ {
+ "value": "desktop",
+ "title": "Desktop",
+ "icon": "IconTechOutlineDesktop",
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "desc": "all OS"
+ },
+ {
+ "value": "wearable",
+ "title": "Wearable",
+ "icon": "IconTechOutlineWatchApple",
+ "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"
+ }
+ ]
+ }
+ ]
+ },
+ "phases": {
+ "1-dev-iteration-i": {
+ "name": "Dev Itegration",
+ "products": [
+ {
+ "productKey": "design-iteration-2-milestones",
+ "id": 25
+ }
+ ],
+ "duration": 25
+ },
+ "2-dev-iteration-ii": {
+ "name": "Dev Itegration",
+ "products": [
+ {
+ "productKey": "design-iteration-2-milestones",
+ "id": 25
+ }
+ ],
+ "duration": 25
+ }
+ },
+ "form": null,
+ "planConfig": null,
+ "priceConfig": null,
+ "disabled": false,
+ "hidden": false,
+ "deletedAt": null,
+ "createdAt": "2018-06-21T12:29:58.000Z",
+ "updatedAt": "2020-01-22T13:22:41.241Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 17,
+ "name": "Enterprise Mobile",
+ "key": "enterprise_mobile",
+ "category": "app",
+ "subCategory": null,
+ "metadata": {},
+ "icon": "../../assets/icons/product-app-app.svg",
+ "question": "What do you need to develop?",
+ "info": "Enterprise Mobile",
+ "aliases": [
+ "enterprise_mobile",
+ "enterprise-mobile"
+ ],
+ "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"
+ }
+ ]
+ }
+ ]
+ },
+ "phases": {
+ "enterprise_mobile": {
+ "name": "Enterprise Mobile",
+ "duration": 10,
+ "products": [
+ {
+ "productKey": "enterprise_mobile",
+ "id": 6
+ }
+ ]
+ }
+ },
+ "form": null,
+ "planConfig": null,
+ "priceConfig": null,
+ "disabled": false,
+ "hidden": true,
+ "deletedAt": null,
+ "createdAt": "2018-07-09T10:00:42.000Z",
+ "updatedAt": "2020-01-22T13:22:41.240Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 59,
+ "name": "Website",
+ "key": "website-default",
+ "category": "website",
+ "subCategory": null,
+ "metadata": {},
+ "icon": "../../assets/icons/product-cat-website.svg",
+ "question": "What do you need to Develop?",
+ "info": "Design and build the high-impact pages for your blog, online store, or company",
+ "aliases": [
+ "website-test",
+ "website_development_test"
+ ],
+ "scope": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "Website Development",
+ "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": "../../assets/icons/icon-tech-outline-mobile.svg",
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "desc": "iOS, Android, Hybrid"
+ },
+ {
+ "value": "tablet",
+ "title": "Tablet",
+ "icon": "../../assets/icons/icon-tech-outline-tablet.svg",
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "desc": "iOS, Android, Hybrid"
+ },
+ {
+ "value": "desktop",
+ "title": "Desktop",
+ "icon": "../../assets/icons/icon-tech-outline-desktop.svg",
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "desc": "all OS"
+ },
+ {
+ "value": "wearable",
+ "title": "Wearable",
+ "icon": "../../assets/icons/icon-tech-outline-watch-apple.svg",
+ "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"
+ }
+ ]
+ }
+ ]
+ },
+ "phases": {},
+ "form": null,
+ "planConfig": null,
+ "priceConfig": null,
+ "disabled": false,
+ "hidden": true,
+ "deletedAt": null,
+ "createdAt": "2018-12-11T12:07:41.000Z",
+ "updatedAt": "2020-01-22T13:22:41.241Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 16,
+ "name": "Performance Testing",
+ "key": "performance_testing",
+ "category": "quality_assurance",
+ "subCategory": null,
+ "metadata": {},
+ "icon": "product-qa-website-performance",
+ "question": "What kind of quality assurance (QA) do you need?",
+ "info": "Webpage rendering effiency, Load, Stress and Endurance Test",
+ "aliases": [
+ "performance-testing",
+ "performance_testing"
+ ],
+ "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"
+ }
+ ]
+ }
+ ]
+ },
+ "phases": {
+ "1-qa-iteration-i": {
+ "name": "QA Phase",
+ "products": [
+ {
+ "productKey": "qa-iteration",
+ "id": 30
+ }
+ ],
+ "duration": 24
+ }
+ },
+ "form": null,
+ "planConfig": null,
+ "priceConfig": null,
+ "disabled": false,
+ "hidden": false,
+ "deletedAt": null,
+ "createdAt": "2018-07-06T08:22:15.000Z",
+ "updatedAt": "2020-01-22T13:22:41.242Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 111,
+ "name": "Performance Testing",
+ "key": "kubik-perf-testing",
+ "category": "quality_assurance",
+ "subCategory": null,
+ "metadata": {},
+ "icon": "product-qa-crowd-testing",
+ "question": "What kind of quality assurance (QA) do you need?",
+ "info": "Exploratory Testing, Cross browser-device Testing",
+ "aliases": [
+ "kubik-perf-testing"
+ ],
+ "scope": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "Performance 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 for your project",
+ "fieldName": "name",
+ "description": "",
+ "title": "Project Name",
+ "type": "project-name"
+ },
+ {
+ "id": "questions",
+ "title": "Business Unit & Cost Center",
+ "type": "questions",
+ "required": true,
+ "questions": [
+ {
+ "fieldName": "details.businessUnit",
+ "title": "BU",
+ "type": "textinput",
+ "description": "Business Unit or Group function (e.g. ZNA, UK, GF&SU, COMMERCIAL INSURANCE,…)",
+ "validationError": "Mandatory field",
+ "validations": "isRequired",
+ "required": true
+ },
+ {
+ "fieldName": "details.costCentre",
+ "title": "Cost Centre",
+ "type": "textinput",
+ "validationError": "Mandatory field",
+ "validations": "isRequired",
+ "required": 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": "Please describe the testing application (background) and objectives of this test cycle. Please describe the users of this application and any other details that will help us understand your project.",
+ "title": "Project Overview",
+ "type": "textbox"
+ }
+ ]
+ },
+ {
+ "id": "application-information",
+ "required": false,
+ "hideTitle": false,
+ "title": "Application Information",
+ "description": "",
+ "type": "questions",
+ "questions": [
+ {
+ "icon": "question",
+ "required": true,
+ "validationError": "Please let us know if this is a live application.",
+ "title": "Is this a live application (online/production)?",
+ "description": "",
+ "fieldName": "details.testingDetails.isLive",
+ "type": "radio-group",
+ "options": [
+ {
+ "value": "yest",
+ "label": "Yes"
+ },
+ {
+ "value": "no",
+ "label": "No"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Do users need to create accounts for testing (vs. you providing test accounts)? ",
+ "description": "",
+ "fieldName": "details.testingDetails.createAccount",
+ "type": "radio-group",
+ "options": [
+ {
+ "value": "yes",
+ "label": "Yes"
+ },
+ {
+ "value": "no",
+ "label": "No"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Is domain knowledge required?",
+ "description": "",
+ "fieldName": "details.testingDetails.requiresDomainKnowledge",
+ "type": "radio-group",
+ "options": [
+ {
+ "value": "yes",
+ "label": "Yes"
+ },
+ {
+ "value": "no",
+ "label": "No"
+ }
+ ]
+ },
+ {
+ "title": "Domain Knowledge",
+ "fieldName": "details.testingDetails.domainKnowledge",
+ "type": "textbox",
+ "condition": "details.testingDetails.requiresDomainKnowledge == 'yes'"
+ },
+ {
+ "icon": "question",
+ "title": "Is this an end customer facing application?",
+ "description": "",
+ "fieldName": "details.testingDetails.isEndCustomerFacing",
+ "type": "radio-group",
+ "options": [
+ {
+ "value": "yes",
+ "label": "Yes"
+ },
+ {
+ "value": "no",
+ "label": "No"
+ }
+ ]
+ },
+ {
+ "title": "Customer facing application details",
+ "fieldName": "details.testingDetails.endCustomerFacingDetails",
+ "type": "textbox",
+ "condition": "details.testingDetails.isEndCustomerFacing == 'yes'"
+ },
+ {
+ "icon": "question",
+ "title": "Should testing target a specific geography?",
+ "description": "",
+ "fieldName": "details.testingDetails.isGeographyTarget",
+ "type": "radio-group",
+ "options": [
+ {
+ "value": "yes",
+ "label": "Yes"
+ },
+ {
+ "value": "no",
+ "label": "No"
+ }
+ ]
+ },
+ {
+ "title": "Target geography details",
+ "fieldName": "details.testingDetails.targetGeographyDetails",
+ "type": "textbox",
+ "condition": "details.testingDetails.isGeographyTarget == 'yes'"
+ },
+ {
+ "icon": "question",
+ "title": "Does this testing effort require specific application testing rights?",
+ "description": "",
+ "fieldName": "details.testingDetails.requiresTestingRights",
+ "type": "radio-group",
+ "options": [
+ {
+ "value": "yes",
+ "label": "Yes"
+ },
+ {
+ "value": "no",
+ "label": "No"
+ }
+ ]
+ },
+ {
+ "title": "Specific application testing rights",
+ "fieldName": "details.testingDetails.testingRights",
+ "type": "textbox",
+ "condition": "details.testingDetails.requiresTestingRights == 'yes'"
+ }
+ ]
+ },
+ {
+ "id": "questions",
+ "required": true,
+ "hideTitle": true,
+ "title": "Questions",
+ "description": "",
+ "type": "questions",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "What is the desired load of concurrent users on the system?",
+ "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": false,
+ "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": false,
+ "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"
+ },
+ {
+ "id": "files",
+ "required": false,
+ "title": "Files",
+ "description": "",
+ "type": "files",
+ "fieldName": "attachments",
+ "hiddenOnCreation": true
+ }
+ ]
+ }
+ ]
+ },
+ "phases": {
+ "1-qa-and-bug-fixes": {
+ "name": "QA/Testing",
+ "products": [
+ {
+ "productKey": "qa-iteration",
+ "id": 30
+ }
+ ],
+ "duration": 24
+ }
+ },
+ "form": null,
+ "planConfig": null,
+ "priceConfig": null,
+ "disabled": false,
+ "hidden": true,
+ "deletedAt": null,
+ "createdAt": "2019-04-25T10:12:44.000Z",
+ "updatedAt": "2020-01-22T13:22:41.242Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 84,
+ "name": "App",
+ "key": "app_new_addons",
+ "category": "app",
+ "subCategory": null,
+ "metadata": {},
+ "icon": "product-app-app",
+ "question": "app_new_addons",
+ "info": "app_new_addons",
+ "aliases": [
+ "app_new_addons",
+ "app-new-addons"
+ ],
+ "scope": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "App Definition",
+ "required": true,
+ "description": "",
+ "wizard": {
+ "enabled": true,
+ "previousStepVisibility": "readOnly"
+ },
+ "subSections": [
+ {
+ "id": "projectName",
+ "type": "project-name",
+ "title": "Project Name",
+ "description": ""
+ },
+ {
+ "id": "questions",
+ "type": "questions",
+ "title": "Requirements",
+ "description": "",
+ "wizard": {
+ "enabled": true,
+ "previousStepVisibility": "readOnly"
+ },
+ "questions": [
+ {
+ "icon": "question",
+ "title": "What do you need?",
+ "description": "",
+ "fieldName": "details.appDefinition.deliverables",
+ "type": "checkbox-group",
+ "layout": "horizontal",
+ "options": [
+ {
+ "value": "design",
+ "label": "Design"
+ },
+ {
+ "value": "dev-qa",
+ "label": "Development"
+ },
+ {
+ "value": "qa",
+ "label": "QA"
+ },
+ {
+ "value": "deployment",
+ "label": "Deployment"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "What is the goal of your designs?",
+ "description": "",
+ "fieldName": "details.appDefinition.designGoal",
+ "type": "radio-group",
+ "condition": "( details.appDefinition.deliverables contains 'design' )",
+ "options": [
+ {
+ "value": "concept-designs",
+ "label": "I just need concept designs"
+ },
+ {
+ "value": "comprehensive-designs",
+ "label": "I need a comprehensive design solution that can be used for development."
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "No problem! We can get you high-quality concept designs within a week. Do you need designs faster than this?",
+ "description": "",
+ "fieldName": "details.appDefinition.quickTurnaround",
+ "type": "radio-group",
+ "condition": "( details.appDefinition.designGoal == 'concept-designs' )",
+ "options": [
+ {
+ "value": "under-3-days",
+ "label": "Yes, I need designs ASAP"
+ },
+ {
+ "value": "under-6-days",
+ "label": "A week works for me!"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Where should your app work?",
+ "description": "Select maximum 2 types of platforms 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.targetDevices",
+ "type": "checkbox-group",
+ "affectsQuickQuote": true,
+ "layout": "horizontal",
+ "condition": "( details.appDefinition.deliverables contains 'design' || details.appDefinition.deliverables contains 'dev-qa' )",
+ "options": [
+ {
+ "label": "Mobile",
+ "value": "mobile",
+ "icon": "icon-tech-outline-mobile",
+ "desc": "Mobiles",
+ "quoteUp": 1000,
+ "minTimeUp": 5,
+ "maxTimeUp": 7
+ },
+ {
+ "label": "Tablet",
+ "value": "tablet",
+ "icon": "icon-tech-outline-tablet",
+ "desc": "Tablets",
+ "quoteUp": 1000,
+ "minTimeUp": 5,
+ "maxTimeUp": 7
+ },
+ {
+ "label": "Desktop",
+ "value": "desktop",
+ "icon": "icon-tech-outline-desktop",
+ "desc": "Desktop Apps",
+ "iconOptions": {
+ "fill": "#000000"
+ }
+ },
+ {
+ "label": "Web Browser",
+ "value": "web-browser",
+ "icon": "icon-tech-outline-desktop",
+ "desc": "Web browser apps",
+ "iconOptions": {
+ "fill": "#000000"
+ }
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "What type of platform do you need?",
+ "description": "Select maximum 2 types of platforms 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.mobilePlatforms",
+ "type": "checkbox-group",
+ "affectsQuickQuote": true,
+ "condition": "( details.appDefinition.targetDevices contains 'mobile' ) || ( details.appDefinition.targetDevices contains 'tablet' )",
+ "options": [
+ {
+ "label": "iOS",
+ "value": "ios",
+ "icon": "icon-tech-outline-mobile",
+ "desc": "iOS Apps",
+ "quoteUp": 1000,
+ "minTimeUp": 5,
+ "maxTimeUp": 7
+ },
+ {
+ "label": "Android",
+ "value": "android",
+ "icon": "icon-tech-outline-mobile",
+ "desc": "Android Apps",
+ "iconOptions": {
+ "fill": "#000000"
+ },
+ "quoteUp": 800,
+ "minTimeUp": 4,
+ "maxTimeUp": 6
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Does your app need to be Native or Hybrid?",
+ "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.nativeHybrid",
+ "type": "tiled-radio-group",
+ "condition": "( details.appDefinition.mobilePlatforms contains 'ios' ) || ( details.appDefinition.mobilePlatforms contains 'android' )",
+ "options": [
+ {
+ "title": "Native",
+ "value": "native",
+ "icon": "icon-tech-outline-mobile",
+ "desc": "Native Apps"
+ },
+ {
+ "title": "Hybrid",
+ "value": "hybrid",
+ "icon": "icon-tech-outline-mobile",
+ "desc": "Hybrid Apps",
+ "iconOptions": {
+ "fill": "#000000"
+ }
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Should your web app be progressive or responsive?",
+ "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.progressiveResponsive",
+ "type": "radio-group",
+ "condition": "( details.appDefinition.targetDevices contains 'web-browser' )",
+ "options": [
+ {
+ "label": "Progressive",
+ "value": "progressive"
+ },
+ {
+ "label": "Responsive",
+ "value": "responsive"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "required": true,
+ "validationError": "Please let us know the number of screens required?",
+ "title": "How many screens do you need?",
+ "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",
+ "condition": "( (details.appDefinition.deliverables contains 'design') || (details.appDefinition.deliverables contains 'dev-qa') ) && (!( !( details.appDefinition.targetDevices hasLength 1 ) && details.appDefinition.progressiveResponsive == 'responsive'))",
+ "options": [
+ {
+ "value": "2-4",
+ "title": "screens (small)",
+ "icon": "NumberText",
+ "iconOptions": {
+ "number": "2-4"
+ },
+ "desc": "7-10 days",
+ "price": 6451
+ },
+ {
+ "value": "5-8",
+ "title": "screens (medium)",
+ "icon": "NumberText",
+ "iconOptions": {
+ "number": "5-8"
+ },
+ "desc": "10-12 days",
+ "price": 8559
+ },
+ {
+ "value": "9-15",
+ "title": "screens (large)",
+ "icon": "NumberText",
+ "iconOptions": {
+ "number": "9-15"
+ },
+ "desc": "10-12 days",
+ "price": 6359,
+ "condition": "!(details.appDefinition.quickTurnaround == 'under-3-days')"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "What type of QA you need?",
+ "description": "",
+ "fieldName": "details.appDefinition.qaType",
+ "type": "radio-group",
+ "layout": "vertical",
+ "condition": "( details.appDefinition.deliverables contains 'qa' && details.appDefinition.deliverables hasLength 1 )",
+ "options": [
+ {
+ "value": "real-world-unstructured",
+ "label": "Real World Unstructured Testing"
+ },
+ {
+ "value": "real-world-structured",
+ "label": "Real World Structured Testing"
+ },
+ {
+ "value": "mobility-testing",
+ "label": "Mobility Testing"
+ },
+ {
+ "value": "automated-testing",
+ "label": "Automation Testing"
+ },
+ {
+ "value": "performance-testing",
+ "label": "Performance Testing"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "What do you need us to help you with?",
+ "description": "",
+ "fieldName": "details.appDefinition.structuredTestWorkType",
+ "type": "checkbox-group",
+ "layout": "horizontal",
+ "condition": "details.appDefinition.qaType == 'real-world-structured'",
+ "options": [
+ {
+ "value": "test-case-creation",
+ "label": "Test Case Creation"
+ },
+ {
+ "value": "test-case-execution",
+ "label": "Test Case Execution"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "How many test cases do you need?",
+ "description": "",
+ "fieldName": "details.appDefinition.structuredTestsCount",
+ "type": "radio-group",
+ "condition": "details.appDefinition.qaType == 'real-world-structured'",
+ "options": [
+ {
+ "value": "upto-50",
+ "label": "Up to 50 test cases",
+ "condition": "(details.appDefinition.structuredTestWorkType contains 'test-case-creation' && details.appDefinition.structuredTestWorkType hasLength 1)"
+ },
+ {
+ "value": "upto-100",
+ "label": "Up to 100 test cases",
+ "condition": "(details.appDefinition.structuredTestWorkType contains 'test-case-creation' && details.appDefinition.structuredTestWorkType hasLength 1)"
+ },
+ {
+ "value": "upto-150",
+ "label": "Up to 150 test cases",
+ "condition": "(details.appDefinition.structuredTestWorkType contains 'test-case-execution')"
+ },
+ {
+ "value": "upto-300",
+ "label": "Up to 300 test cases",
+ "condition": "(details.appDefinition.structuredTestWorkType contains 'test-case-execution')"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "How many screens need to be tested?",
+ "description": "",
+ "fieldName": "details.appDefinition.unstructuredTestsScreenCount",
+ "type": "radio-group",
+ "condition": "details.appDefinition.qaType == 'real-world-unstructured'",
+ "options": [
+ {
+ "value": "upto-10",
+ "label": "Up to 10"
+ },
+ {
+ "value": "upto-30",
+ "label": "Up to 30"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "How many test cases do you need?",
+ "description": "",
+ "fieldName": "details.appDefinition.automatedTestsCount",
+ "type": "radio-group",
+ "condition": "details.appDefinition.qaType == 'automated-testing'",
+ "options": [
+ {
+ "value": "upto-50",
+ "label": "Up to 50 test cases"
+ },
+ {
+ "value": "upto-100",
+ "label": "Up to 100 test cases"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Where do you need your app deployed?",
+ "description": "",
+ "fieldName": "details.appDefinition.deploymentTargets",
+ "type": "checkbox-group",
+ "layout": "horizontal",
+ "condition": "details.appDefinition.deliverables contains 'deployment'",
+ "options": [
+ {
+ "value": "apple-app-store",
+ "label": "Apple App Store",
+ "condition": "( details.appDefinition.mobilePlatforms contains 'ios' )"
+ },
+ {
+ "value": "google-play",
+ "label": "Google Play",
+ "condition": "( details.appDefinition.mobilePlatforms contains 'android' )"
+ },
+ {
+ "value": "internal-production-environment",
+ "label": "Internal Production Environment",
+ "condition": "( details.appDefinition.targetDevices contains 'desktop' || details.appDefinition.targetDevices contains 'web-browser' )"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Do you want a Community Architect to oversee your project?",
+ "description": "",
+ "fieldName": "details.appDefinition.caNeeded",
+ "type": "radio-group",
+ "condition": "!( !( details.appDefinition.targetDevices hasLength 1 ) && details.appDefinition.progressiveResponsive == 'responsive')",
+ "options": [
+ {
+ "value": "yes",
+ "label": "Yes (Managed)"
+ },
+ {
+ "value": "no",
+ "label": "No (Unmanaged)"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "customeQuote",
+ "hideTitle": true,
+ "fieldName": "details.appDefinition.message",
+ "title": "Message",
+ "description": "Wow! We love your idea. This is a very complex, technical solution. We will take a look at your project and contact you regarding next steps and a quote.",
+ "type": "message",
+ "condition": "( !( details.appDefinition.targetDevices hasLength 1 ) && details.appDefinition.progressiveResponsive == 'responsive')"
+ }
+ ]
+ }
+ ],
+ "wizard": {
+ "enabled": true,
+ "previousStepVisibility": "readOnly"
+ },
+ "basePriceEstimate": 5000,
+ "baseTimeEstimateMin": 7,
+ "baseTimeEstimateMax": 10
+ },
+ "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
+ }
+ },
+ "form": null,
+ "planConfig": null,
+ "priceConfig": null,
+ "disabled": false,
+ "hidden": true,
+ "deletedAt": null,
+ "createdAt": "2019-01-23T02:26:24.000Z",
+ "updatedAt": "2020-01-22T13:22:41.243Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 68,
+ "name": "App",
+ "key": "app_new",
+ "category": "app",
+ "subCategory": null,
+ "metadata": {},
+ "icon": "product-app-app",
+ "question": "What do you need to develop ?",
+ "info": "Build apps for mobile, web, or wearables",
+ "aliases": [
+ "app-new",
+ "app_new"
+ ],
+ "scope": {
+ "sections": [
+ {
+ "id": "project-basic-details",
+ "title": "Basic Details",
+ "wizard": {
+ "enabled": true,
+ "previousStepVisibility": "readOnly"
+ },
+ "subSections": [
+ {
+ "id": "projectName",
+ "type": "project-name",
+ "title": "Project Name",
+ "description": ""
+ },
+ {
+ "title": "App details",
+ "type": "questions",
+ "wizard": {
+ "enabled": true,
+ "previousStepVisibility": "readOnly"
+ },
+ "questions": [
+ {
+ "icon": "question",
+ "title": "What do you need?",
+ "summaryTitle": "Work needed",
+ "description": "",
+ "fieldName": "details.appDefinition.deliverables",
+ "type": "checkbox-group",
+ "options": [
+ {
+ "value": "design",
+ "label": "Design",
+ "summaryLabel": "Design"
+ },
+ {
+ "value": "dev-qa",
+ "label": "App Development",
+ "summaryLabel": "Development"
+ },
+ {
+ "value": "qa",
+ "label": "QA, Fixes & Enhancements",
+ "summaryLabel": "QA"
+ },
+ {
+ "value": "deployment",
+ "label": "Deployment"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "What is the goal of your designs?",
+ "description": "",
+ "fieldName": "details.appDefinition.designGoal",
+ "type": "radio-group",
+ "options": [
+ {
+ "value": "concept-designs",
+ "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-designs",
+ "label": "Comprehensive design for development",
+ "summaryLabel": "Comprehensive design",
+ "description": "Our designers will create all the design deliverables for your app, including app icons, design specifications, and design assets."
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "No problem! We can get you high-quality concept designs within a week. Do you need designs faster than this?",
+ "description": "",
+ "fieldName": "details.appDefinition.quickTurnaround",
+ "type": "radio-group",
+ "condition": "( details.appDefinition.designGoal == 'concept-designs' )",
+ "options": [
+ {
+ "value": "under-3-days",
+ "label": "Yes, I need designs ASAP",
+ "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.",
+ "minTimeUp": 0,
+ "maxTimeUp": 0
+ },
+ {
+ "value": "under-6-days",
+ "label": "A week works for me!",
+ "summaryLabel": "7 days",
+ "description": "Topcoder will create agency-quality design variants for your app within 7 days.",
+ "minTimeUp": 3,
+ "maxTimeUp": 3
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Where should your app work?",
+ "description": "Select maximum 2 types of platforms 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.targetDevices",
+ "type": "checkbox-group",
+ "layout": "horizontal",
+ "condition": "( (details.appDefinition.deliverables contains 'design') || (details.appDefinition.deliverables contains 'dev-qa') )",
+ "options": [
+ {
+ "label": "Mobile",
+ "value": "mobile",
+ "description": "Your app would work in all mobile devices. Our most requested option."
+ },
+ {
+ "label": "Tablet",
+ "value": "tablet",
+ "description": "Your app would be optimized for the larger form-factor of a tablet device."
+ },
+ {
+ "label": "Desktop",
+ "value": "desktop",
+ "description": "We will deliver a native desktop app, working under the selected desktop OS."
+ },
+ {
+ "label": "Web Browser",
+ "value": "web-browser",
+ "description": "Your app would be accessed via any web browser on desktop and mobile devices alike."
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "What type of platform do you need?",
+ "description": "Select maximum 2 types of platforms 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.mobilePlatforms",
+ "type": "checkbox-group",
+ "affectsQuickQuote": true,
+ "condition": "( details.appDefinition.targetDevices contains 'mobile' ) || ( details.appDefinition.targetDevices contains 'tablet' )",
+ "options": [
+ {
+ "label": "iOS",
+ "value": "ios",
+ "description": "Your app would work on iOS phones. We will develop it using Objective-C and SWIFT"
+ },
+ {
+ "label": "Android",
+ "value": "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": "Does your app need to be Native or Hybrid?",
+ "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.nativeHybrid",
+ "type": "radio-group",
+ "condition": "( details.appDefinition.mobilePlatforms contains 'ios' ) || ( details.appDefinition.mobilePlatforms contains 'android' )",
+ "options": [
+ {
+ "label": "Native",
+ "value": "native",
+ "description": "A native mobile app is a smartphone application that is coded in a specific programming language, such as Objective C for iOS or Java for Android operating systems."
+ },
+ {
+ "label": "Hybrid",
+ "value": "hybrid",
+ "description": "A hybrid application (hybrid app) is one that combines elements of both native and Web applications."
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Should your web app be progressive or responsive?",
+ "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.progressiveResponsive",
+ "type": "radio-group",
+ "layout": "horizontal",
+ "condition": "( details.appDefinition.targetDevices contains 'web-browser' )",
+ "options": [
+ {
+ "label": "Progressive",
+ "value": "progressive",
+ "description": "Your app would be optimized for all devices desktops."
+ },
+ {
+ "label": "Responsive",
+ "value": "responsive",
+ "description": "Your app would be optimized for all devices from mobile phones to large desktops."
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "How many screens do you need?",
+ "description": "This is the most popular project size that can get a medium-sized app designed in a breeze",
+ "fieldName": "details.appDefinition.numberScreens",
+ "type": "radio-group",
+ "layout": "horizontal",
+ "condition": "( (details.appDefinition.deliverables contains 'design') || (details.appDefinition.deliverables contains 'dev-qa') ) && (!( !( details.appDefinition.targetDevices hasLength 1 ) && details.appDefinition.progressiveResponsive == 'responsive'))",
+ "options": [
+ {
+ "value": "2-4",
+ "label": "2-4 screens",
+ "description": "Suitable for small apps with 2-4 main features",
+ "disabled": false
+ },
+ {
+ "value": "5-8",
+ "label": "5-8 screens",
+ "description": "Suitable for medium apps with 5-8 main features",
+ "disabled": false
+ },
+ {
+ "value": "9-15",
+ "label": "9-15 screens",
+ "description": "Suitable for larger apps with 9-15 main features",
+ "disabled": false
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "What type of QA you need?",
+ "description": "",
+ "fieldName": "details.appDefinition.qaType",
+ "type": "radio-group",
+ "layout": "vertical",
+ "condition": "( details.appDefinition.deliverables contains 'qa' && details.appDefinition.deliverables hasLength 1 )",
+ "options": [
+ {
+ "value": "real-world-unstructured",
+ "label": "Real World Unstructured Testing"
+ },
+ {
+ "value": "real-world-structured",
+ "label": "Real World Structured Testing"
+ },
+ {
+ "value": "mobility-testing",
+ "label": "Mobility Testing"
+ },
+ {
+ "value": "automated-testing",
+ "label": "Automation Testing"
+ },
+ {
+ "value": "performance-testing",
+ "label": "Performance Testing"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "What do you need us to help you with?",
+ "description": "",
+ "fieldName": "details.appDefinition.structuredTestWorkType",
+ "type": "checkbox-group",
+ "layout": "horizontal",
+ "condition": "details.appDefinition.qaType == 'real-world-structured'",
+ "options": [
+ {
+ "value": "test-case-creation",
+ "label": "Test Case Creation"
+ },
+ {
+ "value": "test-case-execution",
+ "label": "Test Case Execution"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "How many test cases do you need?",
+ "description": "",
+ "fieldName": "details.appDefinition.structuredTestsCount",
+ "type": "radio-group",
+ "condition": "details.appDefinition.qaType == 'real-world-structured'",
+ "options": [
+ {
+ "value": "upto-50",
+ "label": "Up to 50 test cases",
+ "condition": "(details.appDefinition.structuredTestWorkType contains 'test-case-creation' && details.appDefinition.structuredTestWorkType hasLength 1)"
+ },
+ {
+ "value": "upto-100",
+ "label": "Up to 100 test cases",
+ "condition": "(details.appDefinition.structuredTestWorkType contains 'test-case-creation' && details.appDefinition.structuredTestWorkType hasLength 1)"
+ },
+ {
+ "value": "upto-150",
+ "label": "Up to 150 test cases",
+ "condition": "(details.appDefinition.structuredTestWorkType contains 'test-case-execution')"
+ },
+ {
+ "value": "upto-300",
+ "label": "Up to 300 test cases",
+ "condition": "(details.appDefinition.structuredTestWorkType contains 'test-case-execution')"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "How many screens need to be tested?",
+ "description": "",
+ "fieldName": "details.appDefinition.unstructuredTestsScreenCount",
+ "type": "radio-group",
+ "condition": "details.appDefinition.qaType == 'real-world-unstructured'",
+ "options": [
+ {
+ "value": "upto-10",
+ "label": "Up to 10"
+ },
+ {
+ "value": "upto-30",
+ "label": "Up to 30"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "How many test cases do you need?",
+ "description": "",
+ "fieldName": "details.appDefinition.automatedTestsCount",
+ "type": "radio-group",
+ "condition": "details.appDefinition.qaType == 'automated-testing'",
+ "options": [
+ {
+ "value": "upto-50",
+ "label": "Up to 50 test cases"
+ },
+ {
+ "value": "upto-100",
+ "label": "Up to 100 test cases"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Where do you need your app deployed?",
+ "description": "",
+ "fieldName": "details.appDefinition.deploymentTargets",
+ "type": "checkbox-group",
+ "layout": "horizontal",
+ "condition": "details.appDefinition.deliverables contains 'deployment'",
+ "options": [
+ {
+ "value": "apple-app-store",
+ "label": "Apple App Store",
+ "condition": "( (details.appDefinition.deliverables hasLength 1) || (details.appDefinition.mobilePlatforms contains 'ios') )"
+ },
+ {
+ "value": "google-play",
+ "label": "Google Play",
+ "condition": "( (details.appDefinition.deliverables hasLength 1) || (details.appDefinition.mobilePlatforms contains 'android') )"
+ },
+ {
+ "value": "internal-production-environment",
+ "label": "Internal Production Environment",
+ "condition": "( (details.appDefinition.deliverables hasLength 1) || (details.appDefinition.targetDevices contains 'desktop') || (details.appDefinition.targetDevices contains 'web-browser') )"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Do you want a Community Architect to oversee your project?",
+ "description": "",
+ "fieldName": "details.appDefinition.caNeeded",
+ "type": "radio-group",
+ "condition": "!( !( details.appDefinition.targetDevices hasLength 1 ) && details.appDefinition.progressiveResponsive == 'responsive')",
+ "options": [
+ {
+ "value": "yes",
+ "label": "Yes (Managed)",
+ "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."
+ },
+ {
+ "value": "no",
+ "label": "No (Unmanaged)",
+ "summaryLabel": "No",
+ "description": "You will have to take technical decisions and discuss requirements with our project managers."
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "customeQuote",
+ "hideTitle": true,
+ "fieldName": "details.appDefinition.message",
+ "title": "Message",
+ "description": "Wow! We love your idea. This is a very complex, technical solution. We will take a look at your project and contact you regarding next steps and a quote.",
+ "type": "message",
+ "condition": "( (!( details.appDefinition.targetDevices hasLength 1 )) && details.appDefinition.progressiveResponsive == 'responsive')"
+ },
+ {
+ "id": "message",
+ "hideTitle": true,
+ "fieldName": "details.appDefinition.message",
+ "title": "Message",
+ "description": "If you are done with requirements for your projects please review and continue to create project.",
+ "type": "message"
+ }
+ ]
+ }
+ ],
+ "wizard": {
+ "enabled": true,
+ "previousStepVisibility": "readOnly"
+ },
+ "basePriceEstimate": 21000,
+ "baseTimeEstimateMin": 3,
+ "baseTimeEstimateMax": 6,
+ "priceConfig": {
+ "( ONLY_DEV_OR_QA_DELIVERABLE && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_DESKTOP || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_SMALL && CA_NOT_NEEDED)": {
+ "price": 1651,
+ "minTime": 35,
+ "maxTime": 35
+ },
+ "( ONLY_DEV_OR_QA_DELIVERABLE && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_DESKTOP || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && CA_NOT_NEEDED)": {
+ "price": 6718,
+ "minTime": 40,
+ "maxTime": 40
+ },
+ "( ONLY_DEV_OR_QA_DELIVERABLE && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_DESKTOP || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_LARGE && CA_NOT_NEEDED)": {
+ "price": 4068,
+ "minTime": 45,
+ "maxTime": 45
+ },
+ "( ONLY_DEV_OR_QA_DELIVERABLE && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_DESKTOP || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_SMALL && CA_NEEDED)": {
+ "price": 3039,
+ "minTime": 35,
+ "maxTime": 35
+ },
+ "( ONLY_DEV_OR_QA_DELIVERABLE && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_DESKTOP || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && CA_NEEDED)": {
+ "price": 8501,
+ "minTime": 40,
+ "maxTime": 40
+ },
+ "( ONLY_DEV_OR_QA_DELIVERABLE && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_DESKTOP || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_LARGE && CA_NEEDED)": {
+ "price": 2715,
+ "minTime": 45,
+ "maxTime": 45
+ },
+ "( ONLY_DEV_OR_QA_DELIVERABLE && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_SMALL && CA_NOT_NEEDED )": {
+ "price": 9512,
+ "minTime": 35,
+ "maxTime": 35
+ },
+ "( ONLY_DEV_OR_QA_DELIVERABLE && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && CA_NOT_NEEDED )": {
+ "price": 8481,
+ "minTime": 40,
+ "maxTime": 40
+ },
+ "( ONLY_DEV_OR_QA_DELIVERABLE && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_LARGE && CA_NOT_NEEDED )": {
+ "price": 7329,
+ "minTime": 45,
+ "maxTime": 45
+ },
+ "( ONLY_DEV_OR_QA_DELIVERABLE && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_SMALL && CA_NEEDED )": {
+ "price": 6133,
+ "minTime": 35,
+ "maxTime": 35
+ },
+ "( ONLY_DEV_OR_QA_DELIVERABLE && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && CA_NEEDED )": {
+ "price": 2476,
+ "minTime": 40,
+ "maxTime": 40
+ },
+ "( ONLY_DEV_OR_QA_DELIVERABLE && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_LARGE && CA_NEEDED )": {
+ "price": 1982,
+ "minTime": 45,
+ "maxTime": 45
+ },
+ "( ONLY_DEV_OR_QA_DELIVERABLE && ONE_TARGET_DEVICE && ONLY_ONE_OS_RESPONSIVE && SCREENS_COUNT_SMALL && CA_NOT_NEEDED )": {
+ "price": 10013,
+ "minTime": 40,
+ "maxTime": 40
+ },
+ "( ONLY_DEV_OR_QA_DELIVERABLE && ONE_TARGET_DEVICE && ONLY_ONE_OS_RESPONSIVE && SCREENS_COUNT_MEDIUM && CA_NOT_NEEDED )": {
+ "price": 5192,
+ "minTime": 45,
+ "maxTime": 45
+ },
+ "( ONLY_DEV_OR_QA_DELIVERABLE && ONE_TARGET_DEVICE && ONLY_ONE_OS_RESPONSIVE && SCREENS_COUNT_LARGE && CA_NOT_NEEDED )": {
+ "price": 6133,
+ "minTime": 50,
+ "maxTime": 50
+ },
+ "( ONLY_DEV_OR_QA_DELIVERABLE && ONE_TARGET_DEVICE && ONLY_ONE_OS_RESPONSIVE && SCREENS_COUNT_SMALL && CA_NEEDED )": {
+ "price": 8391,
+ "minTime": 40,
+ "maxTime": 40
+ },
+ "( ONLY_DEV_OR_QA_DELIVERABLE && ONE_TARGET_DEVICE && ONLY_ONE_OS_RESPONSIVE && SCREENS_COUNT_MEDIUM && CA_NEEDED )": {
+ "price": 3900,
+ "minTime": 45,
+ "maxTime": 45
+ },
+ "( ONLY_DEV_OR_QA_DELIVERABLE && ONE_TARGET_DEVICE && ONLY_ONE_OS_RESPONSIVE && SCREENS_COUNT_LARGE && CA_NEEDED )": {
+ "price": 4337,
+ "minTime": 50,
+ "maxTime": 50
+ },
+ "( ONLY_DEPLOY_DELIVERABLE && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "price": 155,
+ "minTime": 10,
+ "maxTime": 10
+ },
+ "( ONLY_DEPLOY_DELIVERABLE && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "price": 7631,
+ "minTime": 10,
+ "maxTime": 10
+ },
+ "( ONLY_DEPLOY_DELIVERABLE && HAS_INTERNAL_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "price": 3500,
+ "minTime": 3,
+ "maxTime": 3
+ },
+ "( ONLY_DEPLOY_DELIVERABLE && HAS_INTERNAL_DEPLOYMENT && CA_NEEDED )": {
+ "price": 4806,
+ "minTime": 3,
+ "maxTime": 3
+ },
+ "( ONLY_DEPLOY_DELIVERABLE && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "price": 8880,
+ "minTime": 13,
+ "maxTime": 13
+ },
+ "( ONLY_DEPLOY_DELIVERABLE && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "price": 6689,
+ "minTime": 13,
+ "maxTime": 13
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && ONE_TARGET_DEVICE && ONLY_ONE_OS_RESPONSIVE && SCREENS_COUNT_SMALL && CA_NOT_NEEDED )": {
+ "price": 2789,
+ "minTime": 49,
+ "maxTime": 49
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && ONE_TARGET_DEVICE && ONLY_ONE_OS_RESPONSIVE && SCREENS_COUNT_MEDIUM && CA_NOT_NEEDED )": {
+ "price": 9189,
+ "minTime": 57,
+ "maxTime": 57
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && ONE_TARGET_DEVICE && ONLY_ONE_OS_RESPONSIVE && SCREENS_COUNT_LARGE && CA_NOT_NEEDED )": {
+ "price": 6247,
+ "minTime": 62,
+ "maxTime": 62
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && ONE_TARGET_DEVICE && ONLY_ONE_OS_RESPONSIVE && SCREENS_COUNT_SMALL && CA_NEEDED )": {
+ "price": 3805,
+ "minTime": 49,
+ "maxTime": 49
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && ONE_TARGET_DEVICE && ONLY_ONE_OS_RESPONSIVE && SCREENS_COUNT_MEDIUM && CA_NEEDED )": {
+ "price": 1670,
+ "minTime": 57,
+ "maxTime": 57
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && ONE_TARGET_DEVICE && ONLY_ONE_OS_RESPONSIVE && SCREENS_COUNT_LARGE && CA_NEEDED )": {
+ "price": 4847,
+ "minTime": 62,
+ "maxTime": 62
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && ONLY_ONE_OS_RESPONSIVE && HAS_INTERNAL_DEPLOYMENT && SCREENS_COUNT_SMALL && CA_NOT_NEEDED )": {
+ "price": 9448,
+ "minTime": 52,
+ "maxTime": 52
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && ONLY_ONE_OS_RESPONSIVE && HAS_INTERNAL_DEPLOYMENT && SCREENS_COUNT_MEDIUM && CA_NOT_NEEDED )": {
+ "price": 8253,
+ "minTime": 60,
+ "maxTime": 60
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && ONLY_ONE_OS_RESPONSIVE && HAS_INTERNAL_DEPLOYMENT && SCREENS_COUNT_LARGE && CA_NOT_NEEDED )": {
+ "price": 3360,
+ "minTime": 65,
+ "maxTime": 65
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && ONLY_ONE_OS_RESPONSIVE && HAS_INTERNAL_DEPLOYMENT && SCREENS_COUNT_SMALL && CA_NEEDED )": {
+ "price": 6613,
+ "minTime": 52,
+ "maxTime": 52
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && ONLY_ONE_OS_RESPONSIVE && HAS_INTERNAL_DEPLOYMENT && SCREENS_COUNT_MEDIUM && CA_NEEDED )": {
+ "price": 4503,
+ "minTime": 60,
+ "maxTime": 60
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && ONLY_ONE_OS_RESPONSIVE && HAS_INTERNAL_DEPLOYMENT && SCREENS_COUNT_LARGE && CA_NEEDED )": {
+ "price": 8186,
+ "minTime": 65,
+ "maxTime": 65
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE || ONLY_ONE_OS_DESKTOP) && SCREENS_COUNT_SMALL && CA_NOT_NEEDED )": {
+ "price": 3242,
+ "minTime": 44,
+ "maxTime": 44
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE || ONLY_ONE_OS_DESKTOP) && SCREENS_COUNT_MEDIUM && CA_NOT_NEEDED )": {
+ "price": 2218,
+ "minTime": 52,
+ "maxTime": 52
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE || ONLY_ONE_OS_DESKTOP) && SCREENS_COUNT_LARGE && CA_NOT_NEEDED )": {
+ "price": 8138,
+ "minTime": 57,
+ "maxTime": 57
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE || ONLY_ONE_OS_DESKTOP) && SCREENS_COUNT_SMALL && CA_NEEDED )": {
+ "price": 1861,
+ "minTime": 44,
+ "maxTime": 44
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE || ONLY_ONE_OS_DESKTOP) && SCREENS_COUNT_MEDIUM && CA_NEEDED )": {
+ "price": 5973,
+ "minTime": 52,
+ "maxTime": 52
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE || ONLY_ONE_OS_DESKTOP) && SCREENS_COUNT_LARGE && CA_NEEDED )": {
+ "price": 5516,
+ "minTime": 57,
+ "maxTime": 57
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_SMALL && CA_NOT_NEEDED )": {
+ "price": 7187,
+ "minTime": 49,
+ "maxTime": 49
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && CA_NOT_NEEDED )": {
+ "price": 1490,
+ "minTime": 62,
+ "maxTime": 62
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_LARGE && CA_NOT_NEEDED )": {
+ "price": 2083,
+ "minTime": 67,
+ "maxTime": 67
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_SMALL && CA_NEEDED )": {
+ "price": 5969,
+ "minTime": 49,
+ "maxTime": 49
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && CA_NEEDED )": {
+ "price": 9686,
+ "minTime": 62,
+ "maxTime": 62
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_LARGE && CA_NEEDED )": {
+ "price": 4823,
+ "minTime": 67,
+ "maxTime": 67
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_SMALL && CA_NOT_NEEDED )": {
+ "price": 7490,
+ "minTime": 49,
+ "maxTime": 49
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && CA_NOT_NEEDED )": {
+ "price": 7134,
+ "minTime": 62,
+ "maxTime": 62
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_LARGE && CA_NOT_NEEDED )": {
+ "price": 2016,
+ "minTime": 67,
+ "maxTime": 67
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_SMALL && CA_NEEDED )": {
+ "price": 10052,
+ "minTime": 49,
+ "maxTime": 49
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && CA_NEEDED )": {
+ "price": 318,
+ "minTime": 62,
+ "maxTime": 62
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_LARGE && CA_NEEDED )": {
+ "price": 3304,
+ "minTime": 67,
+ "maxTime": 67
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && THREE_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_SMALL && CA_NOT_NEEDED )": {
+ "price": 7577,
+ "minTime": 54,
+ "maxTime": 54
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && THREE_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && CA_NOT_NEEDED )": {
+ "price": 4228,
+ "minTime": 65,
+ "maxTime": 65
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && THREE_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_LARGE && CA_NOT_NEEDED )": {
+ "price": 2000,
+ "minTime": 70,
+ "maxTime": 70
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && THREE_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_SMALL && CA_NEEDED )": {
+ "price": 1406,
+ "minTime": 54,
+ "maxTime": 54
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && THREE_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && CA_NEEDED )": {
+ "price": 2046,
+ "minTime": 65,
+ "maxTime": 65
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && THREE_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_LARGE && CA_NEEDED )": {
+ "price": 1338,
+ "minTime": 70,
+ "maxTime": 70
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_SMALL && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "price": 2341,
+ "minTime": 54,
+ "maxTime": 54
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "price": 8994,
+ "minTime": 62,
+ "maxTime": 62
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_LARGE && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "price": 5964,
+ "minTime": 67,
+ "maxTime": 67
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_SMALL && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "price": 3767,
+ "minTime": 54,
+ "maxTime": 54
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "price": 3385,
+ "minTime": 62,
+ "maxTime": 62
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_LARGE && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "price": 3371,
+ "minTime": 67,
+ "maxTime": 67
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE || ONLY_ONE_OS_DESKTOP) && SCREENS_COUNT_SMALL && HAS_INTERNAL_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "price": 7935,
+ "minTime": 47,
+ "maxTime": 47
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE || ONLY_ONE_OS_DESKTOP) && SCREENS_COUNT_MEDIUM && HAS_INTERNAL_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "price": 4431,
+ "minTime": 55,
+ "maxTime": 55
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE || ONLY_ONE_OS_DESKTOP) && SCREENS_COUNT_LARGE && HAS_INTERNAL_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "price": 1464,
+ "minTime": 60,
+ "maxTime": 60
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE || ONLY_ONE_OS_DESKTOP) && SCREENS_COUNT_SMALL && HAS_INTERNAL_DEPLOYMENT && CA_NEEDED )": {
+ "price": 6547,
+ "minTime": 47,
+ "maxTime": 47
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE || ONLY_ONE_OS_DESKTOP) && SCREENS_COUNT_MEDIUM && HAS_INTERNAL_DEPLOYMENT && CA_NEEDED )": {
+ "price": 9089,
+ "minTime": 55,
+ "maxTime": 55
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE || ONLY_ONE_OS_DESKTOP) && SCREENS_COUNT_LARGE && HAS_INTERNAL_DEPLOYMENT && CA_NEEDED )": {
+ "price": 6668,
+ "minTime": 60,
+ "maxTime": 60
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_SMALL && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "price": 1712,
+ "minTime": 54,
+ "maxTime": 54
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "price": 5891,
+ "minTime": 62,
+ "maxTime": 62
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_LARGE && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "price": 118,
+ "minTime": 67,
+ "maxTime": 67
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_SMALL && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "price": 1492,
+ "minTime": 54,
+ "maxTime": 54
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "price": 3460,
+ "minTime": 62,
+ "maxTime": 62
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_LARGE && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "price": 9336,
+ "minTime": 67,
+ "maxTime": 67
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_SMALL && HAS_INTERNAL_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "price": 3730,
+ "minTime": 57,
+ "maxTime": 57
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && HAS_INTERNAL_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "price": 4684,
+ "minTime": 75,
+ "maxTime": 75
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_LARGE && HAS_INTERNAL_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "price": 4530,
+ "minTime": 80,
+ "maxTime": 80
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_SMALL && HAS_INTERNAL_DEPLOYMENT && CA_NEEDED )": {
+ "price": 4896,
+ "minTime": 57,
+ "maxTime": 57
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && HAS_INTERNAL_DEPLOYMENT && CA_NEEDED )": {
+ "price": 2821,
+ "minTime": 75,
+ "maxTime": 75
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_LARGE && HAS_INTERNAL_DEPLOYMENT && CA_NEEDED )": {
+ "price": 6881,
+ "minTime": 80,
+ "maxTime": 80
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_SMALL && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "price": 3080,
+ "minTime": 67,
+ "maxTime": 67
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "price": 6889,
+ "minTime": 75,
+ "maxTime": 75
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_LARGE && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "price": 594,
+ "minTime": 80,
+ "maxTime": 80
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_SMALL && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "price": 8167,
+ "minTime": 67,
+ "maxTime": 67
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "price": 5218,
+ "minTime": 75,
+ "maxTime": 75
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_LARGE && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "price": 245,
+ "minTime": 80,
+ "maxTime": 80
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_SMALL && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "price": 606,
+ "minTime": 59,
+ "maxTime": 59
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "price": 7139,
+ "minTime": 72,
+ "maxTime": 72
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_LARGE && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "price": 5672,
+ "minTime": 77,
+ "maxTime": 77
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_SMALL && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "price": 8122,
+ "minTime": 59,
+ "maxTime": 59
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "price": 5834,
+ "minTime": 72,
+ "maxTime": 72
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_LARGE && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "price": 244,
+ "minTime": 77,
+ "maxTime": 77
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_SMALL && HAS_INTERNAL_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "price": 4751,
+ "minTime": 52,
+ "maxTime": 52
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && HAS_INTERNAL_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "price": 7764,
+ "minTime": 65,
+ "maxTime": 65
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_LARGE && HAS_INTERNAL_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "price": 5623,
+ "minTime": 70,
+ "maxTime": 70
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_SMALL && HAS_INTERNAL_DEPLOYMENT && CA_NEEDED )": {
+ "price": 3553,
+ "minTime": 52,
+ "maxTime": 52
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && HAS_INTERNAL_DEPLOYMENT && CA_NEEDED )": {
+ "price": 7999,
+ "minTime": 65,
+ "maxTime": 65
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_LARGE && HAS_INTERNAL_DEPLOYMENT && CA_NEEDED )": {
+ "price": 3462,
+ "minTime": 70,
+ "maxTime": 70
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_SMALL && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "price": 6572,
+ "minTime": 59,
+ "maxTime": 59
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "price": 3803,
+ "minTime": 72,
+ "maxTime": 72
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_LARGE && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "price": 5842,
+ "minTime": 77,
+ "maxTime": 77
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_SMALL && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "price": 10059,
+ "minTime": 59,
+ "maxTime": 59
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "price": 1916,
+ "minTime": 72,
+ "maxTime": 72
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_LARGE && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "price": 1864,
+ "minTime": 77,
+ "maxTime": 77
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_SMALL && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "price": 240,
+ "minTime": 64,
+ "maxTime": 64
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "price": 287,
+ "minTime": 75,
+ "maxTime": 75
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_LARGE && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "price": 423,
+ "minTime": 80,
+ "maxTime": 80
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_SMALL && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "price": 6602,
+ "minTime": 64,
+ "maxTime": 64
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "price": 7711,
+ "minTime": 75,
+ "maxTime": 75
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_LARGE && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "price": 433,
+ "minTime": 80,
+ "maxTime": 80
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_SMALL && HAS_INTERNAL_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "price": 3273,
+ "minTime": 62,
+ "maxTime": 62
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && HAS_INTERNAL_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "price": 9638,
+ "minTime": 75,
+ "maxTime": 75
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_LARGE && HAS_INTERNAL_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "price": 2498,
+ "minTime": 80,
+ "maxTime": 80
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_SMALL && HAS_INTERNAL_DEPLOYMENT && CA_NEEDED )": {
+ "price": 9088,
+ "minTime": 62,
+ "maxTime": 62
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && HAS_INTERNAL_DEPLOYMENT && CA_NEEDED )": {
+ "price": 6935,
+ "minTime": 75,
+ "maxTime": 75
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_LARGE && HAS_INTERNAL_DEPLOYMENT && CA_NEEDED )": {
+ "price": 2634,
+ "minTime": 80,
+ "maxTime": 80
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_SMALL && HAS_INTERNAL_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "price": 1846,
+ "minTime": 67,
+ "maxTime": 67
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && HAS_INTERNAL_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "price": 2244,
+ "minTime": 78,
+ "maxTime": 78
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_LARGE && HAS_INTERNAL_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "price": 4870,
+ "minTime": 83,
+ "maxTime": 83
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_SMALL && HAS_INTERNAL_DEPLOYMENT && CA_NEEDED )": {
+ "price": 7582,
+ "minTime": 67,
+ "maxTime": 67
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && HAS_INTERNAL_DEPLOYMENT && CA_NEEDED )": {
+ "price": 4809,
+ "minTime": 78,
+ "maxTime": 78
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_LARGE && HAS_INTERNAL_DEPLOYMENT && CA_NEEDED )": {
+ "price": 5206,
+ "minTime": 83,
+ "maxTime": 83
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_SMALL && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "price": 1982,
+ "minTime": 72,
+ "maxTime": 72
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "price": 4790,
+ "minTime": 85,
+ "maxTime": 85
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_LARGE && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "price": 5911,
+ "minTime": 90,
+ "maxTime": 90
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_SMALL && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "price": 7764,
+ "minTime": 72,
+ "maxTime": 72
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "price": 9247,
+ "minTime": 85,
+ "maxTime": 85
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_LARGE && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "price": 4116,
+ "minTime": 90,
+ "maxTime": 90
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_SMALL && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "price": 7217,
+ "minTime": 77,
+ "maxTime": 77
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "price": 5632,
+ "minTime": 88,
+ "maxTime": 88
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_LARGE && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "price": 5710,
+ "minTime": 93,
+ "maxTime": 93
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_SMALL && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "price": 6301,
+ "minTime": 77,
+ "maxTime": 77
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "price": 293,
+ "minTime": 88,
+ "maxTime": 88
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_LARGE && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "price": 1300,
+ "minTime": 93,
+ "maxTime": 93
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && ONLY_TWO_OS_MOBILE_DESKTOP && SCREENS_COUNT_SMALL && HAS_INTERNAL_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "price": 7838,
+ "minTime": 52,
+ "maxTime": 52
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && ONLY_TWO_OS_MOBILE_DESKTOP && SCREENS_COUNT_MEDIUM && HAS_INTERNAL_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "price": 8150,
+ "minTime": 65,
+ "maxTime": 65
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && ONLY_TWO_OS_MOBILE_DESKTOP && SCREENS_COUNT_LARGE && HAS_INTERNAL_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "price": 6636,
+ "minTime": 70,
+ "maxTime": 70
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && ONLY_TWO_OS_MOBILE_DESKTOP && SCREENS_COUNT_SMALL && HAS_INTERNAL_DEPLOYMENT && CA_NEEDED )": {
+ "price": 7398,
+ "minTime": 52,
+ "maxTime": 52
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && ONLY_TWO_OS_MOBILE_DESKTOP && SCREENS_COUNT_MEDIUM && HAS_INTERNAL_DEPLOYMENT && CA_NEEDED )": {
+ "price": 3414,
+ "minTime": 65,
+ "maxTime": 65
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && ONLY_TWO_OS_MOBILE_DESKTOP && SCREENS_COUNT_LARGE && HAS_INTERNAL_DEPLOYMENT && CA_NEEDED )": {
+ "price": 1638,
+ "minTime": 70,
+ "maxTime": 70
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && ONLY_TWO_OS_MOBILE_DESKTOP && SCREENS_COUNT_SMALL && HAS_INTERNAL_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "price": 424,
+ "minTime": 57,
+ "maxTime": 57
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && ONLY_TWO_OS_MOBILE_DESKTOP && SCREENS_COUNT_MEDIUM && HAS_INTERNAL_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "price": 9058,
+ "minTime": 68,
+ "maxTime": 68
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && ONLY_TWO_OS_MOBILE_DESKTOP && SCREENS_COUNT_LARGE && HAS_INTERNAL_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "price": 8314,
+ "minTime": 73,
+ "maxTime": 73
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && ONLY_TWO_OS_MOBILE_DESKTOP && SCREENS_COUNT_SMALL && HAS_INTERNAL_DEPLOYMENT && CA_NEEDED )": {
+ "price": 6920,
+ "minTime": 57,
+ "maxTime": 57
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && ONLY_TWO_OS_MOBILE_DESKTOP && SCREENS_COUNT_MEDIUM && HAS_INTERNAL_DEPLOYMENT && CA_NEEDED )": {
+ "price": 10030,
+ "minTime": 68,
+ "maxTime": 68
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && ONLY_TWO_OS_MOBILE_DESKTOP && SCREENS_COUNT_LARGE && HAS_INTERNAL_DEPLOYMENT && CA_NEEDED )": {
+ "price": 1656,
+ "minTime": 73,
+ "maxTime": 73
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && ONLY_TWO_OS_MOBILE_DESKTOP && SCREENS_COUNT_SMALL && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "price": 6595,
+ "minTime": 62,
+ "maxTime": 62
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && ONLY_TWO_OS_MOBILE_DESKTOP && SCREENS_COUNT_MEDIUM && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "price": 8990,
+ "minTime": 75,
+ "maxTime": 75
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && ONLY_TWO_OS_MOBILE_DESKTOP && SCREENS_COUNT_LARGE && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "price": 645,
+ "minTime": 80,
+ "maxTime": 80
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && ONLY_TWO_OS_MOBILE_DESKTOP && SCREENS_COUNT_SMALL && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "price": 4326,
+ "minTime": 62,
+ "maxTime": 62
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && ONLY_TWO_OS_MOBILE_DESKTOP && SCREENS_COUNT_MEDIUM && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "price": 5055,
+ "minTime": 75,
+ "maxTime": 75
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && ONLY_TWO_OS_MOBILE_DESKTOP && SCREENS_COUNT_LARGE && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "price": 7344,
+ "minTime": 80,
+ "maxTime": 80
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && ONLY_TWO_OS_MOBILE_DESKTOP && SCREENS_COUNT_SMALL && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "price": 4810,
+ "minTime": 67,
+ "maxTime": 67
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && ONLY_TWO_OS_MOBILE_DESKTOP && SCREENS_COUNT_MEDIUM && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "price": 307,
+ "minTime": 78,
+ "maxTime": 78
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && ONLY_TWO_OS_MOBILE_DESKTOP && SCREENS_COUNT_LARGE && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "price": 8129,
+ "minTime": 83,
+ "maxTime": 83
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && ONLY_TWO_OS_MOBILE_DESKTOP && SCREENS_COUNT_SMALL && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "price": 6328,
+ "minTime": 67,
+ "maxTime": 67
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && ONLY_TWO_OS_MOBILE_DESKTOP && SCREENS_COUNT_MEDIUM && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "price": 6296,
+ "minTime": 78,
+ "maxTime": 78
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && ONLY_TWO_OS_MOBILE_DESKTOP && SCREENS_COUNT_LARGE && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "price": 481,
+ "minTime": 83,
+ "maxTime": 83
+ },
+ "( ONLY_DESIGN_DELIVERABLE && CONCEPT_DESIGN && QUICK_DESIGN_3_Days && CA_NOT_NEEDED )": {
+ "price": 9918,
+ "minTime": 3,
+ "maxTime": 3
+ },
+ "( ONLY_DESIGN_DELIVERABLE && CONCEPT_DESIGN && QUICK_DESIGN_3_Days && CA_NEEDED )": {
+ "price": 2081,
+ "minTime": 3,
+ "maxTime": 3
+ },
+ "( ONLY_DESIGN_DELIVERABLE && CONCEPT_DESIGN && QUICK_DESIGN_6_Days && CA_NOT_NEEDED )": {
+ "price": 4184,
+ "minTime": 6,
+ "maxTime": 6
+ },
+ "( ONLY_DESIGN_DELIVERABLE && CONCEPT_DESIGN && QUICK_DESIGN_6_Days && CA_NEEDED )": {
+ "price": 5151,
+ "minTime": 6,
+ "maxTime": 6
+ },
+ "( ONLY_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN && ONE_TARGET_DEVICE && SCREENS_COUNT_SMALL && CA_NOT_NEEDED )": {
+ "price": 3369,
+ "minTime": 9,
+ "maxTime": 9
+ },
+ "( ONLY_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN && ONE_TARGET_DEVICE && SCREENS_COUNT_MEDIUM && CA_NOT_NEEDED )": {
+ "price": 7231,
+ "minTime": 12,
+ "maxTime": 12
+ },
+ "( ONLY_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN && ONE_TARGET_DEVICE && SCREENS_COUNT_LARGE && CA_NOT_NEEDED )": {
+ "price": 879,
+ "minTime": 12,
+ "maxTime": 12
+ },
+ "( ONLY_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN && TWO_TARGET_DEVICES && SCREENS_COUNT_SMALL && CA_NOT_NEEDED )": {
+ "price": 1374,
+ "minTime": 14,
+ "maxTime": 14
+ },
+ "( ONLY_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN && TWO_TARGET_DEVICES && SCREENS_COUNT_MEDIUM && CA_NOT_NEEDED )": {
+ "price": 683,
+ "minTime": 22,
+ "maxTime": 22
+ },
+ "( ONLY_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN && TWO_TARGET_DEVICES && SCREENS_COUNT_LARGE && CA_NOT_NEEDED )": {
+ "price": 8833,
+ "minTime": 22,
+ "maxTime": 22
+ },
+ "( ONLY_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN && ONE_TARGET_DEVICE && SCREENS_COUNT_SMALL && CA_NEEDED )": {
+ "price": 8060,
+ "minTime": 9,
+ "maxTime": 9
+ },
+ "( ONLY_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN && ONE_TARGET_DEVICE && SCREENS_COUNT_MEDIUM && CA_NEEDED )": {
+ "price": 8077,
+ "minTime": 12,
+ "maxTime": 12
+ },
+ "( ONLY_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN && ONE_TARGET_DEVICE && SCREENS_COUNT_LARGE && CA_NEEDED )": {
+ "price": 2769,
+ "minTime": 12,
+ "maxTime": 12
+ },
+ "( ONLY_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN && TWO_TARGET_DEVICES && SCREENS_COUNT_SMALL && CA_NEEDED )": {
+ "price": 8040,
+ "minTime": 14,
+ "maxTime": 14
+ },
+ "( ONLY_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN && TWO_TARGET_DEVICES && SCREENS_COUNT_MEDIUM && CA_NEEDED )": {
+ "price": 5645,
+ "minTime": 22,
+ "maxTime": 22
+ },
+ "( ONLY_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN && TWO_TARGET_DEVICES && SCREENS_COUNT_LARGE && CA_NEEDED )": {
+ "price": 4983,
+ "minTime": 22,
+ "maxTime": 22
+ },
+ "( ONLY_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN && THREE_TARGET_DEVICES && SCREENS_COUNT_SMALL && CA_NOT_NEEDED )": {
+ "price": 3020,
+ "minTime": 19,
+ "maxTime": 19
+ },
+ "( ONLY_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN && THREE_TARGET_DEVICES && SCREENS_COUNT_MEDIUM && CA_NOT_NEEDED )": {
+ "price": 8652,
+ "minTime": 25,
+ "maxTime": 25
+ },
+ "( ONLY_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN && THREE_TARGET_DEVICES && SCREENS_COUNT_LARGE && CA_NOT_NEEDED )": {
+ "price": 4631,
+ "minTime": 25,
+ "maxTime": 25
+ },
+ "( ONLY_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN && THREE_TARGET_DEVICES && SCREENS_COUNT_SMALL && CA_NEEDED )": {
+ "price": 5163,
+ "minTime": 19,
+ "maxTime": 19
+ },
+ "( ONLY_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN && THREE_TARGET_DEVICES && SCREENS_COUNT_MEDIUM && CA_NEEDED )": {
+ "price": 3512,
+ "minTime": 25,
+ "maxTime": 25
+ },
+ "( ONLY_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN && THREE_TARGET_DEVICES && SCREENS_COUNT_LARGE && CA_NEEDED )": {
+ "price": 1076,
+ "minTime": 25,
+ "maxTime": 25
+ }
+ },
+ "preparedConditions": {
+ "ONLY_DESIGN_DELIVERABLE": "(details.appDefinition.deliverables contains 'design') && (details.appDefinition.deliverables hasLength 1)",
+ "ONLY_DEV_DELIVERABLE": "(details.appDefinition.deliverables contains 'dev-qa') && (details.appDefinition.deliverables hasLength 1)",
+ "ONLY_DEV_OR_QA_DELIVERABLE": "(details.appDefinition.deliverables contains 'dev-qa') && ((details.appDefinition.deliverables hasLength 1) || ((details.appDefinition.deliverables hasLength 2) && (details.appDefinition.deliverables contains 'qa') ))",
+ "ONLY_DEPLOY_DELIVERABLE": "(details.appDefinition.deliverables contains 'deployment') && (details.appDefinition.deliverables hasLength 1)",
+ "ONLY_DESIGN_DEV_DELIVERABLE": "(details.appDefinition.deliverables contains 'design') && (details.appDefinition.deliverables contains 'dev-qa') && (details.appDefinition.deliverables hasLength 2)",
+ "ONLY_DESIGN_DEV_OR_QA_DELIVERABLE": "(details.appDefinition.deliverables contains 'design') && (details.appDefinition.deliverables contains 'dev-qa') && ((details.appDefinition.deliverables hasLength 2) || ((details.appDefinition.deliverables hasLength 3) && (details.appDefinition.deliverables contains 'qa')))",
+ "DESIGN_DEV_DEPLOY_DELIVERABLE": "(details.appDefinition.deliverables contains 'design') && (details.appDefinition.deliverables contains 'dev-qa') && (details.appDefinition.deliverables contains 'deployment') && (details.appDefinition.deliverables hasLength 3)",
+ "DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE": "(details.appDefinition.deliverables contains 'design') && (details.appDefinition.deliverables contains 'dev-qa') && (details.appDefinition.deliverables contains 'deployment') && ((details.appDefinition.deliverables hasLength 3) || ((details.appDefinition.deliverables hasLength 4) && (details.appDefinition.deliverables contains 'qa')))",
+ "ONLY_ONE_OS_MOBILE": "((details.appDefinition.mobilePlatforms hasLength 1) && (!(details.appDefinition.targetDevices contains 'desktop')) && (!(details.appDefinition.targetDevices contains 'web-browser')))",
+ "ONLY_ONE_OS_DESKTOP": "((details.appDefinition.targetDevices contains 'desktop') && (details.appDefinition.targetDevices hasLength 1))",
+ "ONLY_ONE_OS_PROGRESSIVE": "((details.appDefinition.targetDevices contains 'web-browser') && (details.appDefinition.targetDevices hasLength 1) && (details.appDefinition.progressiveResponsive == 'progressive'))",
+ "CA_NOT_NEEDED": "(details.appDefinition.caNeeded != 'yes')",
+ "CA_NEEDED": "(details.appDefinition.caNeeded == 'yes')",
+ "SCREENS_COUNT_SMALL": "(details.appDefinition.numberScreens == '2-4')",
+ "SCREENS_COUNT_MEDIUM": "(details.appDefinition.numberScreens == '5-8')",
+ "SCREENS_COUNT_LARGE": "(details.appDefinition.numberScreens == '9-15')",
+ "ONLY_TWO_OS_BOTH_MOBILES": "((details.appDefinition.mobilePlatforms hasLength 2) && (!(details.appDefinition.targetDevices contains 'desktop')) && (!(details.appDefinition.targetDevices contains 'web-browser')))",
+ "ONLY_TWO_OS_MOBILE_DESKTOP": "((details.appDefinition.mobilePlatforms hasLength 1) && (details.appDefinition.targetDevices contains 'desktop') && (!(details.appDefinition.targetDevices contains 'web-browser')))",
+ "ONLY_TWO_OS_MOBILE_PROGRESSIVE": "((details.appDefinition.mobilePlatforms hasLength 1) && (details.appDefinition.targetDevices contains 'web-browser') && (!(details.appDefinition.targetDevices contains 'desktop')) && (details.appDefinition.progressiveResponsive == 'progressive'))",
+ "COMPREHENSIVE_DESIGN": "(details.appDefinition.designGoal == 'comprehensive-designs')",
+ "HAS_MOBILE_DEPLOYMENT": "((details.appDefinition.deploymentTargets contains 'apple-app-store') || (details.appDefinition.deploymentTargets contains 'google-play'))",
+ "HAS_INTERNAL_DEPLOYMENT": "(details.appDefinition.deploymentTargets contains 'internal-production-environment')",
+ "QUICK_DESIGN_3_Days": "(details.appDefinition.quickTurnaround == 'under-3-days')",
+ "QUICK_DESIGN_6_Days": "(details.appDefinition.quickTurnaround == 'under-6-days')",
+ "ONE_TARGET_DEVICE": "(details.appDefinition.targetDevices hasLength 1)",
+ "TWO_TARGET_DEVICES": "(details.appDefinition.targetDevices hasLength 2)",
+ "THREE_TARGET_DEVICES": "(details.appDefinition.targetDevices hasLength 3)",
+ "ONLY_ONE_OS_RESPONSIVE": "((details.appDefinition.targetDevices contains 'web-browser') && (details.appDefinition.targetDevices hasLength 1) && (details.appDefinition.progressiveResponsive == 'responsive'))",
+ "CONCEPT_DESIGN": "(details.appDefinition.designGoal == 'concept-designs')"
+ }
+ },
+ "phases": {
+ "1-app-design": {
+ "name": "App Designs",
+ "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
+ }
+ },
+ "form": null,
+ "planConfig": null,
+ "priceConfig": null,
+ "disabled": false,
+ "hidden": true,
+ "deletedAt": null,
+ "createdAt": "2018-12-14T11:40:27.000Z",
+ "updatedAt": "2020-01-22T13:22:41.242Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 101,
+ "name": "QA Services",
+ "key": "qa_form",
+ "category": "scoped-solutions",
+ "subCategory": null,
+ "metadata": {},
+ "icon": "test",
+ "question": "test",
+ "info": "Test, identify and fix bugs in your software",
+ "aliases": [
+ "qa_form",
+ "qa-form"
+ ],
+ "scope": {
+ "sections": [
+ {
+ "id": "project-basic-details",
+ "title": "Basic Details",
+ "statusText": "Let's go",
+ "subSections": [
+ {
+ "type": "message",
+ "hideTitle": true,
+ "theme": "light",
+ "description": "We will ask you several questions in order to determine your project’s scope. All estimates are based on our 15 years of experience and thousands of projects. Final prices will be determined after our team completes a final scope review."
+ },
+ {
+ "title": "App details",
+ "type": "questions",
+ "questions": [
+ {
+ "fieldName": "name",
+ "type": "textinput",
+ "title": "What is the name of your app?",
+ "theme": "light",
+ "validationError": "Please, provide a name to your project",
+ "validations": "isRequired",
+ "required": true
+ },
+ {
+ "fieldName": "description",
+ "type": "textbox",
+ "title": "Please describe your app using 2-3 sentences",
+ "theme": "light",
+ "validationError": "Please, provide a description",
+ "required": true
+ },
+ {
+ "fieldName": "details.utm.code",
+ "type": "textinput",
+ "title": "Do you have a Reference code? (optional)",
+ "theme": "light"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "appDefinition",
+ "title": "App Definition",
+ "required": true,
+ "description": "",
+ "wizard": {
+ "enabled": true,
+ "previousStepVisibility": "write"
+ },
+ "subSections": [
+ {
+ "id": "qa-deliverable-questions",
+ "hideTitle": true,
+ "type": "questions",
+ "questions": [
+ {
+ "type": "static",
+ "hiddenOnEdit": true,
+ "content": "
{{name}}
{{description}}
"
+ },
+ {
+ "icon": "question",
+ "title": "What type of QA you need?",
+ "summaryTitle": "QA Service",
+ "description": "",
+ "fieldName": "details.appDefinition.qaType",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is right for me?",
+ "title": "What is right for me?",
+ "content": "
Real World Unstructured Testing doesn't use pre-defined test scripts -- this is true “in-the-wild” testing that can provide many forms of feedback on your application, from functional issues, user experience issues, user interface issues, and content issues to name a few.
Real World Structured Testing can help produce and execute structured test cases quickly.
Mobility Testing by Topcoder can target up to 5 devices using our community of QA experts.
Automation Test Suites can be created by Topcoder using tools like Selenium, starting at up to 50 test cases.
Performance Testing by Topcoder will allow you to test several key functions of your application at scale with hundreds of virtual users. Reporting will be provided with specific recommendations to address any performance issues.
"
+ },
+ "validationError": "Please, choose what do you need.",
+ "validations": "isRequired",
+ "required": true,
+ "options": [
+ {
+ "value": "real-world-unstructured",
+ "label": "Unstructured Testing",
+ "description": "Generate feedback with “in-the-wild” exploratory, functional feature testing with real users, providing feedback on compatibility, accessibility compliance, localization/language, and/or user sentiment."
+ },
+ {
+ "value": "real-world-structured",
+ "label": "Structured Testing (Test Case Creation and/or Execution)",
+ "summaryLabel": "Structured Testing",
+ "description": "Create test cases, execute established test cases, and generate feedback with real users. Great for UAT or regression testing as part of your SDLC."
+ },
+ {
+ "value": "mobility-testing",
+ "label": "Mobility Testing",
+ "description": "Execute functional or non-functional testing including device compatibility certification and competitive analysis."
+ },
+ {
+ "value": "automated-testing",
+ "label": "Automated Testing",
+ "description": "Build reusable frameworks and test scripts using open source tools to accelerate app delivery and improve ROI"
+ },
+ {
+ "value": "performance-testing",
+ "label": "Performance Testing",
+ "description": "Test responsiveness and stability of web and mobile applications under specific workloads, and identify actionable items for improvement."
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "What do you need us to help you with?",
+ "summaryTitle": "Work Required",
+ "description": "",
+ "fieldName": "details.appDefinition.structuredTestWorkType",
+ "type": "checkbox-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is right for me?",
+ "title": "What is right for me?",
+ "content": "
Test Case Creation involves generating structured test cases that can be followed during test case execution.
Test Case Execution involves executing testing against the structured test cases created by Topcoder or against structured test cases provided by the client.
"
+ },
+ "validationError": "Please, choose what do you need us to help with.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "details.appDefinition.qaType == 'real-world-structured'",
+ "options": [
+ {
+ "value": "test-case-creation",
+ "label": "Test Case Creation"
+ },
+ {
+ "value": "test-case-execution",
+ "label": "Test Case Execution"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "How many test cases do you need?",
+ "summaryTitle": "Test Case/Screen Count",
+ "description": "",
+ "fieldName": "details.appDefinition.structuredTestsCount",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What if I need more test cases/screens?",
+ "title": "What if I need more test cases/screens?",
+ "content": "
If your testing effort will require the creation or execution of more test cases/screens highlighted in our standard solutions, please indicate this in the Notes section prior to submitting your form.
"
+ },
+ "validationError": "Please, choose how many test cases you need or have.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "details.appDefinition.qaType == 'real-world-structured'",
+ "options": [
+ {
+ "value": "upto-50",
+ "label": "Up to 50 test cases",
+ "condition": "(details.appDefinition.structuredTestWorkType contains 'test-case-creation' && details.appDefinition.structuredTestWorkType hasLength 1)"
+ },
+ {
+ "value": "upto-100",
+ "label": "Up to 100 test cases",
+ "condition": "(details.appDefinition.structuredTestWorkType contains 'test-case-creation' && details.appDefinition.structuredTestWorkType hasLength 1)"
+ },
+ {
+ "value": "upto-150",
+ "label": "Up to 150 test cases",
+ "condition": "(details.appDefinition.structuredTestWorkType contains 'test-case-execution')"
+ },
+ {
+ "value": "upto-300",
+ "label": "Up to 300 test cases",
+ "condition": "(details.appDefinition.structuredTestWorkType contains 'test-case-execution')"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "How many screens need to be tested?",
+ "summaryTitle": "Test Case/Screen Count",
+ "description": "",
+ "fieldName": "details.appDefinition.unstructuredTestsScreenCount",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What if I need more test cases/screens?",
+ "title": "What if I need more test cases/screens?",
+ "content": "
If your testing effort will require the creation or execution of more test cases/screens highlighted in our standard solutions, please indicate this in the Notes section prior to submitting your form.
"
+ },
+ "validationError": "Please, choose how many test cases you need or have.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "details.appDefinition.qaType == 'real-world-unstructured'",
+ "options": [
+ {
+ "value": "upto-10",
+ "label": "Up to 10"
+ },
+ {
+ "value": "upto-30",
+ "label": "Up to 30"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "How many test cases do you need?",
+ "description": "",
+ "fieldName": "details.appDefinition.automatedTestsCount",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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 test cases you have or need.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "details.appDefinition.qaType == 'automated-testing'",
+ "options": [
+ {
+ "value": "upto-50",
+ "label": "Up to 50 test cases"
+ },
+ {
+ "value": "upto-100",
+ "label": "Up to 100 test cases"
+ }
+ ]
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ },
+ {
+ "id": "tc-services-questions",
+ "hideTitle": true,
+ "type": "questions",
+ "condition": "details.appDefinition.qaType != 'performance-testing'",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "What kind of support do you want on your project?",
+ "description": "",
+ "fieldName": "details.appDefinition.caNeeded",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is right for me?",
+ "title": "What is right for me?",
+ "content": "
Topcoder recommends including an Architect on projects where a high degree of technical complexity is anticipated, when multiple deliverables are needed, or when you are a new to Topcoder and need additional help navigating the crowdsourcing process. Architects will provide additional oversight to your project. The inclusion of an Architect on a project will result in a service charge.
"
+ },
+ "validationError": "Please, ley us know if you need a dedicated manager.",
+ "validations": "isRequired",
+ "required": true,
+ "options": [
+ {
+ "value": "yes",
+ "label": "Project Manager + Architect",
+ "summaryLabel": "Project Manager + Architect",
+ "description": "Project managers will work with the Community on the execution of your deliverables. An Architect will be assigned to oversee the technical requirements and complexities of your project."
+ },
+ {
+ "value": "no",
+ "label": "Project Manager",
+ "summaryLabel": "Project Manager",
+ "description": "You will partner directly with your Project Manager to align on the requirements for your project and they will work with the Community on the execution of your deliverables."
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Notes",
+ "summaryTitle": "Notes",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)",
+ "fieldName": "details.apiDefinition.notes",
+ "type": "textbox"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ },
+ {
+ "id": "files",
+ "required": false,
+ "title": "Files",
+ "description": "",
+ "type": "files",
+ "fieldName": "attachments",
+ "hiddenOnCreation": true
+ }
+ ]
+ },
+ {
+ "id": "summary-intermediate",
+ "hiddenOnEdit": true,
+ "hideFormHeader": true,
+ "nextButtonText": "Configure my project",
+ "footer": {
+ "content": ""
+ },
+ "subSections": [
+ {
+ "type": "questions",
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "static",
+ "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.
"
+ },
+ {
+ "icon": "question",
+ "title": "What type of QA you need?",
+ "summaryTitle": "QA Service",
+ "description": "",
+ "fieldName": "details.appDefinition.qaType",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is right for me?",
+ "title": "What is right for me?",
+ "content": "
Structured testing is used to deliver our Regression Testing and End-User Acceptance/Beta Testing solutions.
Unstructured testing is used to deliver our Compatibility Testing, Exploratory Testing, Accessibility Testing, Localization/Language Testing, Functional/Feature Testing, and User Sentiment Analysis solutions. Unstructured testing does not use pre-defined test scripts -- this is true “in-the-wild” testing that can provide many forms of feedback on your application.
Regression Automation test suites can be created by Topcoder using tools like Selenium.
Automation Test Suites can be created by Topcoder using tools like Selenium, starting at up to 50 test cases.
Performance Testing by Topcoder will allow you to test several key functions of your application at scale with hundreds of virtual users. Reporting will be provided with specific recommendations to address any performance issues.
Mobility Testing can target up to 5 devices using our community of QA experts.
"
+ },
+ "validationError": "Please, choose what do you need.",
+ "validations": "isRequired",
+ "required": true,
+ "options": [
+ {
+ "value": "regression-testing",
+ "label": "Regression Testing",
+ "description": "Validate business-critical workflows in a structured manner",
+ "queryParamSelectCondition": "qaType == 'regression'"
+ },
+ {
+ "value": "end-user-acceptance-testing",
+ "label": "End-User Acceptance Testing/Beta Testing ",
+ "summaryLabel": "Acceptance Testing",
+ "description": "Expand risk coverage and generate end-user feedback early in the life cycle",
+ "queryParamSelectCondition": "qaType == 'end-user-acceptance-testing'"
+ },
+ {
+ "value": "compatibility-testing",
+ "label": "Compatibility Testing",
+ "description": "Cross-browser, device testing including network, geographical coverage to assure app launch success",
+ "queryParamSelectCondition": "qaType == 'compatibility-testing'"
+ },
+ {
+ "value": "exploratory-testing",
+ "label": "Exploratory Testing",
+ "description": "Validate functionality and usability of web and mobile apps in-the-wild with real-life users",
+ "queryParamSelectCondition": "qaType == 'exploratory-testing'"
+ },
+ {
+ "value": "accessibility-testing",
+ "label": "Accessibility Testing",
+ "description": "WCAG 2.1 standards-based usability testing and verification to confirm and guide to compliance",
+ "queryParamSelectCondition": "qaType == 'accessibility-compliance'"
+ },
+ {
+ "value": "localization-testing",
+ "label": "Localization/Language Testing",
+ "description": "Validate the product (UI, Content) built for a particular culture or locale settings",
+ "queryParamSelectCondition": "qaType == 'localization-testing'"
+ },
+ {
+ "value": "functional-testing",
+ "label": "Functional/Feature Testing",
+ "description": "Testing features in an agile environment to speed-up design and execution activities",
+ "queryParamSelectCondition": "qaType == 'functional-feature-testing'"
+ },
+ {
+ "value": "sentiment-analysis",
+ "label": "User Sentiment Analysis",
+ "description": "Compare applications with competitor products in the market to derive improvement actions",
+ "queryParamSelectCondition": "qaType == 'sentiment-analysis'"
+ },
+ {
+ "value": "regression-automation",
+ "label": "Regression Automation",
+ "description": "Build reusable test scripts and frameworks using open source tools to accelerate app delivery & improve ROI",
+ "queryParamSelectCondition": "qaType == 'regression-automation'"
+ },
+ {
+ "value": "performance-testing",
+ "label": "Performance Testing",
+ "description": "Test responsiveness and stability of web and mobile applications under specific workloads",
+ "queryParamSelectCondition": "qaType == 'performance-improvement'"
+ },
+ {
+ "value": "mobile-app-certifcation",
+ "label": "Mobile App Certification",
+ "description": "Execute functional & non-functional tests including device compatibility certification & competitive analysis",
+ "queryParamSelectCondition": "qaType == 'mobile-app-certification'"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "What do you need us to help you with?",
+ "summaryTitle": "Work Required",
+ "description": "",
+ "fieldName": "details.appDefinition.structuredTestWorkType",
+ "type": "checkbox-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is right for me?",
+ "title": "What is right for me?",
+ "content": "
Test Case Creation involves generating structured test cases that can be followed during test case execution.
Test Case Execution involves executing testing against the structured test cases created by Topcoder or against structured test cases provided by the client.
"
+ },
+ "validationError": "Please, choose what do you need us to help with.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "details.appDefinition.qaType == 'regression-testing' || details.appDefinition.qaType == 'end-user-acceptance-testing'",
+ "options": [
+ {
+ "value": "test-case-creation",
+ "label": "Test Case Creation",
+ "description": "Involves generating structured test cases that can be followed during test case execution.",
+ "queryParamSelectCondition": "workType == 'all'"
+ },
+ {
+ "value": "test-case-execution",
+ "label": "Test Case Execution",
+ "description": "Involves executing testing against the structured test cases created by Topcoder or against structured test cases provided by the client.",
+ "queryParamSelectCondition": "workType == 'all'"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Will test coverage require more than 150 test cases?",
+ "description": "",
+ "fieldName": "details.appDefinition.needAdditionalStructTests",
+ "type": "radio-group",
+ "theme": "light",
+ "condition": "details.appDefinition.qaType == 'regression-testing' || details.appDefinition.qaType == 'end-user-acceptance-testing'",
+ "validationError": "Please, ley us know if you need more than 150 test cases.",
+ "validations": "isRequired",
+ "required": true,
+ "options": [
+ {
+ "value": "yes",
+ "label": "Yes"
+ },
+ {
+ "value": "no",
+ "label": "No"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "How many test cases do you anticipate requiring?",
+ "summaryTitle": "Test Case/Screen Count",
+ "description": "",
+ "fieldName": "details.appDefinition.structuredTestsCount",
+ "type": "radio-group",
+ "theme": "light",
+ "validationError": "Please, choose how many test cases you need or have.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "details.appDefinition.needAdditionalStructTests == 'yes'",
+ "options": [
+ {
+ "value": "150-300",
+ "label": "150-300"
+ },
+ {
+ "value": "300-450",
+ "label": "300-450"
+ },
+ {
+ "value": "450-600",
+ "label": "450-600"
+ },
+ {
+ "value": "600+",
+ "label": "600+"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Will test coverage require more than 10 screens?",
+ "description": "",
+ "fieldName": "details.appDefinition.needAdditionalUnstructScreens",
+ "type": "radio-group",
+ "theme": "light",
+ "condition": "details.appDefinition.qaType == 'compatibility-testing' || details.appDefinition.qaType == 'exploratory-testing' || details.appDefinition.qaType == 'accessibility-testing' || details.appDefinition.qaType == 'localization-testing' || details.appDefinition.qaType == 'functional-testing' || details.appDefinition.qaType == 'sentiment-analysis'",
+ "validationError": "Please, ley us know if you need more than 10 screens.",
+ "validations": "isRequired",
+ "required": true,
+ "options": [
+ {
+ "value": "yes",
+ "label": "Yes"
+ },
+ {
+ "value": "no",
+ "label": "No"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "How many screens require testing?",
+ "summaryTitle": "Screen Count",
+ "description": "",
+ "fieldName": "details.appDefinition.unstructuredTestsScreenCount",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What if I need more test cases/screens?",
+ "title": "What if I need more test cases/screens?",
+ "content": "
If your testing effort will require the creation or execution of more test cases/screens highlighted in our standard solutions, please indicate this in the Notes section prior to submitting your form.
"
+ },
+ "validationError": "Please, choose how many screens you need testing for.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "details.appDefinition.needAdditionalUnstructScreens == 'yes'",
+ "options": [
+ {
+ "value": "10-20",
+ "label": "10-20"
+ },
+ {
+ "value": "20-30",
+ "label": "20-30"
+ },
+ {
+ "value": "30-40",
+ "label": "30-40"
+ },
+ {
+ "value": "40-50",
+ "label": "40-50"
+ },
+ {
+ "value": "50+",
+ "label": "50+"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Will test coverage require more than 50 test cases?",
+ "description": "",
+ "fieldName": "details.appDefinition.needAdditionalRegressionTests",
+ "type": "radio-group",
+ "theme": "light",
+ "condition": "details.appDefinition.qaType == 'regression-automation'",
+ "validationError": "Please, ley us know if you need more than 50 test cases.",
+ "validations": "isRequired",
+ "required": true,
+ "options": [
+ {
+ "value": "yes",
+ "label": "Yes"
+ },
+ {
+ "value": "no",
+ "label": "No"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "How many test cases do you need?",
+ "description": "",
+ "fieldName": "details.appDefinition.regressionAutomationTestCount",
+ "type": "radio-group",
+ "theme": "light",
+ "validationError": "Please, choose how many test cases you have or need.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "details.appDefinition.needAdditionalRegressionTests == 'yes'",
+ "options": [
+ {
+ "value": "50-100",
+ "label": "50-100"
+ },
+ {
+ "value": "100-150",
+ "label": "100-150"
+ },
+ {
+ "value": "150-200",
+ "label": "150-200"
+ },
+ {
+ "value": "200-250",
+ "label": "200-250"
+ },
+ {
+ "value": "250-300",
+ "label": "250-300"
+ },
+ {
+ "value": "300+",
+ "label": "300+"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "What is the desired system load of concurrent users?",
+ "description": "",
+ "fieldName": "details.appDefinition.concurrentUsers",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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 test cases you have or need.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "details.appDefinition.qaType == 'performance-improvement'",
+ "options": [
+ {
+ "value": "upto-500",
+ "label": "Up to 500"
+ },
+ {
+ "value": "500-1000",
+ "label": "500-1000"
+ },
+ {
+ "value": "1000-5000",
+ "label": "1000-5000"
+ },
+ {
+ "value": "above-5000",
+ "label": "5000+"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Approximately how many business processes/transactions are included in this performance testing?",
+ "description": "",
+ "fieldName": "details.appDefinition.processTransactionCount",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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 test cases you have or need.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "details.appDefinition.qaType == 'performance-improvement'",
+ "options": [
+ {
+ "value": "upto-5",
+ "label": "Up to 5"
+ },
+ {
+ "value": "5-10",
+ "label": "5-10"
+ },
+ {
+ "value": "10-25",
+ "label": "10-25"
+ },
+ {
+ "value": "above-25",
+ "label": "25+"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Briefly describe the application we will be testing.",
+ "summaryTitle": "Description",
+ "description": "",
+ "fieldName": "description",
+ "type": "textbox"
+ },
+ {
+ "icon": "question",
+ "title": "Notes",
+ "summaryTitle": "Notes",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)",
+ "fieldName": "details.appDefinition.notes",
+ "type": "textbox"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ },
+ {
+ "id": "tc-services-questions",
+ "hideTitle": true,
+ "type": "questions",
+ "condition": "details.appDefinition.qaType != 'performance-testing'",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "What kind of support do you want on your project?",
+ "description": "",
+ "fieldName": "details.appDefinition.caNeeded",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is right for me?",
+ "title": "What is right for me?",
+ "content": "
All Topcoder projects engage a Challenge Manager, a member of the community who helps to set-up and execute work with the community.
Topcoder recommends including a Project Manager on projects where a high degree of technical complexity is anticipated, when multiple deliverables are needed, or when you are a new to Topcoder and need additional help navigating the crowdsourcing process. A Project Manager will provide additional oversight to your project.
"
+ },
+ "validationError": "Please, ley us know if you need a dedicated manager.",
+ "validations": "isRequired",
+ "required": true,
+ "options": [
+ {
+ "value": "yes",
+ "label": "Project Manager + Challenge Manager",
+ "summaryLabel": "Project Manager + Challenge Manager",
+ "description": "Challenge managers will work with the Community on the execution of your deliverables. A Project Manager will be assigned to oversee the technical requirements and complexities of your project."
+ },
+ {
+ "value": "no",
+ "label": "Challenge Manager only",
+ "summaryLabel": "Challenge Manager only",
+ "description": "You will partner directly with your Challenge Manager to align on the requirements for your project and they will work with the Community on the execution of your deliverables."
+ }
+ ]
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ },
+ {
+ "id": "files",
+ "required": false,
+ "title": "Files",
+ "description": "",
+ "type": "files",
+ "fieldName": "attachments",
+ "hiddenOnCreation": true
+ }
+ ]
+ },
+ {
+ "id": "summary-intermediate",
+ "hiddenOnEdit": true,
+ "hideFormHeader": true,
+ "nextButtonText": "Configure my project",
+ "footer": {
+ "content": ""
+ },
+ "subSections": [
+ {
+ "type": "questions",
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "static",
+ "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.
"
+ },
+ {
+ "icon": "question",
+ "title": "What do you need?",
+ "summaryTitle": "Work needed",
+ "description": "",
+ "fieldName": "details.appDefinition.deliverables",
+ "type": "checkbox-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What work is right for me?",
+ "title": "What work is right for me?",
+ "content": "
Topcoder has design, development, and deployment solutions can be combined in a single project to help you deliver an end-to-end application.
It is important to note that all Topcoder development projects include standard quality assurance testing at no additional cost to help ensure you are getting the highest-quality application possible.
"
+ },
+ "validationError": "Please, choose what do you need.",
+ "validations": "isRequired",
+ "required": true,
+ "options": [
+ {
+ "value": "design",
+ "label": "Design",
+ "summaryLabel": "Design",
+ "description": "We will design your app experience, focusing on the major features and experiences."
+ },
+ {
+ "value": "dev-qa",
+ "label": "Development & QA",
+ "summaryLabel": "Development",
+ "description": "We will develop your app based on existing designs. Building a reliable application for you is our priority. We include standard quality assurance testing at no additional cost when doing any development."
+ },
+ {
+ "value": "deployment",
+ "label": "Deployment",
+ "description": "Our team will ensure that your code is packaged and distributed on all targeted platforms and/or in the Apple/Google app stores."
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "What is the goal of your designs?",
+ "summaryTitle": "Design goal",
+ "description": "",
+ "fieldName": "details.appDefinition.designGoal",
+ "type": "radio-group",
+ "validationError": "Please, choose you design goal.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "HAS_DESIGN_DELIVERABLE",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What should I choose?",
+ "title": "What should I choose?",
+ "content": "
Conceptual exploration
It enables you to explore UI and UX concepts for your application with industry-leading experts. This is the best choice when you are exploring ideas for a new application, but are not ready to begin development immediately. While design concepts empower you to explore different ideas, the design-deliverables are not considered production-ready as they will not contain detailed workflows for your entire application.
Production-ready designs
These are best used when you are ready to begin development on your application immediately after design-completion. These designs will include detailed workflows and options for your application.
"
+ },
+ "options": [
+ {
+ "value": "concept-designs",
+ "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.",
+ "disableCondition": "HAS_DEV_DELIVERABLE"
+ },
+ {
+ "value": "comprehensive-designs",
+ "label": "Production-ready designs",
+ "summaryLabel": "Production-ready designs",
+ "description": "Our designers will create detailed, designed workflows that can be immediately ready for development upon completion.",
+ "autoSelectCondition": "HAS_DEV_DELIVERABLE"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "How quickly do you need your conceptual designs?",
+ "description": "",
+ "summaryTitle": "Quick Turnaround",
+ "fieldName": "details.appDefinition.quickTurnaround",
+ "type": "radio-group",
+ "condition": "CONCEPT_DESIGN",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Topcoder has two backend solutions - RUX (3 Days) and Design Sprint (6 Days) - that provide customers with design concepts. The deliverables that you can expect from these two solutions are consistent, meaning that both will produce high-quality design concepts that will enable you to leverage our expert crowd in generating ideas for your application. The primary difference between these two solutions is the turnaround time. As the RUX solution has an expedited turnaround time of three days, a service charge is included in the price.
"
+ },
+ "validationError": "Please, choose your time expectations.",
+ "validations": "isRequired",
+ "required": true,
+ "options": [
+ {
+ "value": "under-3-days",
+ "label": "I want concept designs in 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."
+ },
+ {
+ "value": "under-6-days",
+ "label": "I want concept designs in 6 days.",
+ "summaryLabel": "6 days",
+ "description": "Topcoder will create agency-quality design variants for your app within 7 days."
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "target-devices-os",
+ "hideTitle": true,
+ "type": "questions",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "Where should your app work?",
+ "summaryTitle": "Devices",
+ "description": "",
+ "fieldName": "details.appDefinition.targetDevices",
+ "type": "checkbox-group",
+ "affectsQuickQuote": true,
+ "theme": "light",
+ "help": {
+ "linkTitle": "What to choose",
+ "title": "What to choose",
+ "content": "
Topcoder has the capability to create applications that are accessible as standalone applications from mobile or tablet devices, as well as applications that are accessible via a web browser from desktops, mobile or tablet devices.
"
+ },
+ "validationError": "Please, select devices",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "( HAS_DESIGN_DELIVERABLE || HAS_DEV_DELIVERABLE )",
+ "options": [
+ {
+ "label": "Mobile",
+ "value": "mobile",
+ "description": "Your app can be installed and launched on mobile devices. This is Topcoder’s most requested option."
+ },
+ {
+ "label": "Tablet",
+ "value": "tablet",
+ "description": "Your app can be used on tablet devices, with an optimized layout for tablets."
+ },
+ {
+ "label": "Web Browser",
+ "value": "web-browser",
+ "description": "Your app would be accessed via web browser on desktop, mobile and tablet devices alike."
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "What type of platform do you need?",
+ "summaryTitle": "Mobile platforms",
+ "description": "",
+ "fieldName": "details.appDefinition.mobilePlatforms",
+ "type": "checkbox-group",
+ "affectsQuickQuote": true,
+ "theme": "light",
+ "help": {
+ "linkTitle": "Which platforms to select?",
+ "title": "Which platforms to select?",
+ "content": "
Topcoder can create mobile applications for iOS, Android, or iOS and Android platforms.
"
+ },
+ "condition": "( details.appDefinition.targetDevices contains 'mobile' ) || ( details.appDefinition.targetDevices contains 'tablet' )",
+ "options": [
+ {
+ "label": "iOS",
+ "value": "ios",
+ "description": "Your app would work on iOS phones. We will develop it using Objective-C and SWIFT"
+ },
+ {
+ "label": "Android",
+ "value": "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": "Does your app need to be Native or Hybrid?",
+ "summaryTitle": "App Type",
+ "description": "",
+ "fieldName": "details.appDefinition.nativeHybrid",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "Which OS to select?",
+ "title": "Which OS to select?",
+ "content": "
Native operating systems are a SDK framework for building iOS and/or Android applications. Native applications typically have better performance if rich features such as video or audio are required.
Hybrid operating systems leverages a hybrid framework, such as Iconic, to build iOS and/or Android applications. Hybrid gives you the benefit of only having to maintain one code base for your application.
"
+ },
+ "validationError": "Please let us know the type of the app?",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "( details.appDefinition.mobilePlatforms contains 'ios' ) || ( details.appDefinition.mobilePlatforms contains 'android' )",
+ "options": [
+ {
+ "label": "Native",
+ "value": "native",
+ "description": ""
+ },
+ {
+ "label": "Hybrid",
+ "value": "hybrid",
+ "description": ""
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "How should your app work when accessed via web browser?",
+ "summaryTitle": "Web App Type",
+ "description": "",
+ "fieldName": "details.appDefinition.progressiveResponsive",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Progressive Web Applications are mobile web apps. They are built using a native framework so that it looks and functions like a native application, with rich features like GPS.
Responsive Web Applications are web apps that can be accessed from mobile, tablet, and/or desktop devices. You can choose custom layouts depending on device type.
Desktop Web Browser Applications come in one layout and are only accessed from desktop devices using common web browsers such as Chrome or Safari.
"
+ },
+ "validationError": "Please let us know the type of web app?",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "( details.appDefinition.targetDevices contains 'web-browser' )",
+ "options": [
+ {
+ "label": "Progressive Web Application for Mobile Web Browsing",
+ "value": "progressive",
+ "description": "Your web application can be accessed from all common mobile web browsers and will be built using a native mobile framework."
+ },
+ {
+ "label": "Responsive Web Application for Desktop, Tablet, and Mobile Web Browsing",
+ "value": "responsive",
+ "description": "Your web application can be accessed from all common desktop, mobile and tablet web browsers and will be optimized for all screen sizes."
+ },
+ {
+ "label": "Desktop Web Application",
+ "value": "desktop",
+ "description": "Your web application can be accessed from desktop devices on all common web browsers."
+ }
+ ]
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ },
+ {
+ "id": "app-size-questions",
+ "hideTitle": true,
+ "type": "questions",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "How many screens do you need?",
+ "summaryTitle": "Screens",
+ "description": "",
+ "fieldName": "details.appDefinition.numberScreens",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What are screens?",
+ "title": "What are screens?",
+ "content": "
Screens represent the number of unique pages within your application, which may include several features on each screen.
If you require more than 15 screens for your application, please indicate this in the Notes section of the form prior to submitting.
"
+ },
+ "validationError": "Please let us know the number of screens required?",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "( HAS_DESIGN_DELIVERABLE || HAS_DEV_DELIVERABLE ) && (!( MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP))",
+ "options": [
+ {
+ "value": "2-4",
+ "label": "2-4 screens",
+ "description": "Suitable for small apps with 2-4 main features",
+ "disabled": false
+ },
+ {
+ "value": "5-8",
+ "label": "5-8 screens",
+ "description": "Suitable for medium apps with 5-8 main features",
+ "disabled": false
+ },
+ {
+ "value": "9-15",
+ "label": "9-15 screens",
+ "description": "Suitable for larger apps with 9-15 main features",
+ "disabled": false,
+ "condition": "!QUICK_DESIGN_3_DAYS"
+ }
+ ]
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ },
+ {
+ "id": "deployment-deliverable-questions",
+ "hideTitle": true,
+ "type": "questions",
+ "condition": "HAS_DEPLOY_DELIVERABLE",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "Where do you need your app deployed?",
+ "summaryTitle": "Deployment Targets",
+ "description": "",
+ "fieldName": "details.appDefinition.deploymentTargets",
+ "type": "checkbox-group",
+ "theme": "light",
+ "validationError": "Please, choose what do you need us to help with.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "HAS_DEPLOY_DELIVERABLE",
+ "options": [
+ {
+ "value": "apple-app-store",
+ "label": "Apple App Store",
+ "condition": "( ONE_DELIVERABLE || (details.appDefinition.mobilePlatforms contains 'ios') )",
+ "description": "Apple App Store Deployment"
+ },
+ {
+ "value": "google-play",
+ "label": "Google Play",
+ "condition": "( ONE_DELIVERABLE || (details.appDefinition.mobilePlatforms contains 'android') )",
+ "description": "Google App Store Deployment"
+ },
+ {
+ "value": "internal-production-environment",
+ "label": "Internal Production Environment",
+ "condition": "( ONE_DELIVERABLE || (details.appDefinition.targetDevices contains 'desktop') || (details.appDefinition.targetDevices contains 'web-browser') )",
+ "description": "Deployment to your internal production environment"
+ }
+ ]
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ },
+ {
+ "id": "tc-services-questions",
+ "hideTitle": true,
+ "type": "questions",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "What kind of support do you want on your project?",
+ "summaryTitle": "Architect",
+ "description": "",
+ "fieldName": "details.appDefinition.caNeeded",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is right for me?",
+ "title": "What is right for me?",
+ "content": "
Topcoder recommends including an Architect on projects where a high degree of technical complexity is anticipated, when multiple deliverables are needed, or when you are a new to Topcoder and need additional help navigating the crowdsourcing process. Architects will provide additional oversight to your project. The inclusion of an Architect on a project will result in a service charge.
"
+ },
+ "validationError": "Please, ley us know if you need a dedicated manager.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "!( MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP)",
+ "options": [
+ {
+ "value": "yes",
+ "label": "Project Manager + Architect",
+ "summaryLabel": "Yes",
+ "description": "Project managers will work with the Community on the execution of your deliverables. An Architect will be assigned to oversee the technical requirements and complexities of your project."
+ },
+ {
+ "value": "no",
+ "label": "Project Manager",
+ "summaryLabel": "No",
+ "description": "You will partner directly with your Project Manager to align on the requirements for your project and they will work with the Community on the execution of your deliverables."
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Notes",
+ "summaryTitle": "Notes",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)",
+ "fieldName": "details.apiDefinition.notes",
+ "type": "textbox"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ },
+ {
+ "id": "customeQuote",
+ "hideTitle": true,
+ "fieldName": "details.appDefinition.message",
+ "title": "Message",
+ "description": "Wow! We love your idea. This is a very complex, technical solution. We will take a look at your project and contact you regarding next steps and a quote.",
+ "type": "message",
+ "condition": "MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP"
+ },
+ {
+ "id": "files",
+ "description": "",
+ "title": "Please upload any document that can help us in moving ahead with the project",
+ "type": "files",
+ "fieldName": "attachments",
+ "hiddenOnCreation": true
+ }
+ ]
+ },
+ {
+ "id": "summary-intermediate",
+ "hiddenOnEdit": true,
+ "hideFormHeader": true,
+ "nextButtonText": "Configure my project",
+ "footer": {
+ "content": ""
+ },
+ "subSections": [
+ {
+ "type": "questions",
+ "hideTitle": true,
+ "condition": "!(MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP)",
+ "questions": [
+ {
+ "type": "static",
+ "content": "
Your Project Estimate
"
+ }
+ ]
+ },
+ {
+ "type": "portal",
+ "hideTitle": true,
+ "condition": "!(MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP)",
+ "content": [
+ {
+ "sectionIndex": 1
+ }
+ ]
+ },
+ {
+ "type": "questions",
+ "hideTitle": true,
+ "condition": "!(MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP)",
+ "questions": [
+ {
+ "type": "estimation",
+ "title": "Your project timeline",
+ "deliverables": [
+ {
+ "id": "design",
+ "title": "Design",
+ "enableCondition": "HAS_DESIGN_DELIVERABLE",
+ "deliverableKey": "design"
+ },
+ {
+ "id": "development",
+ "title": "Development & QA",
+ "enableCondition": "HAS_DEV_DELIVERABLE",
+ "deliverableKey": "dev-qa"
+ },
+ {
+ "id": "deployment",
+ "title": "Deploy",
+ "enableCondition": "HAS_DEPLOY_DELIVERABLE",
+ "deliverableKey": "deployment"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "add-ons",
+ "title": "Configure my app",
+ "subSections": [
+ {
+ "hideTitle": true,
+ "type": "questions",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "Design add-ons",
+ "description": "Select any desired add-ons to your project. Please note that each add-on will incur a cost and has a delivery duration. Your project estimate will be updated to reflect the cost and duration of your base solution and add-ons. Additionally, you will receive a full breakdown on cost in the final project proposal from Topcoder.",
+ "fieldName": "details.appDefinition.addons.design",
+ "type": "add-ons",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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": "HAS_DESIGN_DELIVERABLE && !(MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP)",
+ "category": "visual_design"
+ },
+ {
+ "icon": "question",
+ "title": "Development add-ons",
+ "description": "Select any desired add-ons to your project. Please note that each add-on will incur a cost and has a delivery duration. Your project estimate will be updated to reflect the cost and duration of your base solution and add-ons. Additionally, you will receive a full breakdown on cost in the final project proposal from Topcoder.",
+ "fieldName": "details.appDefinition.addons.development",
+ "type": "add-ons",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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": "HAS_DEV_DELIVERABLE && !(MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP)",
+ "category": "development"
+ },
+ {
+ "icon": "question",
+ "title": "Delivery add-ons",
+ "description": "Select any desired add-ons to your project. Please note that each add-on will incur a cost and has a delivery duration. Your project estimate will be updated to reflect the cost and duration of your base solution and add-ons. Additionally, you will receive a full breakdown on cost in the final project proposal from Topcoder.",
+ "fieldName": "details.appDefinition.addons.delivery",
+ "type": "add-ons",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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.
"
+ },
+ {
+ "icon": "question",
+ "title": "What do you need?",
+ "summaryTitle": "Work needed",
+ "description": "",
+ "fieldName": "details.appDefinition.deliverables",
+ "type": "checkbox-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What work is right for me?",
+ "title": "What work is right for me?",
+ "content": "
Topcoder has design, development, and deployment solutions can be combined in a single project to help you deliver an end-to-end application.
It is important to note that all Topcoder development projects include standard quality assurance testing at no additional cost to help ensure you are getting the highest-quality application possible.
"
+ },
+ "validationError": "Please, choose what do you need.",
+ "validations": "isRequired",
+ "required": true,
+ "options": [
+ {
+ "value": "design",
+ "label": "Design",
+ "summaryLabel": "Design",
+ "description": "We will design your app experience, focusing on the major features and experiences."
+ },
+ {
+ "value": "dev-qa",
+ "label": "Development & QA",
+ "summaryLabel": "Development",
+ "description": "We will develop your app based on existing designs. Building a reliable application for you is our priority. We include standard quality assurance testing at no additional cost when doing any development."
+ },
+ {
+ "value": "deployment",
+ "label": "Deployment",
+ "description": "Our team will ensure that your code is packaged and distributed on all targeted platforms and/or in the Apple/Google app stores."
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "What is the goal of your designs?",
+ "summaryTitle": "Design goal",
+ "description": "",
+ "fieldName": "details.appDefinition.designGoal",
+ "type": "radio-group",
+ "validationError": "Please, choose you design goal.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "HAS_DESIGN_DELIVERABLE",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What should I choose?",
+ "title": "What should I choose?",
+ "content": "
Conceptual exploration
It enables you to explore UI and UX concepts for your application with industry-leading experts. This is the best choice when you are exploring ideas for a new application, but are not ready to begin development immediately. While design concepts empower you to explore different ideas, the design-deliverables are not considered production-ready as they will not contain detailed workflows for your entire application.
Production-ready designs
These are best used when you are ready to begin development on your application immediately after design-completion. These designs will include detailed workflows and options for your application.
"
+ },
+ "options": [
+ {
+ "value": "concept-designs",
+ "label": "Concept exploration",
+ "summaryLabel": "Concept",
+ "description": "Designers will produce up to 8 high-quality screens with different directions that would help you define your product direction, and present to stakeholders.",
+ "disableCondition": "HAS_DEV_DELIVERABLE"
+ },
+ {
+ "value": "comprehensive-designs",
+ "label": "Production-ready designs",
+ "summaryLabel": "Production-ready designs",
+ "description": "Designers will create detailed, designed workflows that can be immediately ready for development upon completion.",
+ "autoSelectCondition": "HAS_DEV_DELIVERABLE"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Will your application require more than 8 screens?",
+ "summaryTitle": "Need Add'l Screens",
+ "description": "",
+ "fieldName": "details.appDefinition.needAdditionalScreens",
+ "type": "radio-group",
+ "theme": "light",
+ "validationError": "Please let us know if you need more than 8 screens?",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "CONCEPT_DESIGN",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "yes",
+ "description": ""
+ },
+ {
+ "label": "No",
+ "value": "no",
+ "description": ""
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Will your application require more than 15 screens?",
+ "summaryTitle": "Need Add'l Screens",
+ "description": "",
+ "fieldName": "details.appDefinition.needAdditionalScreens",
+ "type": "radio-group",
+ "theme": "light",
+ "validationError": "Please let us know if you need more than 15 screens?",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "COMPREHENSIVE_DESIGN || HAS_DEV_DELIVERABLE",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "yes",
+ "description": ""
+ },
+ {
+ "label": "No",
+ "value": "no",
+ "description": ""
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "How many screens do you anticipate requiring?",
+ "description": "",
+ "summaryTitle": "Screens Count",
+ "fieldName": "details.appDefinition.screensCount",
+ "type": "radio-group",
+ "condition": "(CONCEPT_DESIGN && details.appDefinition.needAdditionalScreens == 'yes')",
+ "theme": "light",
+ "validationError": "Please, choose expected number of screens.",
+ "validations": "isRequired",
+ "required": true,
+ "options": [
+ {
+ "value": "8-16",
+ "label": "8-16 screens",
+ "summaryLabel": "8-16",
+ "description": ""
+ },
+ {
+ "value": "16-24",
+ "label": "16-24 screens",
+ "summaryLabel": "16-24",
+ "description": ""
+ },
+ {
+ "value": "24-32",
+ "label": "24-32 screens",
+ "summaryLabel": "24-32",
+ "description": ""
+ },
+ {
+ "value": "32-40",
+ "label": "32-40 screens",
+ "summaryLabel": "32-40",
+ "description": ""
+ },
+ {
+ "value": "40+",
+ "label": "40+ screens",
+ "summaryLabel": "40+",
+ "description": ""
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "How many screens do you anticipate requiring?",
+ "description": "",
+ "summaryTitle": "Screens Count",
+ "fieldName": "details.appDefinition.screensCount",
+ "type": "radio-group",
+ "condition": "((COMPREHENSIVE_DESIGN || HAS_DEV_DELIVERABLE) && details.appDefinition.needAdditionalScreens == 'yes')",
+ "theme": "light",
+ "validationError": "Please, choose expected number of screens.",
+ "validations": "isRequired",
+ "required": true,
+ "options": [
+ {
+ "value": "15-30",
+ "label": "15-30 screens",
+ "summaryLabel": "15-30",
+ "description": ""
+ },
+ {
+ "value": "30-45",
+ "label": "30-45 screens",
+ "summaryLabel": "30-45",
+ "description": ""
+ },
+ {
+ "value": "45-60",
+ "label": "45-60 screens",
+ "summaryLabel": "45-60",
+ "description": ""
+ },
+ {
+ "value": "60+",
+ "label": "60+ screens",
+ "summaryLabel": "60+",
+ "description": ""
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "target-devices-os",
+ "hideTitle": true,
+ "type": "questions",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "Where should your app work?",
+ "summaryTitle": "Devices",
+ "description": "Topcoder’s standard concept design solution provides concept designs for one device. If you require concept designs for more than one device, please select all device types required and we will send you a custom proposal.",
+ "fieldName": "details.appDefinition.targetDevices",
+ "type": "checkbox-group",
+ "affectsQuickQuote": true,
+ "theme": "light",
+ "validationError": "Please, select devices",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "CONCEPT_DESIGN",
+ "options": [
+ {
+ "label": "Mobile",
+ "value": "mobile",
+ "description": "Your app can be installed and launched on mobile devices. This is Topcoder’s most requested option."
+ },
+ {
+ "label": "Tablet",
+ "value": "tablet",
+ "description": "Your app can be used on tablet devices, with an optimized layout for tablets."
+ },
+ {
+ "label": "Web Browser",
+ "value": "web-browser",
+ "description": "Your app would be accessed via web browser on desktop, mobile and tablet devices alike."
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Where should your app work?",
+ "summaryTitle": "Devices",
+ "description": "",
+ "fieldName": "details.appDefinition.targetDevices",
+ "type": "checkbox-group",
+ "affectsQuickQuote": true,
+ "theme": "light",
+ "validationError": "Please, select devices",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "( ( HAS_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN ) || HAS_DEV_DELIVERABLE)",
+ "options": [
+ {
+ "label": "Mobile",
+ "value": "mobile",
+ "description": "Your app can be installed and launched on mobile devices. This is Topcoder’s most requested option."
+ },
+ {
+ "label": "Tablet",
+ "value": "tablet",
+ "description": "Your app can be used on tablet devices, with an optimized layout for tablets."
+ },
+ {
+ "label": "Web Browser",
+ "value": "web-browser",
+ "description": "Your app would be accessed via web browser on desktop, mobile and tablet devices alike."
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "What mobile platform is required?",
+ "summaryTitle": "Mobile platforms",
+ "description": "",
+ "fieldName": "details.appDefinition.mobilePlatforms",
+ "type": "checkbox-group",
+ "affectsQuickQuote": true,
+ "theme": "light",
+ "help": {
+ "linkTitle": "Which platforms to select?",
+ "title": "Which platforms to select?",
+ "content": "
Topcoder can create mobile applications for iOS, Android, or iOS and Android platforms.
"
+ },
+ "condition": "( (CONCEPT_DESIGN ) && ( details.appDefinition.targetDevices contains 'mobile' || details.appDefinition.targetDevices contains 'tablet' ))",
+ "options": [
+ {
+ "label": "iOS",
+ "value": "ios",
+ "description": "Your designs will be tailored to iOS mobile devices."
+ },
+ {
+ "label": "Android",
+ "value": "android",
+ "description": "Your designs will be tailored to Android mobile devices."
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "What mobile platform is required?",
+ "summaryTitle": "Mobile platforms",
+ "description": "",
+ "fieldName": "details.appDefinition.mobilePlatforms",
+ "type": "checkbox-group",
+ "affectsQuickQuote": true,
+ "theme": "light",
+ "help": {
+ "linkTitle": "Which platforms to select?",
+ "title": "Which platforms to select?",
+ "content": "
Topcoder can create mobile applications for iOS, Android, or iOS and Android platforms.
"
+ },
+ "condition": "( (COMPREHENSIVE_DESIGN || HAS_DEV_DELIVERABLE) && ( details.appDefinition.targetDevices contains 'mobile' || details.appDefinition.targetDevices contains 'tablet' ))",
+ "options": [
+ {
+ "label": "iOS",
+ "value": "ios",
+ "description": "Your app would work on iOS phones. We will develop it using Objective-C and SWIFT"
+ },
+ {
+ "label": "Android",
+ "value": "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": "Should your app use a native or hybrid framework?",
+ "summaryTitle": "App Type",
+ "description": "",
+ "fieldName": "details.appDefinition.nativeHybrid",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "Which OS to select?",
+ "title": "Which OS to select?",
+ "content": "
Native operating systems are a SDK framework for building iOS and/or Android applications. Native applications typically have better performance if rich features such as video or audio are required.
Hybrid operating systems leverages a hybrid framework, such as Iconic, to build iOS and/or Android applications. Hybrid gives you the benefit of only having to maintain one code base for your application.
"
+ },
+ "validationError": "Please let us know the type of the app?",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "( HAS_DEV_DELIVERABLE && ( details.appDefinition.mobilePlatforms contains 'ios' || details.appDefinition.mobilePlatforms contains 'android' ))",
+ "options": [
+ {
+ "label": "Native",
+ "value": "native",
+ "description": ""
+ },
+ {
+ "label": "Hybrid",
+ "value": "hybrid",
+ "description": ""
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "How should your app work in web browsers?",
+ "summaryTitle": "Web browser behaviour",
+ "description": "",
+ "fieldName": "details.appDefinition.webBrowserBehaviour",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Responsive Web Applications can be accessed from mobile, tablet, and/or desktop devices. You can choose custom layouts depending on device type.
Progressive Web Applications are built using a native framework. Benefits of a PWA include app installation, reliable launching despite network conditions, and more engaging content.
Desktop Web Browser Applications come in one layout and are only accessed from desktop devices using common web browsers such as Chrome or Safari.
"
+ },
+ "validationError": "Please let us know the type of web app?",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "( details.appDefinition.targetDevices contains 'web-browser' )",
+ "options": [
+ {
+ "label": "I want a web app that is responsive to all device types, including desktop.",
+ "value": "responsive",
+ "description": "Your responsive web app can be accessed from all common desktop, mobile and tablet web browsers and will be optimized for all screen sizes."
+ },
+ {
+ "label": "I want a web app that is installable on desktops.",
+ "value": "progressive",
+ "description": "Your progressive web app can be installed on a desktop device, ensuring faster and more reliable launching."
+ },
+ {
+ "label": "I want a web app that is designed specifically for desktop use.",
+ "value": "desktop",
+ "description": "Your desktop app can be accessed from desktop devices on all common web browsers."
+ }
+ ]
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ },
+ {
+ "id": "design-deliverable-questions",
+ "hideTitle": true,
+ "type": "questions",
+ "condition": "HAS_DESIGN_DELIVERABLE",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "Do you have required style/brand guidelines?",
+ "summaryTitle": "Brand Guidelines",
+ "description": "",
+ "fieldName": "details.appDefinition.hasBrandGuidelines",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "Where to Share Style & Branding Guidelines",
+ "title": "Where to Share Style & Branding Guidelines",
+ "content": "
Once you complete this intake form, a project will be created inside Topcoder’s Connect platform. Please share any files or links indicating your style guide or branding guidelines inside the project.
"
+ },
+ "validationError": "Please let us know if you have style/brand guildlines?",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "HAS_DESIGN_DELIVERABLE",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "yes",
+ "description": ""
+ },
+ {
+ "label": "No",
+ "value": "no",
+ "description": ""
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Are there particular fonts you want used?",
+ "summaryTitle": "Specific Fonts",
+ "description": "",
+ "fieldName": "details.appDefinition.needSpecificFonts",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "Where to Share Font Preferences",
+ "title": "Where to Share Font Preferences",
+ "content": "
Once you complete this intake form, a project will be created inside Topcoder’s Connect platform. Please share any files or links indicating your font preferences inside the project.
Once you complete this intake form, a project will be created inside Topcoder’s Connect platform. Please share any files or links indicating your color/theme preferences inside the project.
All Topcoder projects engage a Challenge Manager, a member of the community who helps to set-up and execute work with the community.
Topcoder recommends including a Project Manager on projects where a high degree of technical complexity is anticipated, when multiple deliverables are needed, or when you are a new to Topcoder and need additional help navigating the crowdsourcing process. A Project Manager will provide additional oversight to your project.
"
+ },
+ "validationError": "Please, ley us know if you need a dedicated manager.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "FALSY && !(CUSTOM_QUOTE)",
+ "options": [
+ {
+ "value": "yes",
+ "label": "Project Manager + Challenge Manager",
+ "summaryLabel": "Project Manager + Challenge Manager",
+ "description": "Challenge managers will work with the Community on the execution of your deliverables. A Project Manager will be assigned to oversee the technical requirements and complexities of your project."
+ },
+ {
+ "value": "no",
+ "label": "Challenge Manager only",
+ "summaryLabel": "Challenge Manager only",
+ "description": "You will partner directly with your Challenge Manager to align on the requirements for your project and they will work with the Community on the execution of your deliverables."
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Notes",
+ "summaryTitle": "Notes",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)",
+ "fieldName": "details.apiDefinition.notes",
+ "type": "textbox"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ },
+ {
+ "id": "files",
+ "description": "",
+ "title": "Please upload any document that can help us in moving ahead with the project",
+ "type": "files",
+ "fieldName": "attachments",
+ "condition": "!id"
+ },
+ {
+ "id": "customeQuote",
+ "hideTitle": true,
+ "fieldName": "details.appDefinition.message",
+ "title": "Message",
+ "description": "Topcoder will contact you shortly with a proposal on your project.",
+ "type": "message",
+ "condition": "(CUSTOM_QUOTE)"
+ }
+ ]
+ },
+ {
+ "id": "summary-intermediate",
+ "hiddenOnEdit": true,
+ "hideFormHeader": true,
+ "nextButtonText": "Configure my project",
+ "footer": {
+ "content": ""
+ },
+ "subSections": [
+ {
+ "type": "questions",
+ "hideTitle": true,
+ "condition": "!(CUSTOM_QUOTE)",
+ "questions": [
+ {
+ "type": "static",
+ "content": "
Your Project Estimate
"
+ }
+ ]
+ },
+ {
+ "type": "portal",
+ "hideTitle": true,
+ "condition": "!(CUSTOM_QUOTE)",
+ "content": [
+ {
+ "sectionIndex": 2
+ }
+ ]
+ },
+ {
+ "type": "questions",
+ "hideTitle": true,
+ "condition": "!(CUSTOM_QUOTE)",
+ "questions": [
+ {
+ "type": "estimation",
+ "title": "Your project timeline",
+ "deliverables": [
+ {
+ "id": "design",
+ "title": "Design",
+ "enableCondition": "HAS_DESIGN_DELIVERABLE",
+ "deliverableKey": "design"
+ },
+ {
+ "id": "development",
+ "title": "Development & QA",
+ "enableCondition": "HAS_DEV_DELIVERABLE",
+ "deliverableKey": "dev-qa"
+ },
+ {
+ "id": "deployment",
+ "title": "Deploy",
+ "enableCondition": "HAS_DEPLOY_DELIVERABLE",
+ "deliverableKey": "deployment"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "add-ons",
+ "title": "Configure my app",
+ "subSections": [
+ {
+ "hideTitle": true,
+ "type": "questions",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "Design add-ons",
+ "description": "Select any desired add-ons to your project. Please note that each add-on will incur a cost and has a delivery duration. Your project estimate will be updated to reflect the cost and duration of your base solution and add-ons. Additionally, you will receive a full breakdown on cost in the final project proposal from Topcoder.",
+ "fieldName": "details.appDefinition.addons.design",
+ "type": "add-ons",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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": "HAS_DESIGN_DELIVERABLE && !(CUSTOM_QUOTE)",
+ "category": "design"
+ },
+ {
+ "icon": "question",
+ "title": "Development add-ons",
+ "description": "Select any desired add-ons to your project. Please note that each add-on will incur a cost and has a delivery duration. Your project estimate will be updated to reflect the cost and duration of your base solution and add-ons. Additionally, you will receive a full breakdown on cost in the final project proposal from Topcoder.",
+ "fieldName": "details.appDefinition.addons.development",
+ "type": "add-ons",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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": "HAS_DEV_DELIVERABLE && !(CUSTOM_QUOTE)",
+ "category": "development"
+ },
+ {
+ "icon": "question",
+ "title": "Delivery add-ons",
+ "description": "Select any desired add-ons to your project. Please note that each add-on will incur a cost and has a delivery duration. Your project estimate will be updated to reflect the cost and duration of your base solution and add-ons. Additionally, you will receive a full breakdown on cost in the final project proposal from Topcoder.",
+ "fieldName": "details.appDefinition.addons.delivery",
+ "type": "add-ons",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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.
"
+ },
+ {
+ "icon": "question",
+ "title": "What do you need?",
+ "summaryTitle": "Work needed",
+ "description": "",
+ "fieldName": "details.appDefinition.deliverables",
+ "type": "checkbox-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What work is right for me?",
+ "title": "What work is right for me?",
+ "content": "
Topcoder has design, development, and deployment solutions can be combined in a single project to help you deliver an end-to-end application.
It is important to note that all Topcoder development projects include standard quality assurance testing at no additional cost to help ensure you are getting the highest-quality application possible.
"
+ },
+ "validationError": "Please, choose what do you need.",
+ "validations": "isRequired",
+ "required": true,
+ "options": [
+ {
+ "value": "design",
+ "label": "Design",
+ "summaryLabel": "Design",
+ "description": "We will design your app experience, focusing on the major features and experiences."
+ },
+ {
+ "value": "dev-qa",
+ "label": "Development & QA",
+ "summaryLabel": "Development",
+ "description": "We will develop your app based on existing designs. Building a reliable application for you is our priority. We include standard quality assurance testing at no additional cost when doing any development."
+ },
+ {
+ "value": "deployment",
+ "label": "Deployment",
+ "description": "Our team will ensure that your code is packaged and distributed on all targeted platforms and/or in the Apple/Google app stores."
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "What is the goal of your designs?",
+ "summaryTitle": "Design goal",
+ "description": "",
+ "fieldName": "details.appDefinition.designGoal",
+ "type": "radio-group",
+ "validationError": "Please, choose you design goal.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "HAS_DESIGN_DELIVERABLE",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What should I choose?",
+ "title": "What should I choose?",
+ "content": "
Conceptual exploration
It enables you to explore UI and UX concepts for your application with industry-leading experts. This is the best choice when you are exploring ideas for a new application, but are not ready to begin development immediately. While design concepts empower you to explore different ideas, the design-deliverables are not considered production-ready as they will not contain detailed workflows for your entire application.
Production-ready designs
These are best used when you are ready to begin development on your application immediately after design-completion. These designs will include detailed workflows and options for your application.
"
+ },
+ "options": [
+ {
+ "value": "concept-designs",
+ "label": "Concept exploration",
+ "summaryLabel": "Concept",
+ "description": "Designers will produce up to 8 high-quality screens with different directions that would help you define your product direction, and present to stakeholders.",
+ "disableCondition": "HAS_DEV_DELIVERABLE"
+ },
+ {
+ "value": "comprehensive-designs",
+ "label": "Production-ready designs",
+ "summaryLabel": "Production-ready designs",
+ "description": "Designers will create detailed, designed workflows that can be immediately ready for development upon completion.",
+ "autoSelectCondition": "HAS_DEV_DELIVERABLE"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Will your application require more than 8 screens?",
+ "summaryTitle": "Need Add'l Screens",
+ "description": "",
+ "fieldName": "details.appDefinition.needAdditionalScreens",
+ "type": "radio-group",
+ "theme": "light",
+ "validationError": "Please let us know if you need more than 8 screens?",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "CONCEPT_DESIGN",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "yes",
+ "description": ""
+ },
+ {
+ "label": "No",
+ "value": "no",
+ "description": ""
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Will your application require more than 15 screens?",
+ "summaryTitle": "Need Add'l Screens",
+ "description": "",
+ "fieldName": "details.appDefinition.needAdditionalScreens",
+ "type": "radio-group",
+ "theme": "light",
+ "validationError": "Please let us know if you need more than 15 screens?",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "COMPREHENSIVE_DESIGN || HAS_DEV_DELIVERABLE",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "yes",
+ "description": ""
+ },
+ {
+ "label": "No",
+ "value": "no",
+ "description": ""
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "How many screens do you anticipate requiring?",
+ "description": "",
+ "summaryTitle": "Screens Count",
+ "fieldName": "details.appDefinition.screensCount",
+ "type": "radio-group",
+ "condition": "(CONCEPT_DESIGN && details.appDefinition.needAdditionalScreens == 'yes')",
+ "theme": "light",
+ "validationError": "Please, choose expected number of screens.",
+ "validations": "isRequired",
+ "required": true,
+ "options": [
+ {
+ "value": "8-16",
+ "label": "8-16 screens",
+ "summaryLabel": "8-16",
+ "description": ""
+ },
+ {
+ "value": "16-24",
+ "label": "16-24 screens",
+ "summaryLabel": "16-24",
+ "description": ""
+ },
+ {
+ "value": "24-32",
+ "label": "24-32 screens",
+ "summaryLabel": "24-32",
+ "description": ""
+ },
+ {
+ "value": "32-40",
+ "label": "32-40 screens",
+ "summaryLabel": "32-40",
+ "description": ""
+ },
+ {
+ "value": "40+",
+ "label": "40+ screens",
+ "summaryLabel": "40+",
+ "description": ""
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "How many screens do you anticipate requiring?",
+ "description": "",
+ "summaryTitle": "Screens Count",
+ "fieldName": "details.appDefinition.screensCount",
+ "type": "radio-group",
+ "condition": "((COMPREHENSIVE_DESIGN || HAS_DEV_DELIVERABLE) && details.appDefinition.needAdditionalScreens == 'yes')",
+ "theme": "light",
+ "validationError": "Please, choose expected number of screens.",
+ "validations": "isRequired",
+ "required": true,
+ "options": [
+ {
+ "value": "15-30",
+ "label": "15-30 screens",
+ "summaryLabel": "15-30",
+ "description": ""
+ },
+ {
+ "value": "30-45",
+ "label": "30-45 screens",
+ "summaryLabel": "30-45",
+ "description": ""
+ },
+ {
+ "value": "45-60",
+ "label": "45-60 screens",
+ "summaryLabel": "45-60",
+ "description": ""
+ },
+ {
+ "value": "60+",
+ "label": "60+ screens",
+ "summaryLabel": "60+",
+ "description": ""
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "target-devices-os",
+ "hideTitle": true,
+ "type": "questions",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "Where should your app work?",
+ "summaryTitle": "Devices",
+ "description": "Topcoder’s standard concept design solution provides concept designs for one device. If you require concept designs for more than one device, please select all device types required and we will send you a custom proposal.",
+ "fieldName": "details.appDefinition.targetDevices",
+ "type": "checkbox-group",
+ "affectsQuickQuote": true,
+ "theme": "light",
+ "validationError": "Please, select devices",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "CONCEPT_DESIGN",
+ "options": [
+ {
+ "label": "Mobile",
+ "value": "mobile",
+ "description": "Your app can be installed and launched on mobile devices. This is Topcoder’s most requested option."
+ },
+ {
+ "label": "Tablet",
+ "value": "tablet",
+ "description": "Your app can be used on tablet devices, with an optimized layout for tablets."
+ },
+ {
+ "label": "Web Browser",
+ "value": "web-browser",
+ "description": "Your app would be accessed via web browser on desktop, mobile and tablet devices alike."
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Where should your app work?",
+ "summaryTitle": "Devices",
+ "description": "",
+ "fieldName": "details.appDefinition.targetDevices",
+ "type": "checkbox-group",
+ "affectsQuickQuote": true,
+ "theme": "light",
+ "validationError": "Please, select devices",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "( ( HAS_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN ) || HAS_DEV_DELIVERABLE)",
+ "options": [
+ {
+ "label": "Mobile",
+ "value": "mobile",
+ "description": "Your app can be installed and launched on mobile devices. This is Topcoder’s most requested option."
+ },
+ {
+ "label": "Tablet",
+ "value": "tablet",
+ "description": "Your app can be used on tablet devices, with an optimized layout for tablets."
+ },
+ {
+ "label": "Web Browser",
+ "value": "web-browser",
+ "description": "Your app would be accessed via web browser on desktop, mobile and tablet devices alike."
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "What mobile platform is required?",
+ "summaryTitle": "Mobile platforms",
+ "description": "",
+ "fieldName": "details.appDefinition.mobilePlatforms",
+ "type": "checkbox-group",
+ "affectsQuickQuote": true,
+ "theme": "light",
+ "help": {
+ "linkTitle": "Which platforms to select?",
+ "title": "Which platforms to select?",
+ "content": "
Topcoder can create mobile applications for iOS, Android, or iOS and Android platforms.
"
+ },
+ "condition": "( (CONCEPT_DESIGN || HAS_DEV_DELIVERABLE) && ( details.appDefinition.targetDevices contains 'mobile' || details.appDefinition.targetDevices contains 'tablet' ))",
+ "options": [
+ {
+ "label": "iOS",
+ "value": "ios",
+ "description": "Your designs will be tailored to iOS mobile devices."
+ },
+ {
+ "label": "Android",
+ "value": "android",
+ "description": "Your designs will be tailored to Android mobile devices."
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "What mobile platform is required?",
+ "summaryTitle": "Mobile platforms",
+ "description": "",
+ "fieldName": "details.appDefinition.mobilePlatforms",
+ "type": "checkbox-group",
+ "affectsQuickQuote": true,
+ "theme": "light",
+ "help": {
+ "linkTitle": "Which platforms to select?",
+ "title": "Which platforms to select?",
+ "content": "
Topcoder can create mobile applications for iOS, Android, or iOS and Android platforms.
"
+ },
+ "condition": "( (COMPREHENSIVE_DESIGN || HAS_DEV_DELIVERABLE) && ( details.appDefinition.targetDevices contains 'mobile' || details.appDefinition.targetDevices contains 'tablet' ))",
+ "options": [
+ {
+ "label": "iOS",
+ "value": "ios",
+ "description": "Your app would work on iOS phones. We will develop it using Objective-C and SWIFT"
+ },
+ {
+ "label": "Android",
+ "value": "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": "Should your app use a native or hybrid framework?",
+ "summaryTitle": "App Type",
+ "description": "",
+ "fieldName": "details.appDefinition.nativeHybrid",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "Which OS to select?",
+ "title": "Which OS to select?",
+ "content": "
Native operating systems are a SDK framework for building iOS and/or Android applications. Native applications typically have better performance if rich features such as video or audio are required.
Hybrid operating systems leverages a hybrid framework, such as Iconic, to build iOS and/or Android applications. Hybrid gives you the benefit of only having to maintain one code base for your application.
"
+ },
+ "validationError": "Please let us know the type of the app?",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "( HAS_DEV_DELIVERABLE && ( details.appDefinition.mobilePlatforms contains 'ios' || details.appDefinition.mobilePlatforms contains 'android' ))",
+ "options": [
+ {
+ "label": "Native",
+ "value": "native",
+ "description": ""
+ },
+ {
+ "label": "Hybrid",
+ "value": "hybrid",
+ "description": ""
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "How should your app work in web browsers?",
+ "summaryTitle": "Web browser behaviour",
+ "description": "",
+ "fieldName": "details.appDefinition.webBrowserBehaviour",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Responsive Web Applications are web apps that can be accessed from mobile, tablet, and/or desktop devices. You can choose custom layouts depending on device type.
Desktop Web Browser Applications come in one layout and are only accessed from desktop devices using common web browsers such as Chrome or Safari.
"
+ },
+ "validationError": "Please let us know the type of web app?",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "( details.appDefinition.targetDevices contains 'web-browser' )",
+ "options": [
+ {
+ "label": "I want a web app that is responsive to all device types, including desktop.",
+ "value": "responsive",
+ "description": "Your web application can be accessed from all common desktop, mobile and tablet web browsers and will be optimized for all screen sizes."
+ },
+ {
+ "label": "I want a web app that is designed specifically for desktop use.",
+ "value": "desktop",
+ "description": "Your web application can be accessed from desktop devices on all common web browsers."
+ }
+ ]
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ },
+ {
+ "id": "design-deliverable-questions",
+ "hideTitle": true,
+ "type": "questions",
+ "condition": "HAS_DESIGN_DELIVERABLE",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "Do you have required style/brand guidelines?",
+ "summaryTitle": "Brand Guidelines",
+ "description": "",
+ "fieldName": "details.appDefinition.hasBrandGuidelines",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "Where to Share Style & Branding Guidelines",
+ "title": "Where to Share Style & Branding Guidelines",
+ "content": "
Once you complete this intake form, a project will be created inside Topcoder’s Connect platform. Please share any files or links indicating your style guide or branding guidelines inside the project.
"
+ },
+ "validationError": "Please let us know if you have style/brand guildlines?",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "HAS_DESIGN_DELIVERABLE",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "yes",
+ "description": ""
+ },
+ {
+ "label": "No",
+ "value": "no",
+ "description": ""
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Are there particular fonts you want used?",
+ "summaryTitle": "Specific Fonts",
+ "description": "",
+ "fieldName": "details.appDefinition.needSpecificFonts",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "Where to Share Font Preferences",
+ "title": "Where to Share Font Preferences",
+ "content": "
Once you complete this intake form, a project will be created inside Topcoder’s Connect platform. Please share any files or links indicating your font preferences inside the project.
Once you complete this intake form, a project will be created inside Topcoder’s Connect platform. Please share any files or links indicating your color/theme preferences inside the project.
All Topcoder projects engage a Challenge Manager, a member of the community who helps to set-up and execute work with the community.
Topcoder recommends including a Project Manager on projects where a high degree of technical complexity is anticipated, when multiple deliverables are needed, or when you are a new to Topcoder and need additional help navigating the crowdsourcing process. A Project Manager will provide additional oversight to your project.
"
+ },
+ "validationError": "Please, ley us know if you need a dedicated manager.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "FALSY && !(CUSTOM_QUOTE)",
+ "options": [
+ {
+ "value": "yes",
+ "label": "Project Manager + Challenge Manager",
+ "summaryLabel": "Project Manager + Challenge Manager",
+ "description": "Challenge managers will work with the Community on the execution of your deliverables. A Project Manager will be assigned to oversee the technical requirements and complexities of your project."
+ },
+ {
+ "value": "no",
+ "label": "Challenge Manager only",
+ "summaryLabel": "Challenge Manager only",
+ "description": "You will partner directly with your Challenge Manager to align on the requirements for your project and they will work with the Community on the execution of your deliverables."
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Notes",
+ "summaryTitle": "Notes",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)",
+ "fieldName": "details.apiDefinition.notes",
+ "type": "textbox"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ },
+ {
+ "id": "files",
+ "description": "",
+ "title": "PLEASE upload any document that can help us in moving ahead with the project",
+ "type": "files",
+ "fieldName": "attachments",
+ "condition": "!id"
+ },
+ {
+ "id": "customeQuote",
+ "hideTitle": true,
+ "fieldName": "details.appDefinition.message",
+ "title": "Message",
+ "description": "Topcoder will contact you shortly with a proposal on your project.",
+ "type": "message",
+ "condition": "(CUSTOM_QUOTE)"
+ }
+ ]
+ },
+ {
+ "id": "summary-intermediate",
+ "hiddenOnEdit": true,
+ "hideFormHeader": true,
+ "nextButtonText": "Configure my project",
+ "footer": {
+ "content": ""
+ },
+ "subSections": [
+ {
+ "type": "questions",
+ "hideTitle": true,
+ "condition": "!(CUSTOM_QUOTE)",
+ "questions": [
+ {
+ "type": "static",
+ "content": "
Your Project Estimate
"
+ }
+ ]
+ },
+ {
+ "type": "portal",
+ "hideTitle": true,
+ "condition": "!(CUSTOM_QUOTE)",
+ "content": [
+ {
+ "sectionIndex": 2
+ }
+ ]
+ },
+ {
+ "type": "questions",
+ "hideTitle": true,
+ "condition": "!(CUSTOM_QUOTE)",
+ "questions": [
+ {
+ "type": "estimation",
+ "title": "Your project timeline",
+ "deliverables": [
+ {
+ "id": "design",
+ "title": "Design",
+ "enableCondition": "HAS_DESIGN_DELIVERABLE",
+ "deliverableKey": "design"
+ },
+ {
+ "id": "development",
+ "title": "Development & QA",
+ "enableCondition": "HAS_DEV_DELIVERABLE",
+ "deliverableKey": "dev-qa"
+ },
+ {
+ "id": "deployment",
+ "title": "Deploy",
+ "enableCondition": "HAS_DEPLOY_DELIVERABLE",
+ "deliverableKey": "deployment"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "add-ons",
+ "title": "Configure my app",
+ "subSections": [
+ {
+ "hideTitle": true,
+ "type": "questions",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "Design add-ons",
+ "description": "Select any desired add-ons to your project. Please note that each add-on will incur a cost and has a delivery duration. Your project estimate will be updated to reflect the cost and duration of your base solution and add-ons. Additionally, you will receive a full breakdown on cost in the final project proposal from Topcoder.",
+ "fieldName": "details.appDefinition.addons.design",
+ "type": "add-ons",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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": "HAS_DESIGN_DELIVERABLE && !(CUSTOM_QUOTE)",
+ "category": "visual_design"
+ },
+ {
+ "icon": "question",
+ "title": "Development add-ons",
+ "description": "Select any desired add-ons to your project. Please note that each add-on will incur a cost and has a delivery duration. Your project estimate will be updated to reflect the cost and duration of your base solution and add-ons. Additionally, you will receive a full breakdown on cost in the final project proposal from Topcoder.",
+ "fieldName": "details.appDefinition.addons.development",
+ "type": "add-ons",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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": "HAS_DEV_DELIVERABLE && !(CUSTOM_QUOTE)",
+ "category": "development"
+ },
+ {
+ "icon": "question",
+ "title": "Delivery add-ons",
+ "description": "Select any desired add-ons to your project. Please note that each add-on will incur a cost and has a delivery duration. Your project estimate will be updated to reflect the cost and duration of your base solution and add-ons. Additionally, you will receive a full breakdown on cost in the final project proposal from Topcoder.",
+ "fieldName": "details.appDefinition.addons.delivery",
+ "type": "add-ons",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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.
"
+ }
+ ]
+ },
+ {
+ "hideTitle": true,
+ "type": "portal",
+ "content": [
+ {
+ "sectionIndex": 2
+ }
+ ]
+ },
+ {
+ "type": "questions",
+ "hideTitle": true,
+ "condition": "FALSY",
+ "questions": [
+ {
+ "type": "estimation",
+ "title": "Your project timeline",
+ "deliverables": [
+ {
+ "id": "design",
+ "title": "Design",
+ "enableCondition": "HAS_DESIGN_DELIVERABLE",
+ "deliverableKey": "design"
+ },
+ {
+ "id": "development",
+ "title": "Development",
+ "enableCondition": "HAS_DEV_DELIVERABLE",
+ "deliverableKey": "dev"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "wizard": {
+ "enabled": true,
+ "previousStepVisibility": "none"
+ },
+ "basePriceEstimate": 0,
+ "baseTimeEstimateMin": 3,
+ "baseTimeEstimateMax": 6,
+ "priceConfig": {},
+ "preparedConditions": {
+ "HAS_DESIGN_DELIVERABLE": "(details.taasDefinition.deliverables contains 'design')",
+ "HAS_DEV_DELIVERABLE": "(details.taasDefinition.deliverables contains 'dev')",
+ "HAS_DATA_SCIENCE_DELIVERABLE": "(details.taasDefinition.deliverables contains 'data-science')",
+ "HAS_QA_DELIVERABLE": "(details.taasDefinition.deliverables contains 'qa')",
+ "HAS_OTHER_DELIVERABLE": "(details.taasDefinition.deliverables contains 'other')",
+ "TRUTHY": "( 1 == 1)",
+ "FALSY": "( 1 == 2)"
+ },
+ "buildingBlocks": {},
+ "priceConfig-old": null,
+ "priceConfigOpt": null,
+ "addonPriceConfig": {},
+ "showPrice": false,
+ "hidePrice": true
+ },
+ "phases": {
+ "1-dev-iteration-i": {
+ "name": "Dev Iteration",
+ "products": [
+ {
+ "productKey": "development-iteration-5-milestones",
+ "id": 29
+ }
+ ],
+ "duration": 25
+ }
+ },
+ "form": null,
+ "planConfig": null,
+ "priceConfig": null,
+ "disabled": false,
+ "hidden": true,
+ "deletedAt": null,
+ "createdAt": "2019-06-18T07:28:39.000Z",
+ "updatedAt": "2020-01-22T13:22:41.360Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 4,
+ "name": "Chatbot",
+ "key": "generic_chatbot",
+ "category": "scoped-solutions",
+ "subCategory": null,
+ "metadata": {},
+ "icon": "product-chatbot-chatbot",
+ "question": "What do you need to develop?",
+ "info": "Build, train and test a custom conversation for your chat bot",
+ "aliases": [
+ "chatbot",
+ "generic_chatbot"
+ ],
+ "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"
+ }
+ ]
+ }
+ ]
+ },
+ "phases": {
+ "1-app-design": {
+ "name": "Chatbot 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
+ }
+ },
+ "form": null,
+ "planConfig": null,
+ "priceConfig": null,
+ "disabled": false,
+ "hidden": false,
+ "deletedAt": null,
+ "createdAt": "2018-06-13T07:37:57.000Z",
+ "updatedAt": "2020-01-22T13:22:41.360Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 223,
+ "name": "QA Services",
+ "key": "qa-v1.2",
+ "category": "unscoped-solutions",
+ "subCategory": null,
+ "metadata": {},
+ "icon": "product-qa-crowd-testing",
+ "question": "What kind of quality assurance (QA) do you need?",
+ "info": "Choose the QA solution that meets your testing goals.",
+ "aliases": [
+ "qa-oct"
+ ],
+ "scope": {
+ "sections": [
+ {
+ "id": "project-basic-details",
+ "title": "QA & Testing: Basic Details",
+ "statusText": "Let's go",
+ "subSections": [
+ {
+ "type": "message",
+ "hideTitle": true,
+ "theme": "light",
+ "description": "We will ask you several questions in order to determine your project’s scope. All estimates are based on our 15 years of experience and thousands of projects. Final prices will be determined after our team completes a final scope review."
+ },
+ {
+ "title": "App details",
+ "type": "questions",
+ "questions": [
+ {
+ "fieldName": "name",
+ "type": "textinput",
+ "title": "What is the name of your app?",
+ "theme": "light",
+ "validationError": "Please, provide a name to your project",
+ "validations": "isRequired",
+ "required": true
+ },
+ {
+ "fieldName": "details.utm.code",
+ "type": "textinput",
+ "title": "Do you have a Reference code? (optional)",
+ "theme": "light"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "appDefinition",
+ "title": "Quality Assurance",
+ "required": true,
+ "description": "",
+ "wizard": {
+ "enabled": true,
+ "previousStepVisibility": "write"
+ },
+ "subSections": [
+ {
+ "id": "qa-deliverable-questions",
+ "hideTitle": true,
+ "type": "questions",
+ "questions": [
+ {
+ "type": "static",
+ "hiddenOnEdit": true,
+ "content": "
{{name}}
{{description}}
"
+ },
+ {
+ "icon": "question",
+ "title": "What type of QA you need?",
+ "summaryTitle": "QA Service",
+ "description": "",
+ "fieldName": "details.appDefinition.qaType",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is right for me?",
+ "title": "What is right for me?",
+ "content": "
Structured testing is used to deliver our Regression Testing and End-User Acceptance/Beta Testing solutions.
Unstructured testing is used to deliver our Compatibility Testing, Exploratory Testing, Accessibility Testing, Localization/Language Testing, Functional/Feature Testing, and User Sentiment Analysis solutions. Unstructured testing does not use pre-defined test scripts -- this is true “in-the-wild” testing that can provide many forms of feedback on your application.
Regression Automation test suites can be created by Topcoder using tools like Selenium.
Automation Test Suites can be created by Topcoder using tools like Selenium, starting at up to 50 test cases.
Performance Testing by Topcoder will allow you to test several key functions of your application at scale with hundreds of virtual users. Reporting will be provided with specific recommendations to address any performance issues.
Mobility Testing can target up to 5 devices using our community of QA experts.
"
+ },
+ "validationError": "Please, choose what do you need.",
+ "validations": "isRequired",
+ "required": true,
+ "options": [
+ {
+ "value": "regression-testing",
+ "label": "Regression Testing",
+ "description": "Validate business-critical workflows in a structured manner",
+ "queryParamSelectCondition": "qaType == 'regression'"
+ },
+ {
+ "value": "end-user-acceptance-testing",
+ "label": "End-User Acceptance Testing/Beta Testing ",
+ "summaryLabel": "Acceptance Testing",
+ "description": "Expand risk coverage and generate end-user feedback early in the life cycle",
+ "queryParamSelectCondition": "qaType == 'end-user-acceptance-testing'"
+ },
+ {
+ "value": "compatibility-testing",
+ "label": "Compatibility Testing",
+ "description": "Cross-browser, device testing including network, geographical coverage to assure app launch success",
+ "queryParamSelectCondition": "qaType == 'compatibility-testing'"
+ },
+ {
+ "value": "exploratory-testing",
+ "label": "Exploratory Testing",
+ "description": "Validate functionality and usability of web and mobile apps in-the-wild with real-life users",
+ "queryParamSelectCondition": "qaType == 'exploratory-testing'"
+ },
+ {
+ "value": "accessibility-testing",
+ "label": "Accessibility Testing",
+ "description": "WCAG 2.1 standards-based usability testing and verification to confirm and guide to compliance",
+ "queryParamSelectCondition": "qaType == 'accessibility-compliance'"
+ },
+ {
+ "value": "localization-testing",
+ "label": "Localization/Language Testing",
+ "description": "Validate the product (UI, Content) built for a particular culture or locale settings",
+ "queryParamSelectCondition": "qaType == 'localization-testing'"
+ },
+ {
+ "value": "functional-testing",
+ "label": "Functional/Feature Testing",
+ "description": "Testing features in an agile environment to speed-up design and execution activities",
+ "queryParamSelectCondition": "qaType == 'functional-feature-testing'"
+ },
+ {
+ "value": "sentiment-analysis",
+ "label": "User Sentiment Analysis",
+ "description": "Compare applications with competitor products in the market to derive improvement actions",
+ "queryParamSelectCondition": "qaType == 'sentiment-analysis'"
+ },
+ {
+ "value": "regression-automation",
+ "label": "Regression Automation",
+ "description": "Build reusable test scripts and frameworks using open source tools to accelerate app delivery & improve ROI",
+ "queryParamSelectCondition": "qaType == 'regression-automation'"
+ },
+ {
+ "value": "performance-testing",
+ "label": "Performance Testing",
+ "description": "Test responsiveness and stability of web and mobile applications under specific workloads",
+ "queryParamSelectCondition": "qaType == 'performance-improvement'"
+ },
+ {
+ "value": "mobile-app-certifcation",
+ "label": "Mobile App Certification",
+ "description": "Execute functional & non-functional tests including device compatibility certification & competitive analysis",
+ "queryParamSelectCondition": "qaType == 'mobile-app-certification'"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "What do you need us to help you with?",
+ "summaryTitle": "Work Required",
+ "description": "",
+ "fieldName": "details.appDefinition.structuredTestWorkType",
+ "type": "checkbox-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is right for me?",
+ "title": "What is right for me?",
+ "content": "
Test Case Creation involves generating structured test cases that can be followed during test case execution.
Test Case Execution involves executing testing against the structured test cases created by Topcoder or against structured test cases provided by the client.
"
+ },
+ "validationError": "Please, choose what do you need us to help with.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "details.appDefinition.qaType == 'regression-testing' || details.appDefinition.qaType == 'end-user-acceptance-testing'",
+ "options": [
+ {
+ "value": "test-case-creation",
+ "label": "Test Case Creation",
+ "description": "Involves generating structured test cases that can be followed during test case execution."
+ },
+ {
+ "value": "test-case-execution",
+ "label": "Test Case Execution",
+ "description": "Involves executing testing against the structured test cases created by Topcoder or against structured test cases provided by the client."
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Will test coverage require more than 150 test cases?",
+ "description": "",
+ "fieldName": "details.appDefinition.needAdditionalStructTests",
+ "type": "radio-group",
+ "theme": "light",
+ "condition": "details.appDefinition.qaType == 'regression-testing' || details.appDefinition.qaType == 'end-user-acceptance-testing'",
+ "validationError": "Please, ley us know if you need more than 150 test cases.",
+ "validations": "isRequired",
+ "required": true,
+ "options": [
+ {
+ "value": "yes",
+ "label": "Yes"
+ },
+ {
+ "value": "no",
+ "label": "No"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "How many test cases do you anticipate requiring?",
+ "summaryTitle": "Test Case/Screen Count",
+ "description": "",
+ "fieldName": "details.appDefinition.structuredTestsCount",
+ "type": "radio-group",
+ "theme": "light",
+ "validationError": "Please, choose how many test cases you need or have.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "details.appDefinition.needAdditionalStructTests == 'yes'",
+ "options": [
+ {
+ "value": "150-300",
+ "label": "150-300"
+ },
+ {
+ "value": "300-450",
+ "label": "300-450"
+ },
+ {
+ "value": "450-600",
+ "label": "450-600"
+ },
+ {
+ "value": "600+",
+ "label": "600+"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Will test coverage require more than 10 screens?",
+ "description": "",
+ "fieldName": "details.appDefinition.needAdditionalUnstructScreens",
+ "type": "radio-group",
+ "theme": "light",
+ "condition": "details.appDefinition.qaType == 'compatibility-testing' || details.appDefinition.qaType == 'exploratory-testing' || details.appDefinition.qaType == 'accessibility-testing' || details.appDefinition.qaType == 'localization-testing' || details.appDefinition.qaType == 'functional-testing' || details.appDefinition.qaType == 'sentiment-analysis'",
+ "validationError": "Please, ley us know if you need more than 10 screens.",
+ "validations": "isRequired",
+ "required": true,
+ "options": [
+ {
+ "value": "yes",
+ "label": "Yes"
+ },
+ {
+ "value": "no",
+ "label": "No"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "How many screens require testing?",
+ "summaryTitle": "Screen Count",
+ "description": "",
+ "fieldName": "details.appDefinition.unstructuredTestsScreenCount",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What if I need more test cases/screens?",
+ "title": "What if I need more test cases/screens?",
+ "content": "
If your testing effort will require the creation or execution of more test cases/screens highlighted in our standard solutions, please indicate this in the Notes section prior to submitting your form.
"
+ },
+ "validationError": "Please, choose how many screens you need testing for.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "details.appDefinition.needAdditionalUnstructScreens == 'yes'",
+ "options": [
+ {
+ "value": "10-20",
+ "label": "10-20"
+ },
+ {
+ "value": "20-30",
+ "label": "20-30"
+ },
+ {
+ "value": "30-40",
+ "label": "30-40"
+ },
+ {
+ "value": "40-50",
+ "label": "40-50"
+ },
+ {
+ "value": "50+",
+ "label": "50+"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Will test coverage require more than 50 test cases?",
+ "description": "",
+ "fieldName": "details.appDefinition.needAdditionalRegressionTests",
+ "type": "radio-group",
+ "theme": "light",
+ "condition": "details.appDefinition.qaType == 'regression-automation'",
+ "validationError": "Please, ley us know if you need more than 50 test cases.",
+ "validations": "isRequired",
+ "required": true,
+ "options": [
+ {
+ "value": "yes",
+ "label": "Yes"
+ },
+ {
+ "value": "no",
+ "label": "No"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "How many test cases do you need?",
+ "description": "",
+ "fieldName": "details.appDefinition.regressionAutomationTestCount",
+ "type": "radio-group",
+ "theme": "light",
+ "validationError": "Please, choose how many test cases you have or need.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "details.appDefinition.needAdditionalRegressionTests == 'yes'",
+ "options": [
+ {
+ "value": "50-100",
+ "label": "50-100"
+ },
+ {
+ "value": "100-150",
+ "label": "100-150"
+ },
+ {
+ "value": "150-200",
+ "label": "150-200"
+ },
+ {
+ "value": "200-250",
+ "label": "200-250"
+ },
+ {
+ "value": "250-300",
+ "label": "250-300"
+ },
+ {
+ "value": "300+",
+ "label": "300+"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "What is the desired system load of concurrent users?",
+ "description": "",
+ "fieldName": "details.appDefinition.concurrentUsers",
+ "type": "radio-group",
+ "theme": "light",
+ "validationError": "Please, choose how many test cases you have or need.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "details.appDefinition.qaType == 'performance-testing'",
+ "options": [
+ {
+ "value": "upto-500",
+ "label": "Up to 500"
+ },
+ {
+ "value": "500-1000",
+ "label": "500-1000"
+ },
+ {
+ "value": "1000-5000",
+ "label": "1000-5000"
+ },
+ {
+ "value": "above-5000",
+ "label": "5000+"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Approximately how many business processes/transactions are included in this performance testing?",
+ "description": "",
+ "fieldName": "details.appDefinition.processTransactionCount",
+ "type": "radio-group",
+ "theme": "light",
+ "validationError": "Please, choose how many test cases you have or need.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "details.appDefinition.qaType == 'performance-testing'",
+ "options": [
+ {
+ "value": "upto-5",
+ "label": "Up to 5"
+ },
+ {
+ "value": "5-10",
+ "label": "5-10"
+ },
+ {
+ "value": "10-25",
+ "label": "10-25"
+ },
+ {
+ "value": "above-25",
+ "label": "25+"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Briefly describe the application we will be testing.",
+ "summaryTitle": "Description",
+ "description": "",
+ "fieldName": "description",
+ "type": "textbox"
+ },
+ {
+ "icon": "question",
+ "title": "Notes",
+ "summaryTitle": "Notes",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)",
+ "fieldName": "details.appDefinition.notes",
+ "type": "textbox"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ },
+ {
+ "id": "tc-services-questions",
+ "hideTitle": true,
+ "type": "questions",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "What kind of support do you want on your project?",
+ "description": "",
+ "fieldName": "details.appDefinition.caNeeded",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is right for me?",
+ "title": "What is right for me?",
+ "content": "
All Topcoder projects engage a Challenge Manager, a member of the community who helps to set-up and execute work with the community.
Topcoder recommends including a Project Manager on projects where a high degree of technical complexity is anticipated, when multiple deliverables are needed, or when you are a new to Topcoder and need additional help navigating the crowdsourcing process. A Project Manager will provide additional oversight to your project.
"
+ },
+ "validationError": "Please, ley us know if you need a dedicated manager.",
+ "validations": "isRequired",
+ "required": true,
+ "options": [
+ {
+ "value": "yes",
+ "label": "Project Manager + Challenge Manager",
+ "summaryLabel": "Project Manager + Challenge Manager",
+ "description": "Challenge managers will work with the Community on the execution of your deliverables. A Project Manager will be assigned to oversee the technical requirements and complexities of your project."
+ },
+ {
+ "value": "no",
+ "label": "Challenge Manager only",
+ "summaryLabel": "Challenge Manager only",
+ "description": "You will partner directly with your Challenge Manager to align on the requirements for your project and they will work with the Community on the execution of your deliverables."
+ }
+ ]
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ },
+ {
+ "id": "files",
+ "required": false,
+ "title": "Files",
+ "description": "",
+ "type": "files",
+ "fieldName": "attachments",
+ "hiddenOnCreation": true
+ }
+ ]
+ },
+ {
+ "id": "summary-intermediate",
+ "hiddenOnEdit": true,
+ "hideFormHeader": true,
+ "nextButtonText": "Configure my project",
+ "footer": {
+ "content": ""
+ },
+ "subSections": [
+ {
+ "type": "questions",
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "static",
+ "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.
"
+ },
+ {
+ "icon": "question",
+ "title": "Please state the problem you would like to solve.",
+ "summaryTitle": "Problem Statement",
+ "description": "",
+ "fieldName": "details.dsIdeation.problemStatement",
+ "type": "textbox",
+ "required": true,
+ "validationError": "Please, provide problem statement/concept for your project"
+ }
+ ]
+ },
+ {
+ "id": "preferredTechnology",
+ "hideTitle": true,
+ "type": "questions",
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "questions": [
+ {
+ "icon": "question",
+ "title": "What type of output are you seeking?",
+ "summaryTitle": "Project output",
+ "description": "",
+ "fieldName": "details.dsIdeation.output",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "See White Paper Example",
+ "title": "See White Paper Example",
+ "content": "
Overview: describe your approach in “laymen’s terms”
Methods: describe what you did to come up with this approach, eg literature search, experimental testing, etc
Materials: did your approach use a specific technology? Any libraries? List all tools and libraries you used
Discussion: Explain what you attempted, considered or reviewed that worked, and especially those that didn’t work or that you rejected. For any that didn’t work, or were rejected, briefly include your explanation for the reasons (e.g. such-and-such needs more data than we have). If you are pointing to somebody else’s work (eg you’re citing a well known implementation or literature), describe in detail how that work relates to this work, and what would have to be modified
Data: What other data should one consider? Is it in the public domain? Is it derived? Is it necessary in order to achieve the aims? Also, what about the data described/provided - is it enough?
Assumptions and Risks: what are the main risks of this approach, and what are the assumptions you/the model is/are making? What are the pitfalls of the data set and approach?
Results: Did you implement your approach? How’d it perform? If you’re not providing an implementation, use this section to explain the EXPECTED results.
Other: Discuss anyother issues or attributes that don’t fit neatly above that you’d also like to include
"
+ },
+ "options": [
+ {
+ "label": "White papers, only.",
+ "value": "whitePapers",
+ "description": "Submission options should provide a point of view, summarized and cited references, and analysis. Click the tooltip to see an example submission template."
+ },
+ {
+ "label": "White papers with light,functioning proof of concepts.",
+ "value": "whitePapersAndPoc",
+ "description": "POCs are meant to be illustrative, and are not robust solutions."
+ }
+ ],
+ "required": true
+ },
+ {
+ "icon": "question",
+ "title": "Do you have preferred technologies for your POC?",
+ "summaryTitle": "Do you have Preferred Technology",
+ "description": "",
+ "fieldName": "details.dsIdeation.preferredTech",
+ "condition": "(details.dsIdeation.output == 'whitePapersAndPoc')",
+ "type": "radio-group",
+ "theme": "light",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "yes",
+ "description": ""
+ },
+ {
+ "label": "No",
+ "value": "no",
+ "description": ""
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Indicate your preferred technologies",
+ "introduction": "Select your preferred scoring system(s):",
+ "summaryTitle": "Preferred Technology",
+ "description": "",
+ "fieldName": "details.dsIdeation.preferredTechnologies",
+ "condition": "( details.dsIdeation.preferredTech == 'yes')",
+ "type": "checkbox-group",
+ "options": [
+ {
+ "label": "Python",
+ "value": "python"
+ },
+ {
+ "label": "R and derivatives",
+ "value": "rDerivatives"
+ },
+ {
+ "label": "Jupyter Notebook",
+ "value": "jupyter"
+ },
+ {
+ "label": "Java",
+ "value": "java"
+ },
+ {
+ "label": "C++",
+ "value": "cpp"
+ },
+ {
+ "label": "Other",
+ "value": "other"
+ }
+ ],
+ "theme": "light",
+ "validationError": "Please, select the preffered technologies",
+ "required": true
+ },
+ {
+ "icon": "question",
+ "title": "Describe which technologies or platforms you’d like to use",
+ "summaryTitle": "Other Technologies",
+ "description": "",
+ "fieldName": "details.dsIdeation.techPlatforms",
+ "condition": "details.dsIdeation.preferredTechnologies contains 'other'",
+ "type": "textbox",
+ "validationError": "Please, provide technologies or platforms you’d like to use"
+ }
+ ]
+ },
+ {
+ "id": "problemBackgroundDesc",
+ "type": "questions",
+ "hideTitle": true,
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "questions": [
+ {
+ "icon": "question",
+ "title": "Provide a descriptive background of the problem.",
+ "summaryTitle": "Problem Background",
+ "description": "",
+ "fieldName": "details.dsIdeation.backgroundDesc",
+ "type": "textbox",
+ "required": true,
+ "validationError": "Please, provide a descriptive background of the problem"
+ }
+ ]
+ },
+ {
+ "id": "academicPapers",
+ "hideTitle": true,
+ "type": "questions",
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "questions": [
+ {
+ "icon": "question",
+ "title": "Are there academic papers or other sources that should be considered as inputs for your project?",
+ "summaryTitle": "Academic Papers",
+ "description": "",
+ "fieldName": "details.dsIdeation.academicPapers",
+ "type": "radio-group",
+ "theme": "light",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "yes",
+ "description": ""
+ },
+ {
+ "label": "No",
+ "value": "no",
+ "description": ""
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Please list URLs to academic papers or other sources. ",
+ "summaryTitle": "Academic URLs",
+ "condition": "(details.dsIdeation.academicPapers == 'yes')",
+ "description": "",
+ "fieldName": "details.dsIdeation.urls",
+ "type": "textbox",
+ "theme": "light",
+ "required": true,
+ "validationError": "Please, list URLs to academic papers or other sources."
+ }
+ ]
+ },
+ {
+ "id": "solutionOptimizationApproach",
+ "hideTitle": true,
+ "type": "questions",
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "questions": [
+ {
+ "icon": "question",
+ "title": "What is more important, sourcing many new ideas or filtering out options?",
+ "summaryTitle": "New Ideas V/S Filtering Options",
+ "description": "",
+ "fieldName": "details.dsIdeation.solutionOptimizationApproach",
+ "type": "radio-group",
+ "theme": "light",
+ "options": [
+ {
+ "label": "Sourcing new ideas ",
+ "value": "newIdeas",
+ "description": ""
+ },
+ {
+ "label": "Filtering out options so I can focus on the most promising way forward",
+ "value": "filteringOut",
+ "description": ""
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "dataDetails",
+ "hideTitle": true,
+ "type": "questions",
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "questions": [
+ {
+ "icon": "question",
+ "title": "Do you have data that you can provide?",
+ "summaryTitle": "Data Available",
+ "description": "",
+ "fieldName": "details.dsIdeation.dataAvailable",
+ "type": "radio-group",
+ "theme": "light",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "yes",
+ "description": ""
+ },
+ {
+ "label": "No",
+ "value": "no",
+ "description": ""
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Describe the data’s format, size, and the steps you’ll need to take to share it.",
+ "summaryTitle": "Data format & other details",
+ "description": "",
+ "fieldName": "details.dsIdeation.dataFormat",
+ "condition": "(details.dsIdeation.dataAvailable == 'yes')",
+ "type": "textbox"
+ },
+ {
+ "icon": "question",
+ "title": "Does your data contain PII?",
+ "summaryTitle": "PII Data",
+ "description": "",
+ "fieldName": "details.dsIdeation.pIIData",
+ "condition": "(details.dsIdeation.dataAvailable == 'yes')",
+ "type": "radio-group",
+ "theme": "light",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "yes",
+ "description": ""
+ },
+ {
+ "label": "No",
+ "value": "no",
+ "description": ""
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Does your data need to be further obfuscated or privatized",
+ "summaryTitle": "Data Obfuscated/Privatized",
+ "description": "",
+ "fieldName": "details.dsIdeation.dataModifications",
+ "condition": "(details.dsIdeation.dataAvailable == 'yes')",
+ "type": "radio-group",
+ "theme": "light",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "yes",
+ "description": ""
+ },
+ {
+ "label": "No",
+ "value": "no",
+ "description": ""
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Briefly describe the additional obfuscation/privatization required.",
+ "summaryTitle": "Obfuscation/Privatization Description",
+ "description": "",
+ "fieldName": "details.dsIdeation.dataModificationsDesc",
+ "condition": "(details.dsIdeation.dataModifications == 'yes')",
+ "type": "textbox",
+ "theme": "light"
+ }
+ ]
+ },
+ {
+ "id": "criteriaAndNotes",
+ "type": "questions",
+ "hideTitle": true,
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "questions": [
+ {
+ "icon": "question",
+ "title": "Describe the criteria you would like to use for deciding winning options.",
+ "summaryTitle": "Winning Criteria",
+ "description": "Consider how you will differentiate between first and second place solutions",
+ "fieldName": "details.dsIdeation.criteria",
+ "type": "textbox",
+ "required": true,
+ "validationError": "Please, describe the criteria you would like to use for deciding winning options."
+ },
+ {
+ "icon": "question",
+ "title": "Notes: Anything else you’d like to describe?",
+ "summaryTitle": "Notes",
+ "description": "",
+ "fieldName": "details.dsIdeation.notes",
+ "type": "textbox"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "summary-final",
+ "hiddenOnEdit": true,
+ "hideFormHeader": true,
+ "nextButtonText": "Save my project",
+ "footer": {
+ "content": ""
+ },
+ "subSections": [
+ {
+ "type": "questions",
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "static",
+ "content": "
"
+ },
+ {
+ "icon": "question",
+ "title": "Describe the problem you would like to solve or the concept you would like to explore.",
+ "summaryTitle": "Problem Concept",
+ "description": "",
+ "fieldName": "details.dsSprint.problemStatement",
+ "type": "textbox",
+ "required": true,
+ "validationError": "Please, provide problem statement/concept for your project"
+ },
+ {
+ "icon": "question",
+ "title": "Expanding on your answer above, what are the one or two most important goals this project should achieve?",
+ "summaryTitle": "Project Goals",
+ "description": "",
+ "fieldName": "details.dsSprint.goals",
+ "type": "textbox",
+ "required": true,
+ "validationError": "Please, provide goals for your project"
+ },
+ {
+ "icon": "question",
+ "title": "Provide a descriptive background of the problem.",
+ "summaryTitle": "Problem Description",
+ "description": "",
+ "fieldName": "details.dsSprint.problemDesc",
+ "type": "textbox",
+ "required": true,
+ "validationError": "Please, provide descriptive background for your project"
+ }
+ ]
+ },
+ {
+ "id": "academicPapers",
+ "hideTitle": true,
+ "type": "questions",
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "questions": [
+ {
+ "icon": "question",
+ "title": "Are there academic papers or other sources that should be considered as inputs for your project?",
+ "summaryTitle": "Academic Papers",
+ "description": "",
+ "fieldName": "details.dsSprint.academicPapers",
+ "type": "radio-group",
+ "theme": "light",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "yes",
+ "description": ""
+ },
+ {
+ "label": "No",
+ "value": "no",
+ "description": ""
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Please list URLs to academic papers or other sources. ",
+ "summaryTitle": "Academic URLs",
+ "condition": "(details.dsSprint.academicPapers == 'yes')",
+ "description": "",
+ "fieldName": "details.dsSprint.urls",
+ "type": "textbox",
+ "theme": "light",
+ "required": true,
+ "validationError": "Please, provide URLs to your academic papers"
+ }
+ ]
+ },
+ {
+ "id": "preferredTechnology",
+ "hideTitle": true,
+ "type": "questions",
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "questions": [
+ {
+ "icon": "question",
+ "title": "Do you have a preferred technologies that should be used for development?",
+ "summaryTitle": "Do you have Preferred Technology",
+ "description": "",
+ "fieldName": "details.dsSprint.preferredTech",
+ "type": "radio-group",
+ "theme": "light",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "yes",
+ "description": ""
+ },
+ {
+ "label": "No",
+ "value": "no",
+ "description": ""
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Indicate your preferred technologies",
+ "introduction": "Select your preferred scoring system(s):",
+ "summaryTitle": "Preferred Technology",
+ "description": "",
+ "fieldName": "details.dsSprint.preferredTechnologies",
+ "condition": "( details.dsSprint.preferredTech == 'yes')",
+ "type": "checkbox-group",
+ "options": [
+ {
+ "label": "Python",
+ "value": "python"
+ },
+ {
+ "label": "R and derivatives",
+ "value": "rDerivatives"
+ },
+ {
+ "label": "Jupyter Notebook",
+ "value": "jupyter"
+ },
+ {
+ "label": "Java",
+ "value": "java"
+ },
+ {
+ "label": "C++",
+ "value": "cpp"
+ },
+ {
+ "label": "Other",
+ "value": "other"
+ }
+ ],
+ "theme": "light",
+ "validationError": "Please, select the preffered technologies",
+ "required": true
+ },
+ {
+ "icon": "question",
+ "title": "Describe which technologies or platforms you’d like to use",
+ "summaryTitle": "Other Technologies",
+ "description": "",
+ "fieldName": "details.dsSprint.techPlatforms",
+ "condition": "details.dsSprint.preferredTechnologies contains 'other'",
+ "type": "textbox",
+ "validationError": "Please, provide technologies or platforms you’d like to use"
+ }
+ ]
+ },
+ {
+ "id": "selectedTechRequired",
+ "hideTitle": true,
+ "type": "questions",
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "questions": [
+ {
+ "icon": "question",
+ "title": "Are the selected technologies required, or optional?",
+ "summaryTitle": "Technologies Required/Optional ?",
+ "description": "",
+ "fieldName": "details.dsSprint.selectedTechRequired",
+ "condition": "!(details.dsSprint.preferredTechnologies hasLength 0)",
+ "type": "radio-group",
+ "theme": "light",
+ "options": [
+ {
+ "label": "Required",
+ "value": "required",
+ "description": ""
+ },
+ {
+ "label": "Optional",
+ "value": "optional",
+ "description": ""
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "openSourceLibraries",
+ "hideTitle": true,
+ "type": "questions",
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "questions": [
+ {
+ "icon": "question",
+ "title": "By default, Topcoder will employ open source libraries when the use of them improves outcome or speed.",
+ "summaryTitle": "Open Source",
+ "introduction": "Please indicate your preference for open source libraries.",
+ "description": "",
+ "fieldName": "details.dsSprint.openSourceLibraries",
+ "type": "radio-group",
+ "theme": "light",
+ "options": [
+ {
+ "label": "Open source is acceptable",
+ "value": "openSourceAcceptable",
+ "description": ""
+ },
+ {
+ "label": "Open source is acceptable in general but I want to approve specific libraries",
+ "value": "openSourceSpecificLibraries",
+ "description": ""
+ },
+ {
+ "label": "Open source is not acceptable",
+ "value": "openSourceUnacceptable",
+ "description": ""
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "outcome",
+ "hideTitle": true,
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "type": "questions",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "What outcome is more important?",
+ "summaryTitle": "Outcome",
+ "introduction": "Topcoder’s deliverables can be adjusted to produce many concepts exploring possible solutions to a problem, or to produce focused proofs of concept based on a given technology stack or problem statement. Drag the tab below towards the most appropriate answer.",
+ "description": "",
+ "fieldName": "details.dsSprint.outcome",
+ "theme": "light",
+ "type": "slider-standard",
+ "minLabel": "See Many Concepts",
+ "maxLabel": "See Best Implementations",
+ "min": 1,
+ "max": 100,
+ "step": 1,
+ "required": true,
+ "validationError": "Please provide expected hours of execution"
+ }
+ ]
+ },
+ {
+ "id": "dataDetails",
+ "hideTitle": true,
+ "type": "questions",
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "questions": [
+ {
+ "icon": "question",
+ "title": "Do you have data that you can provide?",
+ "summaryTitle": "Data Available",
+ "description": "",
+ "fieldName": "details.dsSprint.dataAvailable",
+ "type": "radio-group",
+ "theme": "light",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "yes",
+ "description": ""
+ },
+ {
+ "label": "No",
+ "value": "no",
+ "description": ""
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Describe the data’s format, size, and the steps you’ll need to take to share it.",
+ "summaryTitle": "Data format & other details",
+ "description": "",
+ "fieldName": "details.dsSprint.dataFormat",
+ "condition": "(details.dsSprint.dataAvailable == 'yes')",
+ "type": "textbox"
+ },
+ {
+ "icon": "question",
+ "title": "Does your data contain PII?",
+ "summaryTitle": "PII Data",
+ "description": "",
+ "fieldName": "details.dsSprint.pIIData",
+ "condition": "(details.dsSprint.dataAvailable == 'yes')",
+ "type": "radio-group",
+ "theme": "light",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "yes",
+ "description": ""
+ },
+ {
+ "label": "No",
+ "value": "no",
+ "description": ""
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Does your data need to be further obfuscated or privatized",
+ "summaryTitle": "Data Obfuscated/Privatized",
+ "description": "",
+ "fieldName": "details.dsSprint.dataModifications",
+ "condition": "(details.dsSprint.dataAvailable == 'yes')",
+ "type": "radio-group",
+ "theme": "light",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "yes",
+ "description": ""
+ },
+ {
+ "label": "No",
+ "value": "no",
+ "description": ""
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Briefly describe the additional obfuscation/privatization required.",
+ "summaryTitle": "Obfuscation/Privatization Description",
+ "description": "",
+ "fieldName": "details.dsSprint.dataModificationsDesc",
+ "condition": "(details.dsSprint.dataModifications == 'yes')",
+ "type": "textbox",
+ "theme": "light"
+ }
+ ]
+ },
+ {
+ "id": "criteriaAndNotes",
+ "type": "questions",
+ "hideTitle": true,
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "questions": [
+ {
+ "icon": "question",
+ "title": "Describe the criteria you would like to use for deciding winning options.",
+ "summaryTitle": "Winning Criteria",
+ "description": "Consider how you will differentiate between first and second place solutions",
+ "fieldName": "details.dsSprint.criteria",
+ "type": "textbox",
+ "required": true,
+ "validationError": "Please, describe the criteria for deciding winning options"
+ },
+ {
+ "icon": "question",
+ "title": "Notes: Anything else you’d like to describe?",
+ "summaryTitle": "Notes",
+ "description": "",
+ "fieldName": "details.dsSprint.notes",
+ "type": "textbox"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "summary-final",
+ "hiddenOnEdit": true,
+ "hideFormHeader": true,
+ "nextButtonText": "Save my project",
+ "footer": {
+ "content": ""
+ },
+ "subSections": [
+ {
+ "type": "questions",
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "static",
+ "content": "
Your Project Estimate
"
+ }
+ ]
+ },
+ {
+ "hideTitle": true,
+ "type": "portal",
+ "content": [
+ {
+ "sectionIndex": 1
+ },
+ {
+ "sectionIndex": 3
+ }
+ ]
+ },
+ {
+ "type": "questions",
+ "hideTitle": true,
+ "condition": "PROD_PREP_NOT_REQUIRED",
+ "questions": [
+ {
+ "type": "estimation",
+ "title": "Your project timeline",
+ "deliverables": [
+ {
+ "id": "comp-viz-design",
+ "title": "Poc",
+ "enableCondition": "HAS_POC_DELIVERABLE",
+ "deliverableKey": "comp-viz-poc"
+ },
+ {
+ "id": "comp-viz-research-grade",
+ "title": "Research Grade",
+ "enableCondition": "HAS_RESEARCH_GRADE_DELIVERABLE",
+ "deliverableKey": "comp-viz-research-grade"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "wizard": {
+ "enabled": true,
+ "previousStepVisibility": "none"
+ },
+ "basePriceEstimate": 0,
+ "baseTimeEstimateMin": 3,
+ "baseTimeEstimateMax": 6,
+ "priceConfig": {
+ "ONE_DELIVERABLE": [
+ [
+ "POC_LABELED_NO_PROD_PREP_COMP_VIZ_DESIGN"
+ ],
+ [
+ "POC_NOT_LABELED_NO_PROD_PREP_COMP_VIZ_DESIGN"
+ ],
+ [
+ "POC_NOT_LABELED_NO_LABELING_NO_PROD_PREP_COMP_VIZ_DESIGN"
+ ],
+ [
+ "RESEARCH_GRADE_LABELED_NO_PROD_PREP_COMP_VIZ_DESIGN"
+ ],
+ [
+ "RESEARCH_GRADE_NOT_LABELED_NO_PROD_PREP_COMP_VIZ_DESIGN"
+ ],
+ [
+ "RESEARCH_GRADE_NOT_LABELED_NO_LABELING_NO_PROD_PREP_COMP_VIZ_DESIGN"
+ ]
+ ]
+ },
+ "preparedConditions": {
+ "HAS_POC_DELIVERABLE": "(details.compVisDefinition.expectedOutcomes == 'poc')",
+ "HAS_RESEARCH_GRADE_DELIVERABLE": "(details.compVisDefinition.expectedOutcomes == 'research-grade')",
+ "ONE_DELIVERABLE": "( 1 == 1)",
+ "TRUTHY": "( 1 == 1)",
+ "EXPECTED_OUTCOME_POC": "(details.compVisDefinition.expectedOutcomes == 'poc')",
+ "EXPECTED_OUTCOME_RESEARCH_GRADE": "(details.compVisDefinition.expectedOutcomes == 'research-grade')",
+ "DATA_LABELED": "(details.compVisDefinition.isDataLabeled == 'yes')",
+ "DATA_NOT_LABELED": "(details.compVisDefinition.isDataLabeled == 'no')",
+ "LABELING_REQUIERD": "(details.compVisDefinition.isDataLabelingRequired == 'yes')",
+ "LABELING_NOT_REQUIERD": "(details.compVisDefinition.isDataLabelingRequired == 'no')",
+ "PROD_PREP_REQUIRED": "(details.compVisDefinition.productionPrepRequired == 'yes')",
+ "PROD_PREP_NOT_REQUIRED": "(details.compVisDefinition.productionPrepRequired == 'no')"
+ },
+ "buildingBlocks": {
+ "POC_LABELED_NO_PROD_PREP_COMP_VIZ_DESIGN": {
+ "conditions": "( EXPECTED_OUTCOME_POC && DATA_LABELED && PROD_PREP_NOT_REQUIRED )",
+ "price": "7741",
+ "minTime": 15,
+ "maxTime": 15,
+ "metadata": {
+ "deliverable": "comp-viz-poc"
+ }
+ },
+ "POC_NOT_LABELED_NO_PROD_PREP_COMP_VIZ_DESIGN": {
+ "conditions": "( EXPECTED_OUTCOME_POC && DATA_NOT_LABELED && LABELING_REQUIERD && PROD_PREP_NOT_REQUIRED )",
+ "price": "663",
+ "minTime": 30,
+ "maxTime": 30,
+ "metadata": {
+ "deliverable": "comp-viz-poc"
+ }
+ },
+ "POC_NOT_LABELED_NO_LABELING_NO_PROD_PREP_COMP_VIZ_DESIGN": {
+ "conditions": "( EXPECTED_OUTCOME_POC && DATA_NOT_LABELED && LABELING_NOT_REQUIERD && PROD_PREP_NOT_REQUIRED )",
+ "price": "3942",
+ "minTime": 15,
+ "maxTime": 15,
+ "metadata": {
+ "deliverable": "comp-viz-poc"
+ }
+ },
+ "RESEARCH_GRADE_LABELED_NO_PROD_PREP_COMP_VIZ_DESIGN": {
+ "conditions": "( EXPECTED_OUTCOME_RESEARCH_GRADE && DATA_LABELED && PROD_PREP_NOT_REQUIRED )",
+ "price": "8259",
+ "minTime": 30,
+ "maxTime": 30,
+ "metadata": {
+ "deliverable": "comp-viz-research-grade"
+ }
+ },
+ "RESEARCH_GRADE_NOT_LABELED_NO_PROD_PREP_COMP_VIZ_DESIGN": {
+ "conditions": "( EXPECTED_OUTCOME_RESEARCH_GRADE && DATA_NOT_LABELED && LABELING_REQUIERD && PROD_PREP_NOT_REQUIRED )",
+ "price": "7042",
+ "minTime": 45,
+ "maxTime": 45,
+ "metadata": {
+ "deliverable": "comp-viz-research-grade"
+ }
+ },
+ "RESEARCH_GRADE_NOT_LABELED_NO_LABELING_NO_PROD_PREP_COMP_VIZ_DESIGN": {
+ "conditions": "( EXPECTED_OUTCOME_RESEARCH_GRADE && DATA_NOT_LABELED && LABELING_NOT_REQUIERD && PROD_PREP_NOT_REQUIRED )",
+ "price": "3023",
+ "minTime": 30,
+ "maxTime": 30,
+ "metadata": {
+ "deliverable": "comp-viz-research-grade"
+ }
+ }
+ },
+ "priceConfig-old": null,
+ "priceConfigOpt": null,
+ "addonPriceConfig": {
+ "ONE_DELIVERABLE": []
+ }
+ },
+ "phases": {
+ "1-dev-iteration-i": {
+ "name": "Dev Iteration",
+ "products": [
+ {
+ "productKey": "development-iteration-5-milestones",
+ "id": 29
+ }
+ ],
+ "duration": 25
+ }
+ },
+ "form": null,
+ "planConfig": null,
+ "priceConfig": null,
+ "disabled": false,
+ "hidden": false,
+ "deletedAt": null,
+ "createdAt": "2019-06-20T12:06:09.000Z",
+ "updatedAt": "2020-01-22T13:22:41.363Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 213,
+ "name": "app",
+ "key": "app",
+ "category": "test-no-id",
+ "subCategory": null,
+ "metadata": {},
+ "icon": "app",
+ "question": "app",
+ "info": "app",
+ "aliases": [
+ "app"
+ ],
+ "scope": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "Sample Project",
+ "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",
+ "required": true,
+ "validationError": "Please let us know consumers of your application",
+ "title": "What type of question you want to see next?",
+ "description": "Description for the radio button type question",
+ "type": "radio-group",
+ "fieldName": "details.appDefinition.questionType",
+ "options": [
+ {
+ "value": "checkbox-group",
+ "label": "Checkbox Group"
+ },
+ {
+ "value": "slide-radiogroup",
+ "label": "Slide Radio Group"
+ },
+ {
+ "value": "tiled-radio-group",
+ "label": "Tiled Radio Group"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "required": true,
+ "validationError": "Validation error for tiled radio group question",
+ "title": "Sample tiled radio group question?",
+ "description": "Description for tiled radio group question",
+ "fieldName": "details.appDefinition.sampleTiledRadioGroup",
+ "type": "tiled-radio-group",
+ "condition": "details.appDefinition.questionType == 'tiled-radio-group'",
+ "options": [
+ {
+ "value": "value1",
+ "title": "Value 1",
+ "icon": "icon-test-unstructured",
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "desc": ""
+ },
+ {
+ "value": "value2",
+ "title": "Value 2",
+ "icon": "icon-test-structured",
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "desc": ""
+ },
+ {
+ "value": "value3",
+ "title": "Value 3",
+ "icon": "icon-dont-know",
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "desc": ""
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Sample Checkbox group type question",
+ "description": "Description for checkbox group type question",
+ "fieldName": "details.appDefinition.sampleCheckboxGroup",
+ "type": "checkbox-group",
+ "condition": "details.appDefinition.questionType == 'checkbox-group'",
+ "options": [
+ {
+ "value": "value1",
+ "label": "Value 1"
+ },
+ {
+ "value": "value2",
+ "label": "Value 2"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "description": "How much budget do you have?",
+ "title": "Sample Slide Radio Group type question",
+ "fieldName": "details.appDefinition.sampleSlideRadioGroup",
+ "type": "slide-radiogroup",
+ "condition": "details.appDefinition.questionType == '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 value for sample radio group question"
+ }
+ ]
+ },
+ {
+ "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"
+ }
+ ]
+ }
+ ]
+ },
+ "phases": {
+ "1-dev-iteration-i": {
+ "name": "Dev Iteration",
+ "products": [
+ {
+ "productKey": "development-iteration-5-milestones",
+ "id": 29
+ }
+ ],
+ "duration": 25
+ }
+ },
+ "form": null,
+ "planConfig": null,
+ "priceConfig": null,
+ "disabled": false,
+ "hidden": false,
+ "deletedAt": null,
+ "createdAt": "2019-07-04T20:12:15.000Z",
+ "updatedAt": "2020-01-22T13:22:41.363Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 66,
+ "name": "Zurich Data Science",
+ "key": "kubik_data_science",
+ "category": "app_dev",
+ "subCategory": null,
+ "metadata": {},
+ "icon": "product-qa-crowd-testing",
+ "question": "What do you need to explore?",
+ "info": "Data Science projects for Zurich",
+ "aliases": [
+ "kubik-data-science",
+ "kubik_data_science"
+ ],
+ "scope": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "Data Science",
+ "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",
+ "title": "Business Unit & Cost Center",
+ "type": "questions",
+ "required": true,
+ "questions": [
+ {
+ "fieldName": "details.businessUnit",
+ "title": "BU",
+ "description": "Business Unit or Group function (e.g. ZNA, UK, GF&SU, COMMERCIAL INSURANCE,…)",
+ "type": "textinput",
+ "validationError": "Mandatory field",
+ "validations": "isRequired",
+ "required": true
+ },
+ {
+ "fieldName": "details.costCentre",
+ "title": "Cost Centre",
+ "type": "textinput",
+ "validationError": "Mandatory field",
+ "validations": "isRequired",
+ "required": true
+ }
+ ]
+ },
+ {
+ "id": "appInfo",
+ "required": true,
+ "hideTitle": true,
+ "title": "App Information",
+ "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": "Description",
+ "type": "textbox"
+ }
+ ]
+ },
+ {
+ "id": "scopeQuestions",
+ "required": true,
+ "hideTitle": false,
+ "title": "Exploratory Questions",
+ "description": "",
+ "type": "questions",
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.problemType",
+ "description": "For example; Speed up an algorithm? Image Recognition? Use existing data to predict something? Optimization?",
+ "title": "What problem is it you’re looking to solve?",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.appDefinition.milestones",
+ "description": "",
+ "title": "What kind of key milestones or deadlines do you have?",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.appDefinition.minPerfThreshold",
+ "description": "",
+ "title": "Is there a minimum performance threshold you desire?",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.appDefinition.successDefinition",
+ "description": "",
+ "title": "What is the definition of success when solving this problem?",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.appDefinition.deployEnvironment",
+ "description": "",
+ "title": "What environment would the solution be deployed in?",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.appDefinition.solutionValue",
+ "description": "Think in terms of incremental revenue, reduced cost, time saved, etc.",
+ "title": "What is the value that the solution to this problem could bring?",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.appDefinition.dataAccessRoadBlocks",
+ "description": "e.g. HIPPA, Data Use Agreements",
+ "title": "Are there any obvious roadblocks to data access? ",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.appDefinition.exampleData",
+ "description": "",
+ "title": "Please share an example of your data, either a sample dataset or mock data emulating the structure and type of data we would be using.",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.appDefinition.stakeholders",
+ "description": "",
+ "title": "Who are the key stakeholders for this problem? Please provide their information.",
+ "type": "textbox"
+ }
+ ]
+ },
+ {
+ "required": true,
+ "hideTitle": false,
+ "title": "If this problem involves predictive analytics, image recognition or machine learning then",
+ "description": "",
+ "type": "questions",
+ "questions": [
+ {
+ "fieldName": "details.technicalRequirements.dataVolume",
+ "title": "How much data do you currently have? How many records? How many variables?",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.technicalRequirements.dataLocationAndTransfer",
+ "title": "Where is the data kept and will there be any data transfer obstacles?",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.technicalRequirements.groundTruthData",
+ "title": "Describe the “ground truth” data?",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.technicalRequirements.dataStructureType",
+ "title": "If machine learning or predictive analytics then is the data structured, semi-structured, or unstructured?",
+ "type": "textbox"
+ }
+ ]
+ },
+ {
+ "required": true,
+ "hideTitle": false,
+ "title": "Technical Questions",
+ "description": "",
+ "type": "questions",
+ "questions": [
+ {
+ "fieldName": "details.technicalRequirements.currentSolution",
+ "title": "Do you have a current solution? If so, how do you measure its effectiveness?",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.technicalRequirements.triedSolutions",
+ "title": "What have you tried so far to solve this problem or improve your current solution? To what degree has it worked? Who has performed this work?",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.technicalRequirements.improvementBoostNeeded",
+ "title": "How much of an improvement in performance relative to your current solution would you like to see?",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.technicalRequirements.metadata",
+ "description": "Business process flow diagrams, data dictionaries, and data are all extremely helpful.",
+ "title": "Please share all of the sources of metadata and data we might use for this project.",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.technicalRequirements.standardProblemPointers",
+ "title": "If the problem is a well-researched scientific problem, are there papers or websites you could point us to?",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.technicalRequirements.dataVariability",
+ "description": "e.g., ambient light level, weather conditions, image quality, shape, size, or texture of the object of interest, color versus black and white images, language, speaker, sex of the speaker, time of collection, location of collection, mode of collection, etc.",
+ "title": "What are the important sources of variability in the data?",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.technicalRequirements.deliverables",
+ "title": "How will the results be operationalized? Will just the algorithm suffice or will you create a tool yourself, or do you want us to make a tool for you? If the latter, with what other solutions or systems will the tool need to be compatible, and what are the requirements?",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.technicalRequirements.endUserOfTool",
+ "title": "Who will be the ultimate end-user of the tool?",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.technicalRequirements.productOwnerInOrg",
+ "title": "Who will be the owner of the product within the organization?",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.technicalRequirements.restrictionsAndSPOC",
+ "title": "What restrictions, if any, does your organization have on licensing and using third party or open source software solutions? Who in your organization is most familiar with those restrictions, and how can we contact them?",
+ "type": "textbox"
+ }
+ ]
+ },
+ {
+ "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": "$100K+"
+ }
+ ],
+ "required": true,
+ "validationError": "Please provide expected hours of execution"
+ },
+ {
+ "icon": "question",
+ "description": "When do you need your solution?",
+ "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"
+ },
+ {
+ "id": "files",
+ "required": false,
+ "title": "Files",
+ "description": "",
+ "type": "files",
+ "fieldName": "attachments",
+ "hiddenOnCreation": true
+ }
+ ]
+ }
+ ]
+ },
+ "phases": {
+ "data-science": {
+ "name": "Data Science",
+ "products": [
+ {
+ "productKey": "design-iteration-2-milestones",
+ "id": 25
+ }
+ ],
+ "duration": 25
+ }
+ },
+ "form": null,
+ "planConfig": null,
+ "priceConfig": null,
+ "disabled": false,
+ "hidden": true,
+ "deletedAt": null,
+ "createdAt": "2018-12-13T06:23:23.000Z",
+ "updatedAt": "2020-01-22T13:22:41.363Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 94,
+ "name": "New App with Updated designs",
+ "key": "app-new-updated-designs",
+ "category": "app",
+ "subCategory": null,
+ "metadata": {},
+ "icon": "product-app-app",
+ "question": "What do you need to develop ?",
+ "info": "Build apps for mobile, web, or wearables",
+ "aliases": [
+ "app-new-updated-designs"
+ ],
+ "scope": {
+ "sections": [
+ {
+ "id": "project-basic-details",
+ "title": "Basic Details",
+ "statusText": "Let's go",
+ "subSections": [
+ {
+ "type": "message",
+ "hideTitle": true,
+ "theme": "light",
+ "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?",
+ "theme": "light",
+ "validationError": "Please, provide a name to your project",
+ "validations": "isRequired",
+ "required": true
+ },
+ {
+ "fieldName": "description",
+ "type": "textbox",
+ "title": "Please describe your app using 2-3 sentences",
+ "theme": "light",
+ "validations": "isRequired,minLength:160",
+ "validationErrors": {
+ "isRequired": "Please provide a description",
+ "minLength": "Please enter at least 160 characters"
+ },
+ "required": true
+ },
+ {
+ "fieldName": "details.utm.code",
+ "type": "textinput",
+ "title": "Do you have a Reference code? (optional)",
+ "theme": "light"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "appDefinition",
+ "title": "App Definition",
+ "required": true,
+ "description": "",
+ "wizard": {
+ "enabled": true,
+ "previousStepVisibility": "write"
+ },
+ "subSections": [
+ {
+ "id": "deliverables",
+ "type": "questions",
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "questions": [
+ {
+ "type": "static",
+ "hiddenOnEdit": true,
+ "content": "
{{name}}
{{description}}
"
+ },
+ {
+ "icon": "question",
+ "title": "What do you need?",
+ "summaryTitle": "Work needed",
+ "description": "",
+ "fieldName": "details.appDefinition.deliverables",
+ "type": "checkbox-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What work is right for me?",
+ "title": "What work is right for me?",
+ "content": "
Section One Title Goes Here
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.
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.
"
+ },
+ "options": [
+ {
+ "value": "concept-designs",
+ "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-designs",
+ "label": "Comprehensive design for development",
+ "summaryLabel": "Comprehensive design",
+ "description": "Our designers will create all the design deliverables for your app, including app icons, design specifications, and design assets."
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "No problem! We can get you high-quality concept designs within a week. Do you need designs faster than this?",
+ "description": "",
+ "fieldName": "details.appDefinition.quickTurnaround",
+ "type": "radio-group",
+ "condition": "( details.appDefinition.designGoal == 'concept-designs' )",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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",
+ "required": true,
+ "options": [
+ {
+ "value": "under-3-days",
+ "label": "Yes, I need designs ASAP",
+ "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.",
+ "minTimeUp": 0,
+ "maxTimeUp": 0
+ },
+ {
+ "value": "under-6-days",
+ "label": "A week works for me!",
+ "summaryLabel": "7 days",
+ "description": "Topcoder will create agency-quality design variants for your app within 7 days.",
+ "minTimeUp": 3,
+ "maxTimeUp": 3
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "target-devices-os",
+ "hideTitle": true,
+ "type": "questions",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "Where should your app work?",
+ "summaryTitle": "Devices",
+ "description": "Select maximum 2 types of platforms 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.targetDevices",
+ "type": "checkbox-group",
+ "affectsQuickQuote": true,
+ "theme": "light",
+ "help": {
+ "linkTitle": "What to choose",
+ "title": "What to choose",
+ "content": "
Section One Title Goes Here
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",
+ "required": true,
+ "condition": "( (details.appDefinition.deliverables contains 'design') || (details.appDefinition.deliverables contains 'dev-qa') )",
+ "options": [
+ {
+ "label": "Mobile",
+ "value": "mobile",
+ "description": "Your app would work in all mobile devices. Our most requested option."
+ },
+ {
+ "label": "Tablet",
+ "value": "tablet",
+ "description": "Your app would be optimized for the larger form-factor of a tablet device."
+ },
+ {
+ "label": "Desktop",
+ "value": "desktop",
+ "description": "We will deliver a native desktop app, working under the selected desktop OS."
+ },
+ {
+ "label": "Web Browser",
+ "value": "web-browser",
+ "description": "Your app would be accessed via any web browser on desktop and mobile devices alike."
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "What type of platform do you need?",
+ "summaryTitle": "Mobile platforms",
+ "description": "Select maximum 2 types of platforms 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.mobilePlatforms",
+ "type": "checkbox-group",
+ "affectsQuickQuote": true,
+ "theme": "light",
+ "help": {
+ "linkTitle": "Which platforms to select?",
+ "title": "Which platforms to select?",
+ "content": "
Section One Title Goes Here
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.targetDevices contains 'mobile' ) || ( details.appDefinition.targetDevices contains 'tablet' )",
+ "options": [
+ {
+ "label": "iOS",
+ "value": "ios",
+ "description": "Your app would work on iOS phones. We will develop it using Objective-C and SWIFT"
+ },
+ {
+ "label": "Android",
+ "value": "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": "Does your app need to be Native or Hybrid?",
+ "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.nativeHybrid",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "Which OS to select?",
+ "title": "Which OS to select?",
+ "content": "
Section One Title Goes Here
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.mobilePlatforms contains 'ios' ) || ( details.appDefinition.mobilePlatforms contains 'android' )",
+ "options": [
+ {
+ "label": "Native",
+ "value": "native",
+ "description": "A native mobile app is a smartphone application that is coded in a specific programming language, such as Objective C for iOS or Java for Android operating systems."
+ },
+ {
+ "label": "Hybrid",
+ "value": "hybrid",
+ "description": "A hybrid application (hybrid app) is one that combines elements of both native and Web applications."
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Should your web app be progressive or responsive?",
+ "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.progressiveResponsive",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is responsive?",
+ "title": "What is responsive?",
+ "content": "
Section One Title Goes Here
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.targetDevices contains 'web-browser' )",
+ "options": [
+ {
+ "label": "Progressive",
+ "value": "progressive",
+ "description": "Your app would be optimized for all devices desktops."
+ },
+ {
+ "label": "Responsive",
+ "value": "responsive",
+ "description": "Your app would be optimized for all devices from mobile phones to large desktops."
+ }
+ ]
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ },
+ {
+ "id": "app-size-questions",
+ "hideTitle": true,
+ "type": "questions",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "How many screens do you need?",
+ "description": "This is the most popular project size that can get a medium-sized app designed in a breeze",
+ "fieldName": "details.appDefinition.numberScreens",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What are screens?",
+ "title": "What are screens?",
+ "content": "
Section One Title Goes Here
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.
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",
+ "required": true,
+ "condition": "!( !( details.appDefinition.targetDevices hasLength 1 ) && details.appDefinition.progressiveResponsive == 'responsive')",
+ "options": [
+ {
+ "value": "yes",
+ "label": "Yes (Managed)",
+ "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."
+ },
+ {
+ "value": "no",
+ "label": "No (Unmanaged)",
+ "summaryLabel": "No",
+ "description": "You will have to take technical decisions and discuss requirements with our project managers."
+ }
+ ]
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ },
+ {
+ "id": "customeQuote",
+ "hideTitle": true,
+ "fieldName": "details.appDefinition.message",
+ "title": "Message",
+ "description": "Wow! We love your idea. This is a very complex, technical solution. We will take a look at your project and contact you regarding next steps and a quote.",
+ "type": "message",
+ "condition": "( (!( details.appDefinition.targetDevices hasLength 1 )) && details.appDefinition.progressiveResponsive == 'responsive')"
+ },
+ {
+ "id": "message",
+ "hideTitle": true,
+ "fieldName": "details.appDefinition.message",
+ "title": "Message",
+ "description": "If you are done with requirements for your projects please review and continue to create project.",
+ "type": "message"
+ }
+ ]
+ },
+ {
+ "id": "summary-intermediate",
+ "hiddenOnEdit": true,
+ "hideFormHeader": true,
+ "nextButtonText": "Configure my project",
+ "footer": {
+ "content": ""
+ },
+ "subSections": [
+ {
+ "type": "questions",
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "static",
+ "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",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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.
"
+ },
+ {
+ "icon": "question",
+ "title": "What do you need?",
+ "summaryTitle": "Solution Needed",
+ "description": "",
+ "fieldName": "details.daasDefinition.deliverables",
+ "type": "radio-group",
+ "theme": "light",
+ "validationError": "Please, choose what do you need.",
+ "validations": "isRequired",
+ "required": true,
+ "options": [
+ {
+ "value": "b2bServices",
+ "label": "Business to Business Services",
+ "summaryLabel": "B2BServices",
+ "description": "Automation of business processes and communication/data exchange between two or more organizations."
+ },
+ {
+ "value": "a2aServices",
+ "label": "Application to Application Services",
+ "summaryLabel": "A2AServices",
+ "description": "Integration between applications."
+ },
+ {
+ "value": "APIAndMicroservice",
+ "label": "API Implementation & Microservices",
+ "summaryLabel": "API & Microservice",
+ "description": "Enable integration and modernization of applications using gateways and microservices framework."
+ },
+ {
+ "value": "APIManagement",
+ "label": "API Management",
+ "summaryLabel": "API Management",
+ "description": "The API governing process for a secure and scalable environment, using tools like APIGEE, Layer 7, IBM API Connect, etc."
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "b2b-solution",
+ "hideTitle": true,
+ "type": "questions",
+ "condition": "HAS_B2B_DELIVERABLE",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "How many partner organizations will be onboarded?",
+ "summaryTitle": "Partner Orgs",
+ "description": "",
+ "fieldName": "details.daasDefinition.b2b.partnerOrgs",
+ "condition": "HAS_B2B_DELIVERABLE",
+ "type": "textbox",
+ "required": true,
+ "validationError": "Please, describe your partner orgnizations",
+ "help": {
+ "linkTitle": "Why are we asking?",
+ "title": "Why are we asking partner organizations?",
+ "content": "
Understanding the number of partner organizations that will be onboarded provides context on: - Number of organization profiles to be configured - Number of partner profiles - Number of security methods to be configured - Number of defined contracts for trading partners
"
+ }
+ },
+ {
+ "icon": "question",
+ "title": "How many interfaces will need to be developed?",
+ "summaryTitle": "Interfaces",
+ "description": "",
+ "fieldName": "details.daasDefinition.interfaces",
+ "condition": "HAS_B2B_DELIVERABLE",
+ "type": "textbox",
+ "required": true,
+ "validationError": "Please, describe interfaces to be developed",
+ "help": {
+ "linkTitle": "Why are we asking?",
+ "title": "Why are we asking partner organizations?",
+ "content": "
Knowing this highlights the number of unique interfaces that will need to be designed and developed, as well as how many will require scheduling and configuration.
"
+ }
+ },
+ {
+ "icon": "question",
+ "title": "What type of protocol should be used?",
+ "summaryTitle": "Protocol",
+ "description": "",
+ "fieldName": "details.daasDefinition.protocols",
+ "condition": "HAS_B2B_DELIVERABLE",
+ "type": "radio-group",
+ "theme": "light",
+ "required": true,
+ "validationError": "Please, select the protocol",
+ "help": {
+ "linkTitle": "Why is this important?",
+ "title": "Why is this important?",
+ "content": "
The type of protocol indicates how the business to business services will be connected and communicate.
"
+ },
+ {
+ "icon": "question",
+ "title": "Please state the problem you would like to solve.",
+ "summaryTitle": "Problem Statement",
+ "description": "",
+ "fieldName": "details.dsIdeation.problemStatement",
+ "type": "textbox",
+ "required": true,
+ "validationError": "Please, provide problem statement/concept for your project"
+ }
+ ]
+ },
+ {
+ "id": "criteriaAndNotes",
+ "type": "questions",
+ "hideTitle": true,
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "questions": [
+ {
+ "icon": "question",
+ "title": "Describe the criteria you would like to use for deciding winning options.",
+ "summaryTitle": "Winning Criteria",
+ "description": "Consider how you will differentiate between first and second place solutions",
+ "fieldName": "details.dsIdeation.criteria",
+ "type": "textbox",
+ "required": true,
+ "validationError": "Please, describe the criteria you would like to use for deciding winning options."
+ },
+ {
+ "icon": "question",
+ "title": "Notes: Anything else you’d like to describe?",
+ "summaryTitle": "Notes",
+ "description": "",
+ "fieldName": "details.dsIdeation.notes",
+ "type": "textbox"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "summary-final",
+ "hiddenOnEdit": true,
+ "hideFormHeader": true,
+ "nextButtonText": "Save my project",
+ "footer": {
+ "content": ""
+ },
+ "subSections": [
+ {
+ "type": "questions",
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "static",
+ "content": "
Your Project Estimate
"
+ }
+ ]
+ },
+ {
+ "hideTitle": true,
+ "type": "portal",
+ "content": [
+ {
+ "sectionIndex": 1
+ },
+ {
+ "sectionIndex": 3
+ }
+ ]
+ },
+ {
+ "type": "questions",
+ "hideTitle": true,
+ "condition": "PROD_PREP_NOT_REQUIRED",
+ "questions": [
+ {
+ "type": "estimation",
+ "title": "Your project timeline",
+ "deliverables": [
+ {
+ "id": "comp-viz-design",
+ "title": "Poc",
+ "enableCondition": "HAS_POC_DELIVERABLE",
+ "deliverableKey": "comp-viz-poc"
+ },
+ {
+ "id": "comp-viz-research-grade",
+ "title": "Research Grade",
+ "enableCondition": "HAS_RESEARCH_GRADE_DELIVERABLE",
+ "deliverableKey": "comp-viz-research-grade"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "wizard": {
+ "enabled": true,
+ "previousStepVisibility": "none"
+ },
+ "basePriceEstimate": 0,
+ "baseTimeEstimateMin": 3,
+ "baseTimeEstimateMax": 6,
+ "priceConfig": {},
+ "preparedConditions": {
+ "HAS_POC_DELIVERABLE": "(details.compVisDefinition.expectedOutcomes == 'poc')",
+ "HAS_RESEARCH_GRADE_DELIVERABLE": "(details.compVisDefinition.expectedOutcomes == 'research-grade')",
+ "ONE_DELIVERABLE": "( 1 == 1)",
+ "TRUTHY": "( 1 == 1)",
+ "EXPECTED_OUTCOME_POC": "(details.compVisDefinition.expectedOutcomes == 'poc')",
+ "EXPECTED_OUTCOME_RESEARCH_GRADE": "(details.compVisDefinition.expectedOutcomes == 'research-grade')",
+ "DATA_LABELED": "(details.compVisDefinition.isDataLabeled == 'yes')",
+ "DATA_NOT_LABELED": "(details.compVisDefinition.isDataLabeled == 'no')",
+ "LABELING_REQUIERD": "(details.compVisDefinition.isDataLabelingRequired == 'yes')",
+ "LABELING_NOT_REQUIERD": "(details.compVisDefinition.isDataLabelingRequired == 'no')",
+ "PROD_PREP_REQUIRED": "(details.compVisDefinition.productionPrepRequired == 'yes')",
+ "PROD_PREP_NOT_REQUIRED": "(details.compVisDefinition.productionPrepRequired == 'no')"
+ },
+ "buildingBlocks": {},
+ "priceConfig-old": null,
+ "priceConfigOpt": null,
+ "addonPriceConfig": {
+ "ONE_DELIVERABLE": []
+ }
+ },
+ "phases": {
+ "1-dev-iteration-i": {
+ "name": "Dev Iteration",
+ "products": [
+ {
+ "productKey": "development-iteration-5-milestones",
+ "id": 29
+ }
+ ],
+ "duration": 25
+ }
+ },
+ "form": null,
+ "planConfig": null,
+ "priceConfig": null,
+ "disabled": false,
+ "hidden": false,
+ "deletedAt": null,
+ "createdAt": "2019-12-20T10:41:51.187Z",
+ "updatedAt": "2020-01-22T13:22:41.364Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 23,
+ "name": "Zurich Mobile",
+ "key": "enterprise_mobile",
+ "category": "app",
+ "subCategory": null,
+ "metadata": {},
+ "icon": "../../assets/icons/product-app-app.svg",
+ "question": "What do you need to develop?",
+ "info": "Zurich Mobile App",
+ "aliases": [
+ "kubik_mobile",
+ "kubik-mobile"
+ ],
+ "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": "questions",
+ "title": "Business Unit & Cost Center",
+ "type": "questions",
+ "required": true,
+ "questions": [
+ {
+ "fieldName": "details.businessUnit",
+ "title": "BU",
+ "description": "Business Unit or Group function (e.g. ZNA, UK, GF&SU, COMMERCIAL INSURANCE,…)",
+ "type": "textinput",
+ "validationError": "Mandatory field",
+ "validations": "isRequired",
+ "required": true
+ },
+ {
+ "fieldName": "details.costCentre",
+ "title": "Cost Centre",
+ "type": "textinput",
+ "validationError": "Mandatory field",
+ "validations": "isRequired",
+ "required": 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": "Briefly describe the application we are developing.",
+ "title": "Application Overview",
+ "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": "desktop-web-browser",
+ "label": "Desktop web browser application - An app built to be accessed over the web using a desktop browser such as Chrome, Safari and MS Explorer"
+ },
+ {
+ "value": "responsive-web-application",
+ "label": "Responsive web application - 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."
+ },
+ {
+ "value": "progressive-web-application",
+ "label": "Progressive web application - An app that is accessed by using a mobile web browser like Safari or Chrome, but that provides a native mobile app experience (rich features, i.e access device features such as GPS)."
+ },
+ {
+ "value": "other",
+ "label": "Other"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "If you need a mobile application, please indicate if it should be native or hybrid",
+ "description": "",
+ "fieldName": "details.appDefinition.nativeHybrid",
+ "type": "checkbox-group",
+ "options": [
+ {
+ "value": "native",
+ "label": "Native - An app built for phones or tablets using native iOS or Android (vs. a hybrid framework such has Ionic). "
+ },
+ {
+ "value": "hybrid",
+ "label": "Hybrid - An app built for phones or tablets using a hybrid framework such has Ionic."
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "If you need a mobile application, please indicate the devices you require the application to work on.",
+ "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 - Portrait"
+ },
+ {
+ "value": "tablet-device-landscape",
+ "label": "Tablet - Landscape"
+ }
+ ]
+ },
+ {
+ "fieldName": "details.userRoles.requiresAdminInterface",
+ "title": "Will your application require an admin interface?",
+ "type": "radio-group",
+ "options": [
+ {
+ "value": "yes",
+ "label": "Yes"
+ },
+ {
+ "value": "no",
+ "label": "No"
+ }
+ ]
+ },
+ {
+ "fieldName": "details.integrations.requiresIntegration",
+ "title": "Will your application require integrations to APIs, internal systems, or databases?",
+ "type": "radio-group",
+ "options": [
+ {
+ "value": "yes",
+ "label": "Yes"
+ },
+ {
+ "value": "no",
+ "label": "No"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "techStackGeneral",
+ "required": false,
+ "hideTitle": false,
+ "title": "Do you have a preferred technology stack for programming languages, frameworks, database, servers, middleware, API manager or hosting environments?",
+ "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"
+ },
+ {
+ "fieldName": "details.techstack.others",
+ "title": "Others",
+ "type": "textbox"
+ }
+ ]
+ },
+ {
+ "id": "screen-features",
+ "required": false,
+ "hideTitle": false,
+ "title": "Screen and Features",
+ "description": "",
+ "type": "questions",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "",
+ "description": "",
+ "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/FAQs",
+ "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": "",
+ "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"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "hideTitle": true,
+ "title": "Quality Assurance, Testing and Security",
+ "description": "",
+ "type": "questions",
+ "questions": [
+ {
+ "fieldName": "details.qaTesting.security",
+ "title": "Security Requirements",
+ "type": "checkbox-group",
+ "options": [
+ {
+ "value": "enterprise",
+ "label": "“Enterprise-Grade Security - Recommended if your application will house or transmit personal information personally identifiable information (PII) or sensitive data, such as financial data or health records. The data will be encrypted on the device and the server."
+ },
+ {
+ "value": "auditing",
+ "label": "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": "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."
+ },
+ {
+ "fieldName": "details.qaTesting.employMDMSolution",
+ "title": "Mobile Device Management (MDM) - Do you employ an MDM solution? If yes, what service do you use?",
+ "type": "radio-group",
+ "options": [
+ {
+ "value": "yes",
+ "label": "Yes"
+ },
+ {
+ "value": "no",
+ "label": "No"
+ }
+ ]
+ },
+ {
+ "fieldName": "details.qaTesting.mdmSolution",
+ "condition": "details.qaTesting.employMDMSolution == 'yes'",
+ "title": "Mobile Device Management (MDM) Details",
+ "type": "textinput"
+ },
+ {
+ "icon": "question",
+ "title": "Quality Assurance",
+ "description": "Quality matters to Topcoder. With any development project that Topcoder executes, standard quality assurance practices (Include more description) are included in the delivery process to ensure quality. The options below are additional quality assurance testing that you can include in the scope of your project. Please note that each added feature may incur a cost, but that the cost will be detailed and broken out in the final project proposal.",
+ "fieldName": "details.qaTesting.testing",
+ "type": "checkbox-group",
+ "options": [
+ {
+ "value": "rw-unstructured",
+ "label": "Real World Unstructured Testing - Functional testing performed without test scripts. Users search for their own bugs or usability issues."
+ },
+ {
+ "value": "rw-structured",
+ "label": "Real world Structured Testing - Test case creation and execution, covering all functional requirements and cross-browser testing."
+ },
+ {
+ "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": "uat-cycle",
+ "label": "UAT Test Cycle - Plan a beta test cycle where your company’s users can perform quality assurance testing and bug fixes/enhancements can be implemented based upon user feedback."
+ }
+ ]
+ },
+ {
+ "fieldName": "details.qaTesting.requiresTestDataCreation",
+ "title": "Test Data - Should we create test data as part of the project, or will you provide obfuscated test data?",
+ "type": "radio-group",
+ "options": [
+ {
+ "value": "yes",
+ "label": "Yes"
+ },
+ {
+ "value": "no",
+ "label": "No"
+ }
+ ]
+ },
+ {
+ "fieldName": "details.qaTesting.userCount",
+ "title": "User Count - How many users do you anticipate the application will have?",
+ "type": "numberinput"
+ }
+ ]
+ },
+ {
+ "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": "$100K+"
+ }
+ ],
+ "required": true,
+ "validationError": "Please provide expected hours of execution"
+ },
+ {
+ "icon": "question",
+ "description": "When do you need your solution?",
+ "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"
+ },
+ {
+ "id": "files",
+ "required": false,
+ "title": "Files",
+ "description": "",
+ "type": "files",
+ "fieldName": "attachments",
+ "hiddenOnCreation": true
+ }
+ ]
+ }
+ ]
+ },
+ "phases": {
+ "enterprise_mobile": {
+ "name": "Enterprise Mobile",
+ "duration": 10,
+ "products": [
+ {
+ "productKey": "enterprise_mobile",
+ "id": 6
+ }
+ ]
+ },
+ "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
+ }
+ },
+ "form": null,
+ "planConfig": null,
+ "priceConfig": null,
+ "disabled": false,
+ "hidden": true,
+ "deletedAt": null,
+ "createdAt": "2018-11-12T12:49:27.000Z",
+ "updatedAt": "2020-01-22T13:22:41.364Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 1,
+ "name": "Website",
+ "key": "website-default",
+ "category": "website",
+ "subCategory": null,
+ "metadata": {},
+ "icon": "../../assets/icons/product-cat-website.svg",
+ "question": "What do you need to Develop?",
+ "info": "Design and build the high-impact pages for your blog, online store, or company",
+ "aliases": [
+ "website",
+ "website_development"
+ ],
+ "scope": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "Website Development",
+ "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": "../../assets/icons/icon-tech-outline-mobile.svg",
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "desc": "iOS, Android, Hybrid"
+ },
+ {
+ "value": "tablet",
+ "title": "Tablet",
+ "icon": "../../assets/icons/icon-tech-outline-tablet.svg",
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "desc": "iOS, Android, Hybrid"
+ },
+ {
+ "value": "desktop",
+ "title": "Desktop",
+ "icon": "../../assets/icons/icon-tech-outline-desktop.svg",
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "desc": "all OS"
+ },
+ {
+ "value": "wearable",
+ "title": "Wearable",
+ "icon": "../../assets/icons/icon-tech-outline-watch-apple.svg",
+ "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"
+ },
+ {
+ "id": "files",
+ "required": false,
+ "title": "Files",
+ "description": "",
+ "type": "files",
+ "fieldName": "attachments",
+ "hiddenOnCreation": true
+ }
+ ]
+ }
+ ],
+ "scopeChangeFields": [
+ "details.appDefinition.primaryTarget"
+ ]
+ },
+ "phases": {
+ "1-app-design": {
+ "name": "Website 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
+ }
+ },
+ "form": null,
+ "planConfig": null,
+ "priceConfig": null,
+ "disabled": false,
+ "hidden": false,
+ "deletedAt": null,
+ "createdAt": "2018-06-06T10:52:02.000Z",
+ "updatedAt": "2020-01-22T13:22:41.469Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 204,
+ "name": "Data Visualization",
+ "key": "data_visualization",
+ "category": "scoped-solutions",
+ "subCategory": null,
+ "metadata": {},
+ "icon": "data-visualization",
+ "question": "whata",
+ "info": "Pull the most important highlights from your data to give decision-makers the tools they need to work smarter.",
+ "aliases": [
+ "data_visualization",
+ "data-visualization"
+ ],
+ "scope": {
+ "sections": [
+ {
+ "id": "project-basic-details",
+ "title": "Data Visualization",
+ "statusText": "Let's go",
+ "subSections": [
+ {
+ "type": "message",
+ "hideTitle": true,
+ "theme": "light",
+ "description": "We will ask you several questions in order to determine your project’s scope. All estimates are based on our 15 years of experience and thousands of projects. Final prices will be determined after our team completes a final scope review."
+ },
+ {
+ "title": "App details",
+ "type": "questions",
+ "questions": [
+ {
+ "fieldName": "name",
+ "type": "textinput",
+ "title": "Name your project",
+ "theme": "light",
+ "validationError": "Please, provide a name to your project",
+ "validations": "isRequired",
+ "required": true
+ },
+ {
+ "fieldName": "description",
+ "type": "textbox",
+ "title": "Describe the objectives of your Data Visualization project in 2-3 sentences.",
+ "theme": "light",
+ "validations": "isRequired",
+ "validationError": "Please, provide a description",
+ "validationErrors": {
+ "isRequired": "Please provide a description"
+ },
+ "required": true
+ },
+ {
+ "fieldName": "details.utm.code",
+ "type": "textinput",
+ "title": "Do you have a Reference code? (optional)",
+ "theme": "light"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "appDefinition",
+ "title": "Data Visualization",
+ "required": true,
+ "description": "",
+ "wizard": {
+ "enabled": true,
+ "previousStepVisibility": "write"
+ },
+ "subSections": [
+ {
+ "id": "deliverables",
+ "type": "questions",
+ "wizard": {
+ "enabled": true,
+ "previousStepVisibility": "readOptimized"
+ },
+ "questions": [
+ {
+ "type": "static",
+ "hiddenOnEdit": true,
+ "content": "
{{name}}
{{description}}
"
+ },
+ {
+ "icon": "question",
+ "title": "What do you need help with?",
+ "summaryTitle": "Deliverables",
+ "description": "",
+ "fieldName": "details.dataVizDefinition.deliverables",
+ "type": "radio-group",
+ "theme": "light",
+ "options": [
+ {
+ "label": "Porting and improving an existing report",
+ "value": "port-improve-existing",
+ "description": ""
+ },
+ {
+ "label": "Design and develop a new report or rich data visualization",
+ "value": "create-new",
+ "description": ""
+ }
+ ],
+ "validationError": "Please, let us know where do you need us to help with?",
+ "required": true
+ },
+ {
+ "icon": "question",
+ "title": "Are we using existing designs or creating new ones?",
+ "summaryTitle": "Design Work",
+ "description": "",
+ "fieldName": "details.dataVizDefinition.designWork",
+ "condition": "( details.dataVizDefinition.deliverables == 'port-improve-existing' )",
+ "type": "radio-group",
+ "theme": "light",
+ "options": [
+ {
+ "label": "Use existing designs",
+ "value": "existing-designs",
+ "description": ""
+ },
+ {
+ "label": "Create new designs",
+ "value": "new-designs",
+ "description": ""
+ }
+ ],
+ "validationError": "Please, let us know if we are using existing designs or creating new ones?",
+ "required": true
+ },
+ {
+ "icon": "question",
+ "title": "What platform were the existing reports using?",
+ "summaryTitle": "Existing Platforms",
+ "introduction": "List any licensed platforms/features you use today for data visualization.",
+ "description": "",
+ "fieldName": "details.dataVizDefinition.existing.platforms",
+ "condition": "( details.dataVizDefinition.deliverables == 'port-improve-existing' )",
+ "type": "checkbox-group",
+ "options": [
+ {
+ "label": "Tableau",
+ "value": "tableau"
+ },
+ {
+ "label": "Qlik & Product Family",
+ "value": "qlik-product-family"
+ },
+ {
+ "label": "Power BI",
+ "value": "power-bi"
+ },
+ {
+ "label": "TIBCO/Spotfire",
+ "value": "tibco-spotfire"
+ },
+ {
+ "label": "Looker",
+ "value": "looker"
+ },
+ {
+ "label": "Topcoder custom solution",
+ "value": "topcoder-custom-solution"
+ },
+ {
+ "label": "Other",
+ "value": "other"
+ }
+ ],
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is right for me?",
+ "title": "What is right for me?",
+ "content": "
You can leverage a common data visualization platform, such as Tableau, or Topcoder can build you a custom solution.
"
+ },
+ "validationError": "Please, select the data visualization platform would you like to leverage?",
+ "required": true
+ },
+ {
+ "icon": "question",
+ "title": "Please describe other existing platforms",
+ "summaryTitle": "Other Existing Platforms",
+ "description": "",
+ "fieldName": "details.dataVizDefinition.existing.otherPlatforms",
+ "condition": "(details.dataVizDefinition.existing.platforms contains 'other')",
+ "type": "textbox",
+ "theme": "light"
+ },
+ {
+ "icon": "question",
+ "title": "Describe any licensed features you have with the selected platforms.",
+ "summaryTitle": "Licensed Features",
+ "description": "",
+ "fieldName": "details.dataVizDefinition.existing.licensedFeatures",
+ "condition": "( HAS_EXISTING_LICENSED_PLATFORM )",
+ "type": "textbox",
+ "theme": "light"
+ },
+ {
+ "icon": "question",
+ "title": "What platform would you like us to use moving forward?",
+ "summaryTitle": "Visualization Platforms",
+ "description": "",
+ "fieldName": "details.dataVizDefinition.existing.platformsRequired",
+ "condition": "( details.dataVizDefinition.deliverables == 'port-improve-existing' )",
+ "type": "checkbox-group",
+ "options": [
+ {
+ "label": "Same platform(s) currently being used.",
+ "value": "existing-platform"
+ },
+ {
+ "label": "Tableau",
+ "value": "tableau"
+ },
+ {
+ "label": "Qlik & Product Family",
+ "value": "qlik-product-family"
+ },
+ {
+ "label": "Power BI",
+ "value": "power-bi"
+ },
+ {
+ "label": "TIBCO/Spotfire",
+ "value": "tibco-spotfire"
+ },
+ {
+ "label": "Looker",
+ "value": "looker"
+ },
+ {
+ "label": "Topcoder custom solution",
+ "value": "topcoder-custom-solution"
+ },
+ {
+ "label": "Other",
+ "value": "other"
+ }
+ ],
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is right for me?",
+ "title": "What is right for me?",
+ "content": "
You can leverage a common data visualization platform, such as Tableau, or Topcoder can build you a custom solution.
"
+ },
+ "validationError": "Please, select the data visualization platform would you like us to use moving forward?",
+ "required": true
+ },
+ {
+ "icon": "question",
+ "title": "What other platforms you like us to use moving forward?",
+ "summaryTitle": "Other Platforms",
+ "description": "",
+ "fieldName": "details.dataVizDefinition.existing.otherPlatformsRequired",
+ "condition": "(details.dataVizDefinition.existing.platformsRequired contains 'other')",
+ "type": "textbox",
+ "theme": "light"
+ },
+ {
+ "icon": "question",
+ "title": "Describe any licensed features you have with the selected platforms.",
+ "summaryTitle": "Licensed Features",
+ "description": "",
+ "fieldName": "details.dataVizDefinition.existing.licensedFeaturesRequired",
+ "condition": "( ASK_LICENSED_PLATFORM_REQUIRED )",
+ "type": "textbox",
+ "theme": "light"
+ },
+ {
+ "icon": "question",
+ "title": "What data visualization platform would you like to leverage?",
+ "summaryTitle": "Visualization Platforms",
+ "introduction": "Describe your preference and list any licensed platforms/features you use today for data visualization.",
+ "description": "",
+ "fieldName": "details.dataVizDefinition.new.platformsRequired",
+ "condition": "( details.dataVizDefinition.deliverables == 'create-new' )",
+ "type": "checkbox-group",
+ "options": [
+ {
+ "label": "Tableau",
+ "value": "tableau"
+ },
+ {
+ "label": "Qlik & Product Family",
+ "value": "qlik-product-family"
+ },
+ {
+ "label": "Power BI",
+ "value": "power-bi"
+ },
+ {
+ "label": "TIBCO/Spotfire",
+ "value": "tibco-spotfire"
+ },
+ {
+ "label": "Looker",
+ "value": "looker"
+ },
+ {
+ "label": "Topcoder custom solution",
+ "value": "topcoder-custom-solution"
+ },
+ {
+ "label": "Other",
+ "value": "other"
+ }
+ ],
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is right for me?",
+ "title": "What is right for me?",
+ "content": "
You can leverage a common data visualization platform, such as Tableau, or Topcoder can build you a custom solution.
"
+ },
+ "validationError": "Please, select the data visualization platform would you like to leverage?",
+ "required": true
+ },
+ {
+ "icon": "question",
+ "title": "What other platforms you like to leverage?",
+ "summaryTitle": "Other Platforms",
+ "description": "",
+ "fieldName": "details.dataVizDefinition.new.otherPlatformsRequired",
+ "condition": "(details.dataVizDefinition.new.platformsRequired contains 'other')",
+ "type": "textbox",
+ "theme": "light"
+ },
+ {
+ "icon": "question",
+ "title": "Describe any licensed features you have with the selected platforms.",
+ "summaryTitle": "Licensed Features",
+ "description": "",
+ "fieldName": "details.dataVizDefinition.new.licensedFeaturesRequired",
+ "condition": "( ASK_LICENSED_PLATFORM_REQUIRED_NEW )",
+ "type": "textbox",
+ "theme": "light"
+ }
+ ]
+ },
+ {
+ "id": "requirements",
+ "type": "questions",
+ "hideTitle": true,
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "questions": [
+ {
+ "icon": "question",
+ "title": "Where will your data be viewed?",
+ "summaryTitle": "Target Devices",
+ "description": "",
+ "fieldName": "details.dataVizDefinition.targetDevices",
+ "type": "checkbox-group",
+ "theme": "light",
+ "options": [
+ {
+ "label": "Desktop",
+ "value": "desktop"
+ },
+ {
+ "label": "Mobile",
+ "value": "mobile"
+ },
+ {
+ "label": "Tablet",
+ "value": "tablet"
+ }
+ ],
+ "validationError": "Please, select the target devices?",
+ "required": true
+ },
+ {
+ "icon": "question",
+ "title": "How many separate tabs do you expect your data visualization report to have?",
+ "summaryTitle": "Tabs Count",
+ "description": "",
+ "fieldName": "details.dataVizDefinition.tabsCount",
+ "type": "textinput",
+ "theme": "light"
+ }
+ ]
+ },
+ {
+ "id": "dataDetails",
+ "hideTitle": true,
+ "type": "questions",
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "questions": [
+ {
+ "icon": "question",
+ "title": "Briefly describe the data that will be visualized.",
+ "summaryTitle": "Data Description",
+ "description": "",
+ "fieldName": "details.dataVizDefinition.dataDetails",
+ "type": "textbox",
+ "theme": "light",
+ "validationError": "Please, choose what do you need.",
+ "validations": "isRequired",
+ "required": true
+ },
+ {
+ "icon": "question",
+ "title": "Is your data easily accessible?",
+ "summaryTitle": "Is Data Accessible",
+ "description": "",
+ "fieldName": "details.dataVizDefinition.isDataAccessible",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What does this mean?",
+ "title": "What does this mean?",
+ "content": "
Data is considered easily accessible when it can be shared as-is with our platform through database extracts or spreadsheets and is not constrained by obfuscation, licensing, or data sensitivity.
"
+ },
+ "options": [
+ {
+ "label": "Yes, the data is easily accessible.",
+ "value": "yes",
+ "description": ""
+ },
+ {
+ "label": "No, the data is not easily accessible.",
+ "value": "no",
+ "description": ""
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Will Topcoder need to obfuscate your data?",
+ "summaryTitle": "Need Obfuscation",
+ "description": "",
+ "fieldName": "details.dataVizDefinition.needObfuscation",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "Why obfuscate data?",
+ "title": "Why obfuscate data?",
+ "content": "
Obfuscation protects unintentional data loss/sharing of sensitive data. Sensitive data includes, but is not limited too:
-confidential business information (e.g. financial, operational, trade secrets)
-classified information (subject to governmental security regulations)
-personal identifiable information (PII)
"
+ },
+ "options": [
+ {
+ "label": "No, my data is ready as-is.",
+ "value": "no",
+ "description": ""
+ },
+ {
+ "label": "Yes, my data will need obfuscation.",
+ "value": "yes",
+ "description": ""
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Is the data refreshed daily?",
+ "summaryTitle": "Data Access",
+ "description": "",
+ "fieldName": "details.dataVizDefinition.isDataRefreshedDaily",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "Why are you asking?",
+ "title": "Why are you asking?",
+ "content": "
Data that is available for everyday consumption has typically been refreshed and processed into the appropriate form on at least a daily basis. The importance of this availability will depend on your data visualization needs—whether your objectives lean more analytical vs operational.
"
+ },
+ "options": [
+ {
+ "label": "Yes",
+ "value": "yes",
+ "description": ""
+ },
+ {
+ "label": "No",
+ "value": "no",
+ "description": ""
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Will you provide sample/reference data?",
+ "summaryTitle": "Sample Data",
+ "description": "",
+ "fieldName": "details.dataVizDefinition.sampleData",
+ "type": "radio-group",
+ "theme": "light",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "yes",
+ "description": ""
+ },
+ {
+ "label": "No",
+ "value": "no",
+ "description": ""
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "usageDetails",
+ "hideTitle": true,
+ "type": "questions",
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "questions": [
+ {
+ "icon": "question",
+ "title": "Briefly describe the roles of the intended users and how they will leverage the data to make decisions.",
+ "summaryTitle": "User Roles",
+ "description": "",
+ "fieldName": "details.dataVizDefinition.userRoles",
+ "type": "textbox"
+ },
+ {
+ "icon": "question",
+ "title": "How will the intended users need to manipulate the data to effectively analyze it?",
+ "summaryTitle": "Intended Usage",
+ "description": "",
+ "fieldName": "details.dataVizDefinition.intendedDataUsage",
+ "type": "textbox"
+ },
+ {
+ "icon": "question",
+ "title": "Briefly describe how the intended users access this data today.",
+ "introduction": "What do users like and dislike about how they access the data today, and what would make the experience better?",
+ "summaryTitle": "Data Usage",
+ "description": "",
+ "fieldName": "details.dataVizDefinition.currentDataUsage",
+ "type": "textbox"
+ },
+ {
+ "icon": "question",
+ "title": "What are the key performance indicators that should be highlighted and why are they important to you?",
+ "summaryTitle": "Performance Indicators",
+ "description": "",
+ "fieldName": "details.dataVizDefinition.performanceIndicators",
+ "type": "textbox"
+ },
+ {
+ "icon": "question",
+ "title": "What will qualify this data visualization project as a success for you?",
+ "summaryTitle": "Success Indicators",
+ "description": "",
+ "fieldName": "details.dataVizDefinition.successIndicators",
+ "type": "textbox",
+ "help": {
+ "linkTitle": "What are common success indicators?",
+ "title": "What are common success indicators?",
+ "content": "In Topcoder’s history, data visualization project success has often been based off of the following attributes:
How well the UX is planned, captured and conveyed visually.
How well the dashboard shows the data and relationships.
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.
"
+ },
+ {
+ "icon": "question",
+ "title": "What type of budget do you need?",
+ "summaryTitle": "Type of budget",
+ "description": "",
+ "fieldName": "details.budgetDetails.deliverables",
+ "type": "checkbox-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is right for me?",
+ "title": "What is right for me?",
+ "content": "
Topcoder has design, development, and deployment solutions can be combined in a single project to help you deliver an end-to-end application.
It is important to note that all Topcoder development projects include standard quality assurance testing at no additional cost to help ensure you are getting the highest-quality application possible.
"
+ },
+ "validationError": "Please, choose what do you need.",
+ "validations": "isRequired",
+ "required": true,
+ "options": [
+ {
+ "value": "design",
+ "label": "Design",
+ "summaryLabel": "Design",
+ "description": "We will design your app experience, focusing on the major features and experiences."
+ },
+ {
+ "value": "dev",
+ "label": "Development",
+ "summaryLabel": "Development",
+ "description": "We will develop your app based on existing designs. Building a reliable application for you is our priority. We include standard quality assurance testing at no additional cost when doing any development."
+ },
+ {
+ "value": "data-science",
+ "label": "Data Science",
+ "description": "Data science budget"
+ },
+ {
+ "value": "qa",
+ "label": "Quality Assurance",
+ "summaryLabel": "QA",
+ "description": "Standard quality assurance testing."
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "deliverables",
+ "type": "questions",
+ "hideTitle": true,
+ "layout": {
+ "spacing": "codes"
+ },
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "questions": [
+ {
+ "icon": "question",
+ "title": "How much design budget capacity would you like to purchase?",
+ "summaryTitle": "Design Units",
+ "introduction": "Price: $10K budget increments",
+ "description": "Enter total number of budget increments you need: Ex. 2 ($10K x 2 = $20K budget)",
+ "fieldName": "details.budgetDetails.design.qty",
+ "type": "numberinput",
+ "minValue": 1,
+ "maxValue": 100,
+ "defaultValue": 1,
+ "condition": "details.budgetDetails.deliverables contains 'design'"
+ },
+ {
+ "icon": "question",
+ "title": "How much development budget capacity would you like to purchase?",
+ "summaryTitle": "Development Units",
+ "introduction": "Price: $10K budget increments",
+ "description": "Enter total number of budget increments you need: Ex. 2 ($10K x 2 = $20K budget)",
+ "fieldName": "details.budgetDetails.development.qty",
+ "type": "numberinput",
+ "minValue": 1,
+ "maxValue": 100,
+ "defaultValue": 1,
+ "condition": "details.budgetDetails.deliverables contains 'dev'"
+ },
+ {
+ "icon": "question",
+ "title": "How much data science budget capacity would you like to purchase?",
+ "summaryTitle": "Data Science Units",
+ "introduction": "Price: $10K budget increments",
+ "description": "Enter total number of budget increments you need: Ex. 2 ($10K x 2 = $20K budget)",
+ "fieldName": "details.budgetDetails.dataScience.qty",
+ "type": "numberinput",
+ "minValue": 1,
+ "maxValue": 100,
+ "defaultValue": 1,
+ "condition": "details.budgetDetails.deliverables contains 'data-science'"
+ },
+ {
+ "icon": "question",
+ "title": "How much QA budget capacity would you like to purchase?",
+ "summaryTitle": "QA Units",
+ "introduction": "Price: $3.5K budget increments",
+ "description": "Enter total number of budget increments you need: Ex. 2 ($3.5K x 2 = $7K budget)",
+ "fieldName": "details.budgetDetails.qa.qty",
+ "type": "numberinput",
+ "minValue": 1,
+ "maxValue": 100,
+ "defaultValue": 1,
+ "condition": "details.budgetDetails.deliverables contains 'qa'"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "summary-intermediate",
+ "hiddenOnEdit": true,
+ "hideFormHeader": true,
+ "nextButtonText": "Configure my project",
+ "footer": {
+ "content": ""
+ },
+ "subSections": [
+ {
+ "type": "questions",
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "static",
+ "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.
"
+ },
+ {
+ "icon": "question",
+ "title": "What do you need?",
+ "summaryTitle": "Work needed",
+ "description": "",
+ "fieldName": "details.appDefinition.deliverables",
+ "type": "checkbox-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What work is right for me?",
+ "title": "What work is right for me?",
+ "content": "
Section One Title Goes Here
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",
+ "required": true,
+ "options": [
+ {
+ "value": "design",
+ "label": "Design",
+ "summaryLabel": "Design",
+ "description": "We will design your app experience, focusing on the major features and experiences."
+ },
+ {
+ "value": "dev-qa",
+ "label": "Development",
+ "summaryLabel": "Development",
+ "description": "We will develop your app based on existing designs. Building a reliable application for you is our priority. We include standard quality assurance testing at no additional cost when doing any development."
+ },
+ {
+ "value": "qa",
+ "label": "QA, Fixes & Enhancements",
+ "summaryLabel": "QA",
+ "autoSelectCondition": "HAS_DEV_DELIVERABLE",
+ "disableCondition": "HAS_DEV_DELIVERABLE",
+ "description": "We will extensively test your source code on multiple environments and eliminate any bugs. This will make sure your app is 100% ready for the prime-time."
+ },
+ {
+ "value": "deployment",
+ "label": "Deployment",
+ "description": "Our team will ensure that your code is packaged and distributed correctly on the all target platforms and/or App Stores."
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "What is the goal of your designs?",
+ "summaryTitle": "Design goal",
+ "description": "",
+ "fieldName": "details.appDefinition.designGoal",
+ "type": "radio-group",
+ "validationError": "Please, choose you design goal.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "HAS_DESIGN_DELIVERABLE",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What should I choose?",
+ "title": "What should I choose?",
+ "content": "
Section One Title Goes Here
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.
"
+ },
+ "options": [
+ {
+ "value": "concept-designs",
+ "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.",
+ "disableCondition": "HAS_DEV_DELIVERABLE"
+ },
+ {
+ "value": "comprehensive-designs",
+ "label": "Comprehensive design for development",
+ "summaryLabel": "Comprehensive design",
+ "description": "Our designers will create all the design deliverables for your app, including app icons, design specifications, and design assets.",
+ "autoSelectCondition": "HAS_DEV_DELIVERABLE"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "No problem! We can get you high-quality concept designs within a week. Do you need designs faster than this?",
+ "description": "",
+ "summaryTitle": "Quick Turnaround",
+ "fieldName": "details.appDefinition.quickTurnaround",
+ "type": "radio-group",
+ "condition": "CONCEPT_DESIGN",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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",
+ "required": true,
+ "options": [
+ {
+ "value": "under-3-days",
+ "label": "Yes, I need designs ASAP",
+ "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."
+ },
+ {
+ "value": "under-6-days",
+ "label": "A week works for me!",
+ "summaryLabel": "6 days",
+ "description": "Topcoder will create agency-quality design variants for your app within 7 days."
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "target-devices-os",
+ "hideTitle": true,
+ "type": "questions",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "Where should your app work?",
+ "summaryTitle": "Devices",
+ "description": "Select maximum 2 types of platforms 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.targetDevices",
+ "type": "checkbox-group",
+ "affectsQuickQuote": true,
+ "theme": "light",
+ "help": {
+ "linkTitle": "What to choose",
+ "title": "What to choose",
+ "content": "
Section One Title Goes Here
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",
+ "required": true,
+ "condition": "( HAS_DESIGN_DELIVERABLE || HAS_DEV_DELIVERABLE )",
+ "options": [
+ {
+ "label": "Mobile",
+ "value": "mobile",
+ "description": "Your app would work in all mobile devices. Our most requested option."
+ },
+ {
+ "label": "Tablet",
+ "value": "tablet",
+ "description": "Your app would be optimized for the larger form-factor of a tablet device."
+ },
+ {
+ "label": "Desktop",
+ "value": "desktop",
+ "description": "We will deliver a native desktop app, working under the selected desktop OS."
+ },
+ {
+ "label": "Web Browser",
+ "value": "web-browser",
+ "description": "Your app would be accessed via any web browser on desktop and mobile devices alike."
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "What type of platform do you need?",
+ "summaryTitle": "Mobile platforms",
+ "description": "Select maximum 2 types of platforms 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.mobilePlatforms",
+ "type": "checkbox-group",
+ "affectsQuickQuote": true,
+ "theme": "light",
+ "help": {
+ "linkTitle": "Which platforms to select?",
+ "title": "Which platforms to select?",
+ "content": "
Section One Title Goes Here
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.targetDevices contains 'mobile' ) || ( details.appDefinition.targetDevices contains 'tablet' )",
+ "options": [
+ {
+ "label": "iOS",
+ "value": "ios",
+ "description": "Your app would work on iOS phones. We will develop it using Objective-C and SWIFT"
+ },
+ {
+ "label": "Android",
+ "value": "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": "Does your app need to be Native or Hybrid?",
+ "summaryTitle": "App Type",
+ "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.nativeHybrid",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "Which OS to select?",
+ "title": "Which OS to select?",
+ "content": "
Section One Title Goes Here
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 let us know the type of the app?",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "( details.appDefinition.mobilePlatforms contains 'ios' ) || ( details.appDefinition.mobilePlatforms contains 'android' )",
+ "options": [
+ {
+ "label": "Native",
+ "value": "native",
+ "description": "A native mobile app is a smartphone application that is coded in a specific programming language, such as Objective C for iOS or Java for Android operating systems."
+ },
+ {
+ "label": "Hybrid",
+ "value": "hybrid",
+ "description": "A hybrid application (hybrid app) is one that combines elements of both native and Web applications."
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Should your web app be progressive or responsive?",
+ "summaryTitle": "Web App Type",
+ "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.progressiveResponsive",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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 let us know the type of web app?",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "( details.appDefinition.targetDevices contains 'web-browser' )",
+ "options": [
+ {
+ "label": "Progressive",
+ "value": "progressive",
+ "description": "Your app would be optimized for all devices desktops."
+ },
+ {
+ "label": "Responsive",
+ "value": "responsive",
+ "description": "Your app would be optimized for all devices from mobile phones to large desktops."
+ }
+ ]
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ },
+ {
+ "id": "app-size-questions",
+ "hideTitle": true,
+ "type": "questions",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "How many screens do you need?",
+ "summaryTitle": "Screens",
+ "description": "This is the most popular project size that can get a medium-sized app designed in a breeze",
+ "fieldName": "details.appDefinition.numberScreens",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What are screens?",
+ "title": "What are screens?",
+ "content": "
Section One Title Goes Here
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 let us know the number of screens required?",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "( HAS_DESIGN_DELIVERABLE || HAS_DEV_DELIVERABLE ) && (!( MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP))",
+ "options": [
+ {
+ "value": "2-4",
+ "label": "2-4 screens",
+ "description": "Suitable for small apps with 2-4 main features",
+ "disabled": false
+ },
+ {
+ "value": "5-8",
+ "label": "5-8 screens",
+ "description": "Suitable for medium apps with 5-8 main features",
+ "disabled": false
+ },
+ {
+ "value": "9-15",
+ "label": "9-15 screens",
+ "description": "Suitable for larger apps with 9-15 main features",
+ "disabled": false,
+ "condition": "!QUICK_DESIGN_3_DAYS"
+ }
+ ]
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ },
+ {
+ "id": "qa-deliverable-questions",
+ "hideTitle": true,
+ "type": "questions",
+ "condition": "ONE_DELIVERABLE && HAS_QA_DELIVERABLE",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "What type of QA you need?",
+ "description": "",
+ "fieldName": "details.appDefinition.qaType",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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",
+ "required": true,
+ "condition": "( HAS_QA_DELIVERABLE && ONE_DELIVERABLE )",
+ "options": [
+ {
+ "value": "real-world-unstructured",
+ "label": "Real World Unstructured Testing"
+ },
+ {
+ "value": "real-world-structured",
+ "label": "Real World Structured Testing"
+ },
+ {
+ "value": "mobility-testing",
+ "label": "Mobility Testing"
+ },
+ {
+ "value": "automated-testing",
+ "label": "Automation Testing"
+ },
+ {
+ "value": "performance-testing",
+ "label": "Performance Testing"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "What do you need us to help you with?",
+ "description": "",
+ "fieldName": "details.appDefinition.structuredTestWorkType",
+ "type": "checkbox-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What work is right for me?",
+ "title": "What work is right for me?",
+ "content": "
Section One Title Goes Here
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 us to help with.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "REAL_WORLD_STRUCT_TESTING",
+ "options": [
+ {
+ "value": "test-case-creation",
+ "label": "Test Case Creation"
+ },
+ {
+ "value": "test-case-execution",
+ "label": "Test Case Execution"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "How many test cases do you need?",
+ "description": "",
+ "fieldName": "details.appDefinition.structuredTestsCount",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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 test cases you need or have.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "REAL_WORLD_STRUCT_TESTING",
+ "options": [
+ {
+ "value": "upto-50",
+ "label": "Up to 50 test cases",
+ "condition": "(STRUCT_TEST_CASE_CREATION && ONE_QA_DELIVERABLE)"
+ },
+ {
+ "value": "upto-100",
+ "label": "Up to 100 test cases",
+ "condition": "(STRUCT_TEST_CASE_CREATION && ONE_QA_DELIVERABLE)"
+ },
+ {
+ "value": "upto-150",
+ "label": "Up to 150 test cases",
+ "condition": "(STRUCT_TEST_CASE_EXECUTION)"
+ },
+ {
+ "value": "upto-300",
+ "label": "Up to 300 test cases",
+ "condition": "(STRUCT_TEST_CASE_EXECUTION)"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "How many screens need to be tested?",
+ "description": "",
+ "fieldName": "details.appDefinition.unstructuredTestsScreenCount",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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 test cases you need or have.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "REAL_WORLD_UNSTRUCT_TESTING",
+ "options": [
+ {
+ "value": "upto-10",
+ "label": "Up to 10"
+ },
+ {
+ "value": "upto-30",
+ "label": "Up to 30"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "How many test cases do you need?",
+ "description": "",
+ "fieldName": "details.appDefinition.automatedTestsCount",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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 test cases you have or need.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "AUTOMATED_TESTING",
+ "options": [
+ {
+ "value": "upto-50",
+ "label": "Up to 50 test cases"
+ },
+ {
+ "value": "upto-100",
+ "label": "Up to 100 test cases"
+ }
+ ]
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ },
+ {
+ "id": "deployment-deliverable-questions",
+ "hideTitle": true,
+ "type": "questions",
+ "condition": "HAS_DEPLOY_DELIVERABLE",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "Where do you need your app deployed?",
+ "summaryTitle": "Deployment Targets",
+ "description": "",
+ "fieldName": "details.appDefinition.deploymentTargets",
+ "type": "checkbox-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What work is right for me?",
+ "title": "What work is right for me?",
+ "content": "
Section One Title Goes Here
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 us to help with.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "HAS_DEPLOY_DELIVERABLE",
+ "options": [
+ {
+ "value": "apple-app-store",
+ "label": "Apple App Store",
+ "condition": "( ONE_DELIVERABLE || (details.appDefinition.mobilePlatforms contains 'ios') )",
+ "description": "Apple App Store Deployment"
+ },
+ {
+ "value": "google-play",
+ "label": "Google Play",
+ "condition": "( ONE_DELIVERABLE || (details.appDefinition.mobilePlatforms contains 'android') )",
+ "description": "Google App Store Deployment"
+ },
+ {
+ "value": "internal-production-environment",
+ "label": "Internal Production Environment",
+ "condition": "( ONE_DELIVERABLE || (details.appDefinition.targetDevices contains 'desktop') || (details.appDefinition.targetDevices contains 'web-browser') )",
+ "description": "Deployment to your internal production environment"
+ }
+ ]
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ },
+ {
+ "id": "tc-services-questions",
+ "hideTitle": true,
+ "type": "questions",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "Do you want a Community Architect to oversee your project?",
+ "summaryTitle": "Architect",
+ "description": "",
+ "fieldName": "details.appDefinition.caNeeded",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "Do I need an architect?",
+ "title": "Do I need an architect?",
+ "content": "
Section One Title Goes Here
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",
+ "required": true,
+ "condition": "!( MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP)",
+ "options": [
+ {
+ "value": "yes",
+ "label": "Yes (Managed)",
+ "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."
+ },
+ {
+ "value": "no",
+ "label": "No (Unmanaged)",
+ "summaryLabel": "No",
+ "description": "You will have to take technical decisions and discuss requirements with our project managers."
+ }
+ ]
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ },
+ {
+ "id": "customeQuote",
+ "hideTitle": true,
+ "fieldName": "details.appDefinition.message",
+ "title": "Message",
+ "description": "Wow! We love your idea. This is a very complex, technical solution. We will take a look at your project and contact you regarding next steps and a quote.",
+ "type": "message",
+ "condition": "MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP"
+ }
+ ]
+ },
+ {
+ "id": "summary-intermediate",
+ "hiddenOnEdit": true,
+ "hideFormHeader": true,
+ "nextButtonText": "Configure my project",
+ "footer": {
+ "content": ""
+ },
+ "subSections": [
+ {
+ "type": "questions",
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "static",
+ "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": "HAS_DESIGN_DELIVERABLE",
+ "category": "design"
+ },
+ {
+ "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",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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": "HAS_DEV_DELIVERABLE",
+ "category": "development"
+ },
+ {
+ "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",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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": "HAS_QA_DELIVERABLE",
+ "category": "qa"
+ },
+ {
+ "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",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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.
"
+ },
+ {
+ "icon": "question",
+ "title": "What do you need?",
+ "summaryTitle": "Work needed",
+ "description": "",
+ "fieldName": "details.appDefinition.deliverables",
+ "type": "checkbox-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What work is right for me?",
+ "title": "What work is right for me?",
+ "content": "
Section One Title Goes Here
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",
+ "required": true,
+ "options": [
+ {
+ "value": "design",
+ "label": "Design",
+ "summaryLabel": "Design",
+ "description": "We will design your app experience, focusing on the major features and experiences."
+ },
+ {
+ "value": "dev-qa",
+ "label": "Development",
+ "summaryLabel": "Development",
+ "description": "We will develop your app based on existing designs. Building a reliable application for you is our priority. We include standard quality assurance testing at no additional cost when doing any development."
+ },
+ {
+ "value": "qa",
+ "label": "QA, Fixes & Enhancements",
+ "summaryLabel": "QA",
+ "autoSelectCondition": "(details.appDefinition.deliverables contains 'dev-qa')",
+ "disableCondition": "(details.appDefinition.deliverables contains 'dev-qa')",
+ "description": "We will extensively test your source code on multiple environments and eliminate any bugs. This will make sure your app is 100% ready for the prime-time."
+ },
+ {
+ "value": "deployment",
+ "label": "Deployment",
+ "description": "Our team will ensure that your code is packaged and distributed correctly on the all target platforms and/or App Stores."
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "What is the goal of your designs?",
+ "summaryTitle": "Design goal",
+ "description": "",
+ "fieldName": "details.appDefinition.designGoal",
+ "type": "radio-group",
+ "validationError": "Please, choose you design goal.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "(details.appDefinition.deliverables contains 'design')",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What should I choose?",
+ "title": "What should I choose?",
+ "content": "
Section One Title Goes Here
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.
"
+ },
+ "options": [
+ {
+ "value": "concept-designs",
+ "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.",
+ "disableCondition": "details.appDefinition.deliverables contains 'dev-qa'"
+ },
+ {
+ "value": "comprehensive-designs",
+ "label": "Comprehensive design for development",
+ "summaryLabel": "Comprehensive design",
+ "description": "Our designers will create all the design deliverables for your app, including app icons, design specifications, and design assets.",
+ "autoSelectCondition": "(details.appDefinition.deliverables contains 'dev-qa')"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "No problem! We can get you high-quality concept designs within a week. Do you need designs faster than this?",
+ "description": "",
+ "summaryTitle": "Quick Turnaround",
+ "fieldName": "details.appDefinition.quickTurnaround",
+ "type": "radio-group",
+ "condition": "( details.appDefinition.designGoal == 'concept-designs' )",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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",
+ "required": true,
+ "options": [
+ {
+ "value": "under-3-days",
+ "label": "Yes, I need designs ASAP",
+ "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."
+ },
+ {
+ "value": "under-6-days",
+ "label": "A week works for me!",
+ "summaryLabel": "6 days",
+ "description": "Topcoder will create agency-quality design variants for your app within 7 days."
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "target-devices-os",
+ "hideTitle": true,
+ "type": "questions",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "Where should your app work?",
+ "summaryTitle": "Devices",
+ "description": "Select maximum 2 types of platforms 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.targetDevices",
+ "type": "checkbox-group",
+ "affectsQuickQuote": true,
+ "theme": "light",
+ "help": {
+ "linkTitle": "What to choose",
+ "title": "What to choose",
+ "content": "
Section One Title Goes Here
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",
+ "required": true,
+ "condition": "( (details.appDefinition.deliverables contains 'design') || (details.appDefinition.deliverables contains 'dev-qa') )",
+ "options": [
+ {
+ "label": "Mobile",
+ "value": "mobile",
+ "description": "Your app would work in all mobile devices. Our most requested option."
+ },
+ {
+ "label": "Tablet",
+ "value": "tablet",
+ "description": "Your app would be optimized for the larger form-factor of a tablet device."
+ },
+ {
+ "label": "Desktop",
+ "value": "desktop",
+ "description": "We will deliver a native desktop app, working under the selected desktop OS."
+ },
+ {
+ "label": "Web Browser",
+ "value": "web-browser",
+ "description": "Your app would be accessed via any web browser on desktop and mobile devices alike."
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "What type of platform do you need?",
+ "summaryTitle": "Mobile platforms",
+ "description": "Select maximum 2 types of platforms 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.mobilePlatforms",
+ "type": "checkbox-group",
+ "affectsQuickQuote": true,
+ "theme": "light",
+ "help": {
+ "linkTitle": "Which platforms to select?",
+ "title": "Which platforms to select?",
+ "content": "
Section One Title Goes Here
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.targetDevices contains 'mobile' ) || ( details.appDefinition.targetDevices contains 'tablet' )",
+ "options": [
+ {
+ "label": "iOS",
+ "value": "ios",
+ "description": "Your app would work on iOS phones. We will develop it using Objective-C and SWIFT"
+ },
+ {
+ "label": "Android",
+ "value": "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": "Does your app need to be Native or Hybrid?",
+ "summaryTitle": "App Type",
+ "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.nativeHybrid",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "Which OS to select?",
+ "title": "Which OS to select?",
+ "content": "
Section One Title Goes Here
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 let us know the type of the app?",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "( details.appDefinition.mobilePlatforms contains 'ios' ) || ( details.appDefinition.mobilePlatforms contains 'android' )",
+ "options": [
+ {
+ "label": "Native",
+ "value": "native",
+ "description": "A native mobile app is a smartphone application that is coded in a specific programming language, such as Objective C for iOS or Java for Android operating systems."
+ },
+ {
+ "label": "Hybrid",
+ "value": "hybrid",
+ "description": "A hybrid application (hybrid app) is one that combines elements of both native and Web applications."
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Should your web app be progressive or responsive?",
+ "summaryTitle": "Web App Type",
+ "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.progressiveResponsive",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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 let us know the type of web app?",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "( details.appDefinition.targetDevices contains 'web-browser' )",
+ "options": [
+ {
+ "label": "Progressive",
+ "value": "progressive",
+ "description": "Your app would be optimized for all devices desktops."
+ },
+ {
+ "label": "Responsive",
+ "value": "responsive",
+ "description": "Your app would be optimized for all devices from mobile phones to large desktops."
+ }
+ ]
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ },
+ {
+ "id": "app-size-questions",
+ "hideTitle": true,
+ "type": "questions",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "How many screens do you need?",
+ "summaryTitle": "Screens",
+ "description": "This is the most popular project size that can get a medium-sized app designed in a breeze",
+ "fieldName": "details.appDefinition.numberScreens",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What are screens?",
+ "title": "What are screens?",
+ "content": "
Section One Title Goes Here
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 let us know the number of screens required?",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "( (details.appDefinition.deliverables contains 'design') || (details.appDefinition.deliverables contains 'dev-qa') ) && (!( !( details.appDefinition.targetDevices hasLength 1 ) && details.appDefinition.progressiveResponsive == 'responsive'))",
+ "options": [
+ {
+ "value": "2-4",
+ "label": "2-4 screens",
+ "description": "Suitable for small apps with 2-4 main features",
+ "disabled": false
+ },
+ {
+ "value": "5-8",
+ "label": "5-8 screens",
+ "description": "Suitable for medium apps with 5-8 main features",
+ "disabled": false
+ },
+ {
+ "value": "9-15",
+ "label": "9-15 screens",
+ "description": "Suitable for larger apps with 9-15 main features",
+ "disabled": false,
+ "condition": "(details.appDefinition.quickTurnaround != 'under-3-days')"
+ }
+ ]
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ },
+ {
+ "id": "qa-deliverable-questions",
+ "hideTitle": true,
+ "type": "questions",
+ "condition": "(details.appDefinition.deliverables hasLength 1) && (details.appDefinition.deliverables contains 'qa')",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "What type of QA you need?",
+ "description": "",
+ "fieldName": "details.appDefinition.qaType",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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",
+ "required": true,
+ "condition": "( details.appDefinition.deliverables contains 'qa' && details.appDefinition.deliverables hasLength 1 )",
+ "options": [
+ {
+ "value": "real-world-unstructured",
+ "label": "Real World Unstructured Testing"
+ },
+ {
+ "value": "real-world-structured",
+ "label": "Real World Structured Testing"
+ },
+ {
+ "value": "mobility-testing",
+ "label": "Mobility Testing"
+ },
+ {
+ "value": "automated-testing",
+ "label": "Automation Testing"
+ },
+ {
+ "value": "performance-testing",
+ "label": "Performance Testing"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "What do you need us to help you with?",
+ "description": "",
+ "fieldName": "details.appDefinition.structuredTestWorkType",
+ "type": "checkbox-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What work is right for me?",
+ "title": "What work is right for me?",
+ "content": "
Section One Title Goes Here
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 us to help with.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "details.appDefinition.qaType == 'real-world-structured'",
+ "options": [
+ {
+ "value": "test-case-creation",
+ "label": "Test Case Creation"
+ },
+ {
+ "value": "test-case-execution",
+ "label": "Test Case Execution"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "How many test cases do you need?",
+ "description": "",
+ "fieldName": "details.appDefinition.structuredTestsCount",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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 test cases you need or have.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "details.appDefinition.qaType == 'real-world-structured'",
+ "options": [
+ {
+ "value": "upto-50",
+ "label": "Up to 50 test cases",
+ "condition": "(details.appDefinition.structuredTestWorkType contains 'test-case-creation' && details.appDefinition.structuredTestWorkType hasLength 1)"
+ },
+ {
+ "value": "upto-100",
+ "label": "Up to 100 test cases",
+ "condition": "(details.appDefinition.structuredTestWorkType contains 'test-case-creation' && details.appDefinition.structuredTestWorkType hasLength 1)"
+ },
+ {
+ "value": "upto-150",
+ "label": "Up to 150 test cases",
+ "condition": "(details.appDefinition.structuredTestWorkType contains 'test-case-execution')"
+ },
+ {
+ "value": "upto-300",
+ "label": "Up to 300 test cases",
+ "condition": "(details.appDefinition.structuredTestWorkType contains 'test-case-execution')"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "How many screens need to be tested?",
+ "description": "",
+ "fieldName": "details.appDefinition.unstructuredTestsScreenCount",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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 test cases you need or have.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "details.appDefinition.qaType == 'real-world-unstructured'",
+ "options": [
+ {
+ "value": "upto-10",
+ "label": "Up to 10"
+ },
+ {
+ "value": "upto-30",
+ "label": "Up to 30"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "How many test cases do you need?",
+ "description": "",
+ "fieldName": "details.appDefinition.automatedTestsCount",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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 test cases you have or need.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "details.appDefinition.qaType == 'automated-testing'",
+ "options": [
+ {
+ "value": "upto-50",
+ "label": "Up to 50 test cases"
+ },
+ {
+ "value": "upto-100",
+ "label": "Up to 100 test cases"
+ }
+ ]
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ },
+ {
+ "id": "deployment-deliverable-questions",
+ "hideTitle": true,
+ "type": "questions",
+ "condition": "details.appDefinition.deliverables contains 'deployment'",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "Where do you need your app deployed?",
+ "summaryTitle": "Deployment Targets",
+ "description": "",
+ "fieldName": "details.appDefinition.deploymentTargets",
+ "type": "checkbox-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What work is right for me?",
+ "title": "What work is right for me?",
+ "content": "
Section One Title Goes Here
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 us to help with.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "details.appDefinition.deliverables contains 'deployment'",
+ "options": [
+ {
+ "value": "apple-app-store",
+ "label": "Apple App Store",
+ "condition": "( (details.appDefinition.deliverables hasLength 1) || (details.appDefinition.mobilePlatforms contains 'ios') )",
+ "description": "Apple App Store Deployment"
+ },
+ {
+ "value": "google-play",
+ "label": "Google Play",
+ "condition": "( (details.appDefinition.deliverables hasLength 1) || (details.appDefinition.mobilePlatforms contains 'android') )",
+ "description": "Google App Store Deployment"
+ },
+ {
+ "value": "internal-production-environment",
+ "label": "Internal Production Environment",
+ "condition": "( (details.appDefinition.deliverables hasLength 1) || (details.appDefinition.targetDevices contains 'desktop') || (details.appDefinition.targetDevices contains 'web-browser') )",
+ "description": "Deployment to your internal production environment"
+ }
+ ]
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ },
+ {
+ "id": "tc-services-questions",
+ "hideTitle": true,
+ "type": "questions",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "Do you want a Community Architect to oversee your project?",
+ "summaryTitle": "Architect",
+ "description": "",
+ "fieldName": "details.appDefinition.caNeeded",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "Do I need an architect?",
+ "title": "Do I need an architect?",
+ "content": "
Section One Title Goes Here
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",
+ "required": true,
+ "condition": "!( !( details.appDefinition.targetDevices hasLength 1 ) && details.appDefinition.progressiveResponsive == 'responsive')",
+ "options": [
+ {
+ "value": "yes",
+ "label": "Yes (Managed)",
+ "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."
+ },
+ {
+ "value": "no",
+ "label": "No (Unmanaged)",
+ "summaryLabel": "No",
+ "description": "You will have to take technical decisions and discuss requirements with our project managers."
+ }
+ ]
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ },
+ {
+ "id": "customeQuote",
+ "hideTitle": true,
+ "fieldName": "details.appDefinition.message",
+ "title": "Message",
+ "description": "Wow! We love your idea. This is a very complex, technical solution. We will take a look at your project and contact you regarding next steps and a quote.",
+ "type": "message",
+ "condition": "( (!( details.appDefinition.targetDevices hasLength 1 )) && details.appDefinition.progressiveResponsive == 'responsive')"
+ }
+ ]
+ },
+ {
+ "id": "summary-intermediate",
+ "hiddenOnEdit": true,
+ "hideFormHeader": true,
+ "nextButtonText": "Configure my project",
+ "footer": {
+ "content": ""
+ },
+ "subSections": [
+ {
+ "type": "questions",
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "static",
+ "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.deliverables contains 'design')",
+ "category": "design"
+ },
+ {
+ "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",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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.deliverables contains 'dev-qa')",
+ "category": "development"
+ },
+ {
+ "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",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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.deliverables contains 'qa')",
+ "category": "qa"
+ },
+ {
+ "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",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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.
"
+ },
+ {
+ "icon": "question",
+ "title": "What do you need?",
+ "summaryTitle": "Work needed",
+ "description": "",
+ "fieldName": "details.appDefinition.deliverables",
+ "type": "checkbox-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What work is right for me?",
+ "title": "What work is right for me?",
+ "content": "
Topcoder has design, development, and deployment solutions can be combined in a single project to help you deliver an end-to-end application.
It is important to note that all Topcoder development projects include standard quality assurance testing at no additional cost to help ensure you are getting the highest-quality application possible.
If you have an existing application that needs quality assurance testing, only select the QA, Fixes & Enhancements option and you will be shown Topcoder’s standalone QA Services solutions for testing on pre-existing applications.
"
+ },
+ "validationError": "Please, choose what do you need.",
+ "validations": "isRequired",
+ "required": true,
+ "options": [
+ {
+ "value": "design",
+ "label": "Design",
+ "summaryLabel": "Design",
+ "description": "We will design your app experience, focusing on the major features and experiences."
+ },
+ {
+ "value": "dev-qa",
+ "label": "Development",
+ "summaryLabel": "Development",
+ "description": "We will develop your app based on existing designs. Building a reliable application for you is our priority. We include standard quality assurance testing at no additional cost when doing any development."
+ },
+ {
+ "value": "qa",
+ "label": "QA, Fixes & Enhancements",
+ "summaryLabel": "QA",
+ "autoSelectCondition": "HAS_DEV_DELIVERABLE",
+ "disableCondition": "HAS_DEV_DELIVERABLE",
+ "description": "We will extensively test your app, log and eliminate any bugs. This will ensure sure your app is 100% ready for prime-time."
+ },
+ {
+ "value": "deployment",
+ "label": "Deployment",
+ "description": "Our team will ensure that your code is packaged and distributed on all targeted platforms and/or in the Apple/Google app stores."
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "What is the goal of your designs?",
+ "summaryTitle": "Design goal",
+ "description": "",
+ "fieldName": "details.appDefinition.designGoal",
+ "type": "radio-group",
+ "validationError": "Please, choose you design goal.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "HAS_DESIGN_DELIVERABLE",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What should I choose?",
+ "title": "What should I choose?",
+ "content": "
Conceptual exploration
It enables you to explore UI and UX concepts for your application with industry-leading experts. This is the best choice when you are exploring ideas for a new application, but are not ready to begin development immediately. While design concepts empower you to explore different ideas, the design-deliverables are not considered production-ready as they will not contain detailed workflows for your entire application.
Production-ready designs
These are best used when you are ready to begin development on your application immediately after design-completion. These designs will include detailed workflows and options for your application.
"
+ },
+ "options": [
+ {
+ "value": "concept-designs",
+ "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.",
+ "disableCondition": "HAS_DEV_DELIVERABLE"
+ },
+ {
+ "value": "comprehensive-designs",
+ "label": "Production-ready designs",
+ "summaryLabel": "Production-ready designs",
+ "description": "Our designers will create detailed, designed workflows that can be immediately ready for development upon completion.",
+ "autoSelectCondition": "HAS_DEV_DELIVERABLE"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "How quickly do you need your conceptual designs?",
+ "description": "",
+ "summaryTitle": "Quick Turnaround",
+ "fieldName": "details.appDefinition.quickTurnaround",
+ "type": "radio-group",
+ "condition": "CONCEPT_DESIGN",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Topcoder has two backend solutions - RUX (3 Days) and Design Sprint (6 Days) - that provide customers with design concepts. The deliverables that you can expect from these two solutions are consistent, meaning that both will produce high-quality design concepts that will enable you to leverage our expert crowd in generating ideas for your application. The primary difference between these two solutions is the turnaround time. As the RUX solution has an expedited turnaround time of three days, a service charge is included in the price.
"
+ },
+ "validationError": "Please, choose your time expectations.",
+ "validations": "isRequired",
+ "required": true,
+ "options": [
+ {
+ "value": "under-3-days",
+ "label": "I want concept designs in 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."
+ },
+ {
+ "value": "under-6-days",
+ "label": "I want concept designs in 6 days.",
+ "summaryLabel": "6 days",
+ "description": "Topcoder will create agency-quality design variants for your app within 7 days."
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "target-devices-os",
+ "hideTitle": true,
+ "type": "questions",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "Where should your app work?",
+ "summaryTitle": "Devices",
+ "description": "",
+ "fieldName": "details.appDefinition.targetDevices",
+ "type": "checkbox-group",
+ "affectsQuickQuote": true,
+ "theme": "light",
+ "help": {
+ "linkTitle": "What to choose",
+ "title": "What to choose",
+ "content": "
Topcoder has the capability to create applications that are accessible as standalone applications from mobile or tablet devices, as well as applications that are accessible via a web browser from desktops, mobile or tablet devices.
"
+ },
+ "validationError": "Please, select devices",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "( HAS_DESIGN_DELIVERABLE || HAS_DEV_DELIVERABLE )",
+ "options": [
+ {
+ "label": "Mobile",
+ "value": "mobile",
+ "description": "Your app can be installed and launched on mobile devices. This is Topcoder’s most requested option."
+ },
+ {
+ "label": "Tablet",
+ "value": "tablet",
+ "description": "Your app can be used on tablet devices, with an optimized layout for tablets."
+ },
+ {
+ "label": "Web Browser",
+ "value": "web-browser",
+ "description": "Your app would be accessed via web browser on desktop, mobile and tablet devices alike."
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "What type of platform do you need?",
+ "summaryTitle": "Mobile platforms",
+ "description": "",
+ "fieldName": "details.appDefinition.mobilePlatforms",
+ "type": "checkbox-group",
+ "affectsQuickQuote": true,
+ "theme": "light",
+ "help": {
+ "linkTitle": "Which platforms to select?",
+ "title": "Which platforms to select?",
+ "content": "
Topcoder can create mobile applications for iOS, Android, or iOS and Android platforms.
"
+ },
+ "condition": "( details.appDefinition.targetDevices contains 'mobile' ) || ( details.appDefinition.targetDevices contains 'tablet' )",
+ "options": [
+ {
+ "label": "iOS",
+ "value": "ios",
+ "description": "Your app would work on iOS phones. We will develop it using Objective-C and SWIFT"
+ },
+ {
+ "label": "Android",
+ "value": "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": "Does your app need to be Native or Hybrid?",
+ "summaryTitle": "App Type",
+ "description": "",
+ "fieldName": "details.appDefinition.nativeHybrid",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "Which OS to select?",
+ "title": "Which OS to select?",
+ "content": "
Native operating systems are a SDK framework for building iOS and/or Android applications. Native applications typically have better performance if rich features such as video or audio are required.
Hybrid operating systems leverages a hybrid framework, such as Iconic, to build iOS and/or Android applications. Hybrid gives you the benefit of only having to maintain one code base for your application.
"
+ },
+ "validationError": "Please let us know the type of the app?",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "( details.appDefinition.mobilePlatforms contains 'ios' ) || ( details.appDefinition.mobilePlatforms contains 'android' )",
+ "options": [
+ {
+ "label": "Native",
+ "value": "native",
+ "description": ""
+ },
+ {
+ "label": "Hybrid",
+ "value": "hybrid",
+ "description": ""
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "How should your app work when accessed via web browser?",
+ "summaryTitle": "Web App Type",
+ "description": "",
+ "fieldName": "details.appDefinition.progressiveResponsive",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Progressive Web Applications are mobile web apps. They are built using a native framework so that it looks and functions like a native application, with rich features like GPS.
Responsive Web Applications are web apps that can be accessed from mobile, tablet, and/or desktop devices. You can choose custom layouts depending on device type.
Desktop Web Browser Applications come in one layout and are only accessed from desktop devices using common web browsers such as Chrome or Safari.
"
+ },
+ "validationError": "Please let us know the type of web app?",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "( details.appDefinition.targetDevices contains 'web-browser' )",
+ "options": [
+ {
+ "label": "Progressive Web Application for Mobile Web Browsing",
+ "value": "progressive",
+ "description": "Your web application can be accessed from all common mobile web browsers and will be built using a native mobile framework."
+ },
+ {
+ "label": "Responsive Web Application for Desktop, Tablet, and Mobile Web Browsing",
+ "value": "responsive",
+ "description": "Your web application can be accessed from all common desktop, mobile and tablet web browsers and will be optimized for all screen sizes."
+ },
+ {
+ "label": "Desktop Web Application",
+ "value": "desktop",
+ "description": "Your web application can be accessed from desktop devices on all common web browsers."
+ }
+ ]
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ },
+ {
+ "id": "app-size-questions",
+ "hideTitle": true,
+ "type": "questions",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "How many screens do you need?",
+ "summaryTitle": "Screens",
+ "description": "",
+ "fieldName": "details.appDefinition.numberScreens",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What are screens?",
+ "title": "What are screens?",
+ "content": "
Screens represent the number of unique pages within your application, which may include several features on each screen.
If you require more than 15 screens for your application, please indicate this in the Notes section of the form prior to submitting.
"
+ },
+ "validationError": "Please let us know the number of screens required?",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "( HAS_DESIGN_DELIVERABLE || HAS_DEV_DELIVERABLE ) && (!( MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP))",
+ "options": [
+ {
+ "value": "2-4",
+ "label": "2-4 screens",
+ "description": "Suitable for small apps with 2-4 main features",
+ "disabled": false
+ },
+ {
+ "value": "5-8",
+ "label": "5-8 screens",
+ "description": "Suitable for medium apps with 5-8 main features",
+ "disabled": false
+ },
+ {
+ "value": "9-15",
+ "label": "9-15 screens",
+ "description": "Suitable for larger apps with 9-15 main features",
+ "disabled": false,
+ "condition": "!QUICK_DESIGN_3_DAYS"
+ }
+ ]
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ },
+ {
+ "id": "qa-deliverable-questions",
+ "hideTitle": true,
+ "type": "questions",
+ "condition": "ONE_DELIVERABLE && HAS_QA_DELIVERABLE",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "What type of QA you need?",
+ "description": "",
+ "fieldName": "details.appDefinition.qaType",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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",
+ "required": true,
+ "condition": "( HAS_QA_DELIVERABLE && ONE_DELIVERABLE )",
+ "options": [
+ {
+ "value": "real-world-unstructured",
+ "label": "Real World Unstructured Testing"
+ },
+ {
+ "value": "real-world-structured",
+ "label": "Real World Structured Testing"
+ },
+ {
+ "value": "mobility-testing",
+ "label": "Mobility Testing"
+ },
+ {
+ "value": "automated-testing",
+ "label": "Automation Testing"
+ },
+ {
+ "value": "performance-testing",
+ "label": "Performance Testing"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "What do you need us to help you with?",
+ "description": "",
+ "fieldName": "details.appDefinition.structuredTestWorkType",
+ "type": "checkbox-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What work is right for me?",
+ "title": "What work is right for me?",
+ "content": "
Section One Title Goes Here
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 us to help with.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "REAL_WORLD_STRUCT_TESTING",
+ "options": [
+ {
+ "value": "test-case-creation",
+ "label": "Test Case Creation"
+ },
+ {
+ "value": "test-case-execution",
+ "label": "Test Case Execution"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "How many test cases do you need?",
+ "description": "",
+ "fieldName": "details.appDefinition.structuredTestsCount",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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 test cases you need or have.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "REAL_WORLD_STRUCT_TESTING",
+ "options": [
+ {
+ "value": "upto-50",
+ "label": "Up to 50 test cases",
+ "condition": "(STRUCT_TEST_CASE_CREATION && ONE_QA_DELIVERABLE)"
+ },
+ {
+ "value": "upto-100",
+ "label": "Up to 100 test cases",
+ "condition": "(STRUCT_TEST_CASE_CREATION && ONE_QA_DELIVERABLE)"
+ },
+ {
+ "value": "upto-150",
+ "label": "Up to 150 test cases",
+ "condition": "(STRUCT_TEST_CASE_EXECUTION)"
+ },
+ {
+ "value": "upto-300",
+ "label": "Up to 300 test cases",
+ "condition": "(STRUCT_TEST_CASE_EXECUTION)"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "How many screens need to be tested?",
+ "description": "",
+ "fieldName": "details.appDefinition.unstructuredTestsScreenCount",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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 test cases you need or have.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "REAL_WORLD_UNSTRUCT_TESTING",
+ "options": [
+ {
+ "value": "upto-10",
+ "label": "Up to 10"
+ },
+ {
+ "value": "upto-30",
+ "label": "Up to 30"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "How many test cases do you need?",
+ "description": "",
+ "fieldName": "details.appDefinition.automatedTestsCount",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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 test cases you have or need.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "AUTOMATED_TESTING",
+ "options": [
+ {
+ "value": "upto-50",
+ "label": "Up to 50 test cases"
+ },
+ {
+ "value": "upto-100",
+ "label": "Up to 100 test cases"
+ }
+ ]
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ },
+ {
+ "id": "deployment-deliverable-questions",
+ "hideTitle": true,
+ "type": "questions",
+ "condition": "HAS_DEPLOY_DELIVERABLE",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "Where do you need your app deployed?",
+ "summaryTitle": "Deployment Targets",
+ "description": "",
+ "fieldName": "details.appDefinition.deploymentTargets",
+ "type": "checkbox-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What work is right for me?",
+ "title": "What work is right for me?",
+ "content": "
Section One Title Goes Here
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 us to help with.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "HAS_DEPLOY_DELIVERABLE",
+ "options": [
+ {
+ "value": "apple-app-store",
+ "label": "Apple App Store",
+ "condition": "( ONE_DELIVERABLE || (details.appDefinition.mobilePlatforms contains 'ios') )",
+ "description": "Apple App Store Deployment"
+ },
+ {
+ "value": "google-play",
+ "label": "Google Play",
+ "condition": "( ONE_DELIVERABLE || (details.appDefinition.mobilePlatforms contains 'android') )",
+ "description": "Google App Store Deployment"
+ },
+ {
+ "value": "internal-production-environment",
+ "label": "Internal Production Environment",
+ "condition": "( ONE_DELIVERABLE || (details.appDefinition.targetDevices contains 'desktop') || (details.appDefinition.targetDevices contains 'web-browser') )",
+ "description": "Deployment to your internal production environment"
+ }
+ ]
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ },
+ {
+ "id": "tc-services-questions",
+ "hideTitle": true,
+ "type": "questions",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "What kind of support do you want on your project?",
+ "summaryTitle": "Architect",
+ "description": "",
+ "fieldName": "details.appDefinition.caNeeded",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is right for me?",
+ "title": "What is right for me?",
+ "content": "
Topcoder recommends including an Architect on projects where a high degree of technical complexity is anticipated, when multiple deliverables are needed, or when you are a new customer to Topcoder and need additional help navigating the crowdsourcing process as Architects will provide additional oversight to your project. The inclusion of an Architect on a project will result in a service charge.
"
+ },
+ "validationError": "Please, ley us know if you need a dedicated manager.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "!( MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP)",
+ "options": [
+ {
+ "value": "yes",
+ "label": "Project Manager + Architect",
+ "summaryLabel": "Yes",
+ "description": "Project managers will work with the Community on the execution of your deliverables. An Architect will be assigned to oversee the technical requirements and complexities of your project."
+ },
+ {
+ "value": "no",
+ "label": "Project Manager",
+ "summaryLabel": "No",
+ "description": "You will partner directly with your Project Manager to align on the requirements for your project and they will work with the Community on the execution of your deliverables."
+ }
+ ]
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ },
+ {
+ "id": "customeQuote",
+ "hideTitle": true,
+ "fieldName": "details.appDefinition.message",
+ "title": "Message",
+ "description": "Wow! We love your idea. This is a very complex, technical solution. We will take a look at your project and contact you regarding next steps and a quote.",
+ "type": "message",
+ "condition": "MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP"
+ }
+ ]
+ },
+ {
+ "id": "summary-intermediate",
+ "hiddenOnEdit": true,
+ "hideFormHeader": true,
+ "nextButtonText": "Configure my project",
+ "footer": {
+ "content": ""
+ },
+ "subSections": [
+ {
+ "type": "questions",
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "static",
+ "content": "
Your Project Estimate
"
+ }
+ ]
+ },
+ {
+ "type": "portal",
+ "hideTitle": true,
+ "content": [
+ {
+ "sectionIndex": 1
+ }
+ ]
+ },
+ {
+ "type": "questions",
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "estimation",
+ "title": "Your project timeline",
+ "deliverables": [
+ {
+ "id": "design",
+ "title": "Design",
+ "duration": 3,
+ "enableCondition": "HAS_DESIGN_DELIVERABLE",
+ "deliverableKey": "design"
+ },
+ {
+ "id": "development",
+ "title": "Development",
+ "duration": 24,
+ "enableCondition": "HAS_DEV_DELIVERABLE",
+ "deliverableKey": "dev-qa"
+ },
+ {
+ "id": "qa",
+ "title": "QA",
+ "duration": 3,
+ "enableCondition": "HAS_QA_DELIVERABLE",
+ "deliverableKey": "qa"
+ },
+ {
+ "id": "deployment",
+ "title": "Deploy",
+ "duration": 1,
+ "enableCondition": "HAS_DEPLOY_DELIVERABLE",
+ "deliverableKey": "deployment"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "add-ons",
+ "title": "Configure my app",
+ "subSections": [
+ {
+ "hideTitle": true,
+ "type": "questions",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "Design add-ons",
+ "description": "Select any desired add-ons to your project. Please note that each add-on will incur a cost and has a delivery duration. Your project estimate will be updated to reflect the cost and duration of your base solution and add-ons. Additionally, you will receive a full breakdown on cost in the final project proposal from Topcoder.",
+ "fieldName": "details.appDefinition.addons.design",
+ "type": "add-ons",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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": "HAS_DESIGN_DELIVERABLE",
+ "category": "design"
+ },
+ {
+ "icon": "question",
+ "title": "Development add-ons",
+ "description": "Select any desired add-ons to your project. Please note that each add-on will incur a cost and has a delivery duration. Your project estimate will be updated to reflect the cost and duration of your base solution and add-ons. Additionally, you will receive a full breakdown on cost in the final project proposal from Topcoder.",
+ "fieldName": "details.appDefinition.addons.development",
+ "type": "add-ons",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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": "HAS_DEV_DELIVERABLE",
+ "category": "development"
+ },
+ {
+ "icon": "question",
+ "title": "QA add-ons",
+ "description": "Select any desired add-ons to your project. Please note that each add-on will incur a cost and has a delivery duration. Your project estimate will be updated to reflect the cost and duration of your base solution and add-ons. Additionally, you will receive a full breakdown on cost in the final project proposal from Topcoder.",
+ "fieldName": "details.appDefinition.addons.qa",
+ "type": "add-ons",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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": "HAS_QA_DELIVERABLE",
+ "category": "qa"
+ },
+ {
+ "icon": "question",
+ "title": "Delivery add-ons",
+ "description": "Select any desired add-ons to your project. Please note that each add-on will incur a cost and has a delivery duration. Your project estimate will be updated to reflect the cost and duration of your base solution and add-ons. Additionally, you will receive a full breakdown on cost in the final project proposal from Topcoder.",
+ "fieldName": "details.appDefinition.addons.delivery",
+ "type": "add-ons",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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.
"
+ },
+ {
+ "icon": "question",
+ "title": "What do you need?",
+ "summaryTitle": "Work needed",
+ "description": "Select maximum **2 types of platforms** 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.\n- here\n- and here",
+ "fieldName": "details.appDefinition.deliverables",
+ "type": "checkbox-group",
+ "theme": "light",
+ "introduction": "This is an introduction which is **shown after** the title but before the `question` options. You can choose an \n 1. option\n 2. option",
+ "help": {
+ "linkTitle": "What work is right for me?",
+ "title": "What work is right for me?",
+ "content": "
Section One Title Goes Here
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",
+ "required": true,
+ "options": [
+ {
+ "value": "design",
+ "label": "Design",
+ "summaryLabel": "Design",
+ "description": "We will design your app experience, focusing on the major features and experiences."
+ },
+ {
+ "value": "dev-qa",
+ "label": "Development",
+ "summaryLabel": "Development",
+ "description": "We will develop your app based on existing designs. Building a reliable application for you is our priority. We include standard quality assurance testing at no additional cost when doing any development."
+ },
+ {
+ "value": "qa",
+ "label": "QA, Fixes & Enhancements",
+ "summaryLabel": "QA",
+ "autoSelectCondition": "HAS_DEV_DELIVERABLE",
+ "disableCondition": "HAS_DEV_DELIVERABLE",
+ "description": "We will extensively test your source code on multiple environments and eliminate any bugs. This will make sure your app is 100% ready for the prime-time."
+ },
+ {
+ "value": "deployment",
+ "label": "Deployment",
+ "description": "Our team will ensure that your code is packaged and distributed correctly on the all target platforms and/or App Stores."
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "What skills do you need?",
+ "summaryTitle": "Skills",
+ "fieldName": "details.appDefinition.skills",
+ "type": "skills",
+ "validationError": "Please, choose at least one skill.",
+ "validations": "isRequired",
+ "required": true,
+ "theme": "light",
+ "help": {
+ "linkTitle": "What skills should I choose?",
+ "title": "What skill should I choose?",
+ "content": "
Section One Title Goes Here
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.
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.
"
+ },
+ "options": [
+ {
+ "value": "concept-designs",
+ "label": "I need best-in-class, research-grade outcomes. I am willing to accept a longer lead-time of 5-6 weeks, wherein real-time competition and objective scoring on a public leaderboard delivers maximum performance results.",
+ "summaryLabel": "Concept",
+ "description": "We will produce high-quality screens with different directions that would help you define your product direction, and present to stakeholders.",
+ "disableCondition": "HAS_DEV_DELIVERABLE"
+ },
+ {
+ "value": "comprehensive-designs",
+ "label": "Comprehensive design for development",
+ "summaryLabel": "Comprehensive design",
+ "description": "Our designers will create all the design deliverables for your app, including app icons, design specifications, and design assets.",
+ "autoSelectCondition": "HAS_DEV_DELIVERABLE"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "No problem! We can get you high-quality concept designs within a week. Do you need designs faster than this?",
+ "description": "",
+ "summaryTitle": "Quick Turnaround",
+ "fieldName": "details.appDefinition.quickTurnaround",
+ "type": "radio-group",
+ "condition": "CONCEPT_DESIGN",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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",
+ "required": true,
+ "options": [
+ {
+ "value": "under-3-days",
+ "label": "Yes, I need designs ASAP",
+ "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."
+ },
+ {
+ "value": "under-6-days",
+ "label": "A week works for me!",
+ "summaryLabel": "6 days",
+ "description": "Topcoder will create agency-quality design variants for your app within 7 days."
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "target-devices-os",
+ "hideTitle": true,
+ "type": "questions",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "Where should your app work?",
+ "summaryTitle": "Devices",
+ "description": "Select maximum 2 types of platforms 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.targetDevices",
+ "type": "checkbox-group",
+ "affectsQuickQuote": true,
+ "theme": "light",
+ "help": {
+ "linkTitle": "What to choose",
+ "title": "What to choose",
+ "content": "
Section One Title Goes Here
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",
+ "required": true,
+ "condition": "( HAS_DESIGN_DELIVERABLE || HAS_DEV_DELIVERABLE )",
+ "options": [
+ {
+ "label": "Mobile",
+ "value": "mobile",
+ "description": "Your app would work in all mobile devices. Our most requested option."
+ },
+ {
+ "label": "Tablet",
+ "value": "tablet",
+ "description": "Your app would be optimized for the larger form-factor of a tablet device."
+ },
+ {
+ "label": "Desktop",
+ "value": "desktop",
+ "description": "We will deliver a native desktop app, working under the selected desktop OS."
+ },
+ {
+ "label": "Web Browser",
+ "value": "web-browser",
+ "description": "Your app would be accessed via any web browser on desktop and mobile devices alike."
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "What type of platform do you need?",
+ "summaryTitle": "Mobile platforms",
+ "description": "Select maximum 2 types of platforms 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.mobilePlatforms",
+ "type": "checkbox-group",
+ "affectsQuickQuote": true,
+ "theme": "light",
+ "help": {
+ "linkTitle": "Which platforms to select?",
+ "title": "Which platforms to select?",
+ "content": "
Section One Title Goes Here
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.targetDevices contains 'mobile' ) || ( details.appDefinition.targetDevices contains 'tablet' )",
+ "options": [
+ {
+ "label": "iOS",
+ "value": "ios",
+ "description": "Your app would work on iOS phones. We will develop it using Objective-C and SWIFT"
+ },
+ {
+ "label": "Android",
+ "value": "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": "Does your app need to be Native or Hybrid?",
+ "summaryTitle": "App Type",
+ "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.nativeHybrid",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "Which OS to select?",
+ "title": "Which OS to select?",
+ "content": "
Section One Title Goes Here
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 let us know the type of the app?",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "( details.appDefinition.mobilePlatforms contains 'ios' ) || ( details.appDefinition.mobilePlatforms contains 'android' )",
+ "options": [
+ {
+ "label": "Native",
+ "value": "native",
+ "description": "A native mobile app is a smartphone application that is coded in a specific programming language, such as Objective C for iOS or Java for Android operating systems."
+ },
+ {
+ "label": "Hybrid",
+ "value": "hybrid",
+ "description": "A hybrid application (hybrid app) is one that combines elements of both native and Web applications."
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Should your web app be progressive or responsive?",
+ "summaryTitle": "Web App Type",
+ "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.progressiveResponsive",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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 let us know the type of web app?",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "( details.appDefinition.targetDevices contains 'web-browser' )",
+ "options": [
+ {
+ "label": "Progressive",
+ "value": "progressive",
+ "description": "Your app would be optimized for all devices desktops."
+ },
+ {
+ "label": "Responsive",
+ "value": "responsive",
+ "description": "Your app would be optimized for all devices from mobile phones to large desktops."
+ }
+ ]
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ },
+ {
+ "id": "app-size-questions",
+ "hideTitle": true,
+ "type": "questions",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "How many screens do you need?",
+ "summaryTitle": "Screens",
+ "description": "This is the most popular project size that can get a medium-sized app designed in a breeze",
+ "fieldName": "details.appDefinition.numberScreens",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What are screens?",
+ "title": "What are screens?",
+ "content": "
Section One Title Goes Here
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 let us know the number of screens required?",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "( HAS_DESIGN_DELIVERABLE || HAS_DEV_DELIVERABLE ) && (!( MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP))",
+ "options": [
+ {
+ "value": "2-4",
+ "label": "2-4 screens",
+ "description": "Suitable for small apps with 2-4 main features",
+ "disabled": false
+ },
+ {
+ "value": "5-8",
+ "label": "5-8 screens",
+ "description": "Suitable for medium apps with 5-8 main features",
+ "disabled": false
+ },
+ {
+ "value": "9-15",
+ "label": "9-15 screens",
+ "description": "Suitable for larger apps with 9-15 main features",
+ "disabled": false,
+ "condition": "!QUICK_DESIGN_3_DAYS"
+ }
+ ]
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ },
+ {
+ "id": "qa-deliverable-questions",
+ "hideTitle": true,
+ "type": "questions",
+ "condition": "ONE_DELIVERABLE && HAS_QA_DELIVERABLE",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "What type of QA you need?",
+ "description": "",
+ "fieldName": "details.appDefinition.qaType",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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",
+ "required": true,
+ "condition": "( HAS_QA_DELIVERABLE && ONE_DELIVERABLE )",
+ "options": [
+ {
+ "value": "real-world-unstructured",
+ "label": "Real World Unstructured Testing"
+ },
+ {
+ "value": "real-world-structured",
+ "label": "Real World Structured Testing"
+ },
+ {
+ "value": "mobility-testing",
+ "label": "Mobility Testing"
+ },
+ {
+ "value": "automated-testing",
+ "label": "Automation Testing"
+ },
+ {
+ "value": "performance-testing",
+ "label": "Performance Testing"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "What do you need us to help you with?",
+ "description": "",
+ "fieldName": "details.appDefinition.structuredTestWorkType",
+ "type": "checkbox-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What work is right for me?",
+ "title": "What work is right for me?",
+ "content": "
Section One Title Goes Here
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 us to help with.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "REAL_WORLD_STRUCT_TESTING",
+ "options": [
+ {
+ "value": "test-case-creation",
+ "label": "Test Case Creation"
+ },
+ {
+ "value": "test-case-execution",
+ "label": "Test Case Execution"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "How many test cases do you need?",
+ "description": "",
+ "fieldName": "details.appDefinition.structuredTestsCount",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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 test cases you need or have.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "REAL_WORLD_STRUCT_TESTING",
+ "options": [
+ {
+ "value": "upto-50",
+ "label": "Up to 50 test cases",
+ "condition": "(STRUCT_TEST_CASE_CREATION && ONE_QA_DELIVERABLE)"
+ },
+ {
+ "value": "upto-100",
+ "label": "Up to 100 test cases",
+ "condition": "(STRUCT_TEST_CASE_CREATION && ONE_QA_DELIVERABLE)"
+ },
+ {
+ "value": "upto-150",
+ "label": "Up to 150 test cases",
+ "condition": "(STRUCT_TEST_CASE_EXECUTION)"
+ },
+ {
+ "value": "upto-300",
+ "label": "Up to 300 test cases",
+ "condition": "(STRUCT_TEST_CASE_EXECUTION)"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "How many screens need to be tested?",
+ "description": "",
+ "fieldName": "details.appDefinition.unstructuredTestsScreenCount",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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 test cases you need or have.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "REAL_WORLD_UNSTRUCT_TESTING",
+ "options": [
+ {
+ "value": "upto-10",
+ "label": "Up to 10"
+ },
+ {
+ "value": "upto-30",
+ "label": "Up to 30"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "How many test cases do you need?",
+ "description": "",
+ "fieldName": "details.appDefinition.automatedTestsCount",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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 test cases you have or need.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "AUTOMATED_TESTING",
+ "options": [
+ {
+ "value": "upto-50",
+ "label": "Up to 50 test cases"
+ },
+ {
+ "value": "upto-100",
+ "label": "Up to 100 test cases"
+ }
+ ]
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ },
+ {
+ "id": "deployment-deliverable-questions",
+ "hideTitle": true,
+ "type": "questions",
+ "condition": "HAS_DEPLOY_DELIVERABLE",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "Where do you need your app deployed?",
+ "summaryTitle": "Deployment Targets",
+ "description": "",
+ "fieldName": "details.appDefinition.deploymentTargets",
+ "type": "checkbox-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What work is right for me?",
+ "title": "What work is right for me?",
+ "content": "
Section One Title Goes Here
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 us to help with.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "HAS_DEPLOY_DELIVERABLE",
+ "options": [
+ {
+ "value": "apple-app-store",
+ "label": "Apple App Store",
+ "condition": "( ONE_DELIVERABLE || (details.appDefinition.mobilePlatforms contains 'ios') )",
+ "description": "Apple App Store Deployment"
+ },
+ {
+ "value": "google-play",
+ "label": "Google Play",
+ "condition": "( ONE_DELIVERABLE || (details.appDefinition.mobilePlatforms contains 'android') )",
+ "description": "Google App Store Deployment"
+ },
+ {
+ "value": "internal-production-environment",
+ "label": "Internal Production Environment",
+ "condition": "( ONE_DELIVERABLE || (details.appDefinition.targetDevices contains 'desktop') || (details.appDefinition.targetDevices contains 'web-browser') )",
+ "description": "Deployment to your internal production environment"
+ }
+ ]
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ },
+ {
+ "id": "tc-services-questions",
+ "hideTitle": true,
+ "type": "questions",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "Do you want a Community Architect to oversee your project?",
+ "summaryTitle": "Architect",
+ "description": "",
+ "fieldName": "details.appDefinition.caNeeded",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "Do I need an architect?",
+ "title": "Do I need an architect?",
+ "content": "
Section One Title Goes Here
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",
+ "required": true,
+ "condition": "!( MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP)",
+ "options": [
+ {
+ "value": "yes",
+ "label": "Yes (Managed)",
+ "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."
+ },
+ {
+ "value": "no",
+ "label": "No (Unmanaged)",
+ "summaryLabel": "No",
+ "description": "You will have to take technical decisions and discuss requirements with our project managers."
+ }
+ ]
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ },
+ {
+ "id": "customeQuote",
+ "hideTitle": true,
+ "fieldName": "details.appDefinition.message",
+ "title": "Message",
+ "description": "Wow! We love your idea. This is a very complex, technical solution. We will take a look at your project and contact you regarding next steps and a quote.",
+ "type": "message",
+ "condition": "MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP"
+ }
+ ]
+ },
+ {
+ "id": "summary-intermediate",
+ "hiddenOnEdit": true,
+ "hideFormHeader": true,
+ "nextButtonText": "Configure my project",
+ "footer": {
+ "content": ""
+ },
+ "subSections": [
+ {
+ "type": "questions",
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "static",
+ "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": "HAS_DESIGN_DELIVERABLE",
+ "category": "design"
+ },
+ {
+ "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",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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": "HAS_DEV_DELIVERABLE",
+ "category": "development"
+ },
+ {
+ "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",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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": "HAS_QA_DELIVERABLE",
+ "category": "qa"
+ },
+ {
+ "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",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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.
"
+ },
+ {
+ "icon": "question",
+ "title": "What do you need?",
+ "summaryTitle": "Work needed",
+ "description": "Select maximum **2 types of platforms** 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.\n- here\n- and here",
+ "fieldName": "details.appDefinition.deliverables",
+ "type": "checkbox-group",
+ "theme": "light",
+ "introduction": "This is an introduction which is **shown after** the title but before the `question` options. You can choose an \n 1. option\n 2. option",
+ "help": {
+ "linkTitle": "What work is right for me?",
+ "title": "What work is right for me?",
+ "content": "
Section One Title Goes Here
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",
+ "required": true,
+ "options": [
+ {
+ "value": "design",
+ "label": "Design",
+ "summaryLabel": "Design",
+ "description": "We will design your app experience, focusing on the major features and experiences."
+ },
+ {
+ "value": "dev-qa",
+ "label": "Development",
+ "summaryLabel": "Development",
+ "description": "We will develop your app based on existing designs. Building a reliable application for you is our priority. We include standard quality assurance testing at no additional cost when doing any development."
+ },
+ {
+ "value": "qa",
+ "label": "QA, Fixes & Enhancements",
+ "summaryLabel": "QA",
+ "autoSelectCondition": "HAS_DEV_DELIVERABLE",
+ "disableCondition": "HAS_DEV_DELIVERABLE",
+ "description": "We will extensively test your source code on multiple environments and eliminate any bugs. This will make sure your app is 100% ready for the prime-time."
+ },
+ {
+ "value": "deployment",
+ "label": "Deployment",
+ "description": "Our team will ensure that your code is packaged and distributed correctly on the all target platforms and/or App Stores."
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "What skills do you need?",
+ "summaryTitle": "Skills",
+ "fieldName": "details.appDefinition.skills",
+ "type": "skills",
+ "validationError": "Please, choose at least one skill.",
+ "validations": "isRequired",
+ "required": true,
+ "theme": "light",
+ "help": {
+ "linkTitle": "What skills should I choose?",
+ "title": "What skill should I choose?",
+ "content": "
Section One Title Goes Here
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.
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.
"
+ },
+ "options": [
+ {
+ "value": "concept-designs",
+ "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.",
+ "disableCondition": "HAS_DEV_DELIVERABLE"
+ },
+ {
+ "value": "comprehensive-designs",
+ "label": "Comprehensive design for development",
+ "summaryLabel": "Comprehensive design",
+ "description": "Our designers will create all the design deliverables for your app, including app icons, design specifications, and design assets.",
+ "autoSelectCondition": "HAS_DEV_DELIVERABLE"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "No problem! We can get you high-quality concept designs within a week. Do you need designs faster than this?",
+ "description": "",
+ "summaryTitle": "Quick Turnaround",
+ "fieldName": "details.appDefinition.quickTurnaround",
+ "type": "radio-group",
+ "condition": "CONCEPT_DESIGN",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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",
+ "required": true,
+ "options": [
+ {
+ "value": "under-3-days",
+ "label": "Yes, I need designs ASAP",
+ "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."
+ },
+ {
+ "value": "under-6-days",
+ "label": "A week works for me!",
+ "summaryLabel": "6 days",
+ "description": "Topcoder will create agency-quality design variants for your app within 7 days."
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "target-devices-os",
+ "hideTitle": true,
+ "type": "questions",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "Where should your app work?",
+ "summaryTitle": "Devices",
+ "description": "Select maximum 2 types of platforms 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.targetDevices",
+ "type": "checkbox-group",
+ "affectsQuickQuote": true,
+ "theme": "light",
+ "help": {
+ "linkTitle": "What to choose",
+ "title": "What to choose",
+ "content": "
Section One Title Goes Here
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",
+ "required": true,
+ "condition": "( HAS_DESIGN_DELIVERABLE || HAS_DEV_DELIVERABLE )",
+ "options": [
+ {
+ "label": "Mobile",
+ "value": "mobile",
+ "description": "Your app would work in all mobile devices. Our most requested option."
+ },
+ {
+ "label": "Tablet",
+ "value": "tablet",
+ "description": "Your app would be optimized for the larger form-factor of a tablet device."
+ },
+ {
+ "label": "Desktop",
+ "value": "desktop",
+ "description": "We will deliver a native desktop app, working under the selected desktop OS."
+ },
+ {
+ "label": "Web Browser",
+ "value": "web-browser",
+ "description": "Your app would be accessed via any web browser on desktop and mobile devices alike."
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "What type of platform do you need?",
+ "summaryTitle": "Mobile platforms",
+ "description": "Select maximum 2 types of platforms 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.mobilePlatforms",
+ "type": "checkbox-group",
+ "affectsQuickQuote": true,
+ "theme": "light",
+ "help": {
+ "linkTitle": "Which platforms to select?",
+ "title": "Which platforms to select?",
+ "content": "
Section One Title Goes Here
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.targetDevices contains 'mobile' ) || ( details.appDefinition.targetDevices contains 'tablet' )",
+ "options": [
+ {
+ "label": "iOS",
+ "value": "ios",
+ "description": "Your app would work on iOS phones. We will develop it using Objective-C and SWIFT"
+ },
+ {
+ "label": "Android",
+ "value": "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": "Does your app need to be Native or Hybrid?",
+ "summaryTitle": "App Type",
+ "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.nativeHybrid",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "Which OS to select?",
+ "title": "Which OS to select?",
+ "content": "
Section One Title Goes Here
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 let us know the type of the app?",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "( details.appDefinition.mobilePlatforms contains 'ios' ) || ( details.appDefinition.mobilePlatforms contains 'android' )",
+ "options": [
+ {
+ "label": "Native",
+ "value": "native",
+ "description": "A native mobile app is a smartphone application that is coded in a specific programming language, such as Objective C for iOS or Java for Android operating systems."
+ },
+ {
+ "label": "Hybrid",
+ "value": "hybrid",
+ "description": "A hybrid application (hybrid app) is one that combines elements of both native and Web applications."
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Should your web app be progressive or responsive?",
+ "summaryTitle": "Web App Type",
+ "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.progressiveResponsive",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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 let us know the type of web app?",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "( details.appDefinition.targetDevices contains 'web-browser' )",
+ "options": [
+ {
+ "label": "Progressive",
+ "value": "progressive",
+ "description": "Your app would be optimized for all devices desktops."
+ },
+ {
+ "label": "Responsive",
+ "value": "responsive",
+ "description": "Your app would be optimized for all devices from mobile phones to large desktops."
+ }
+ ]
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ },
+ {
+ "id": "app-size-questions",
+ "hideTitle": true,
+ "type": "questions",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "How many screens do you need?",
+ "summaryTitle": "Screens",
+ "description": "This is the most popular project size that can get a medium-sized app designed in a breeze",
+ "fieldName": "details.appDefinition.numberScreens",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What are screens?",
+ "title": "What are screens?",
+ "content": "
Section One Title Goes Here
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 let us know the number of screens required?",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "( HAS_DESIGN_DELIVERABLE || HAS_DEV_DELIVERABLE ) && (!( MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP))",
+ "options": [
+ {
+ "value": "2-4",
+ "label": "2-4 screens",
+ "description": "Suitable for small apps with 2-4 main features",
+ "disabled": false
+ },
+ {
+ "value": "5-8",
+ "label": "5-8 screens",
+ "description": "Suitable for medium apps with 5-8 main features",
+ "disabled": false
+ },
+ {
+ "value": "9-15",
+ "label": "9-15 screens",
+ "description": "Suitable for larger apps with 9-15 main features",
+ "disabled": false,
+ "condition": "!QUICK_DESIGN_3_DAYS"
+ }
+ ]
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ },
+ {
+ "id": "qa-deliverable-questions",
+ "hideTitle": true,
+ "type": "questions",
+ "condition": "ONE_DELIVERABLE && HAS_QA_DELIVERABLE",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "What type of QA you need?",
+ "description": "",
+ "fieldName": "details.appDefinition.qaType",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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",
+ "required": true,
+ "condition": "( HAS_QA_DELIVERABLE && ONE_DELIVERABLE )",
+ "options": [
+ {
+ "value": "real-world-unstructured",
+ "label": "Real World Unstructured Testing"
+ },
+ {
+ "value": "real-world-structured",
+ "label": "Real World Structured Testing"
+ },
+ {
+ "value": "mobility-testing",
+ "label": "Mobility Testing"
+ },
+ {
+ "value": "automated-testing",
+ "label": "Automation Testing"
+ },
+ {
+ "value": "performance-testing",
+ "label": "Performance Testing"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "What do you need us to help you with?",
+ "description": "",
+ "fieldName": "details.appDefinition.structuredTestWorkType",
+ "type": "checkbox-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What work is right for me?",
+ "title": "What work is right for me?",
+ "content": "
Section One Title Goes Here
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 us to help with.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "REAL_WORLD_STRUCT_TESTING",
+ "options": [
+ {
+ "value": "test-case-creation",
+ "label": "Test Case Creation"
+ },
+ {
+ "value": "test-case-execution",
+ "label": "Test Case Execution"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "How many test cases do you need?",
+ "description": "",
+ "fieldName": "details.appDefinition.structuredTestsCount",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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 test cases you need or have.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "REAL_WORLD_STRUCT_TESTING",
+ "options": [
+ {
+ "value": "upto-50",
+ "label": "Up to 50 test cases",
+ "condition": "(STRUCT_TEST_CASE_CREATION && ONE_QA_DELIVERABLE)"
+ },
+ {
+ "value": "upto-100",
+ "label": "Up to 100 test cases",
+ "condition": "(STRUCT_TEST_CASE_CREATION && ONE_QA_DELIVERABLE)"
+ },
+ {
+ "value": "upto-150",
+ "label": "Up to 150 test cases",
+ "condition": "(STRUCT_TEST_CASE_EXECUTION)"
+ },
+ {
+ "value": "upto-300",
+ "label": "Up to 300 test cases",
+ "condition": "(STRUCT_TEST_CASE_EXECUTION)"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "How many screens need to be tested?",
+ "description": "",
+ "fieldName": "details.appDefinition.unstructuredTestsScreenCount",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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 test cases you need or have.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "REAL_WORLD_UNSTRUCT_TESTING",
+ "options": [
+ {
+ "value": "upto-10",
+ "label": "Up to 10"
+ },
+ {
+ "value": "upto-30",
+ "label": "Up to 30"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "How many test cases do you need?",
+ "description": "",
+ "fieldName": "details.appDefinition.automatedTestsCount",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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 test cases you have or need.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "AUTOMATED_TESTING",
+ "options": [
+ {
+ "value": "upto-50",
+ "label": "Up to 50 test cases"
+ },
+ {
+ "value": "upto-100",
+ "label": "Up to 100 test cases"
+ }
+ ]
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ },
+ {
+ "id": "deployment-deliverable-questions",
+ "hideTitle": true,
+ "type": "questions",
+ "condition": "HAS_DEPLOY_DELIVERABLE",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "Where do you need your app deployed?",
+ "summaryTitle": "Deployment Targets",
+ "description": "",
+ "fieldName": "details.appDefinition.deploymentTargets",
+ "type": "checkbox-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What work is right for me?",
+ "title": "What work is right for me?",
+ "content": "
Section One Title Goes Here
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 us to help with.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "HAS_DEPLOY_DELIVERABLE",
+ "options": [
+ {
+ "value": "apple-app-store",
+ "label": "Apple App Store",
+ "condition": "( ONE_DELIVERABLE || (details.appDefinition.mobilePlatforms contains 'ios') )",
+ "description": "Apple App Store Deployment"
+ },
+ {
+ "value": "google-play",
+ "label": "Google Play",
+ "condition": "( ONE_DELIVERABLE || (details.appDefinition.mobilePlatforms contains 'android') )",
+ "description": "Google App Store Deployment"
+ },
+ {
+ "value": "internal-production-environment",
+ "label": "Internal Production Environment",
+ "condition": "( ONE_DELIVERABLE || (details.appDefinition.targetDevices contains 'desktop') || (details.appDefinition.targetDevices contains 'web-browser') )",
+ "description": "Deployment to your internal production environment"
+ }
+ ]
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ },
+ {
+ "id": "tc-services-questions",
+ "hideTitle": true,
+ "type": "questions",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "Do you want a Community Architect to oversee your project?",
+ "summaryTitle": "Architect",
+ "description": "",
+ "fieldName": "details.appDefinition.caNeeded",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "Do I need an architect?",
+ "title": "Do I need an architect?",
+ "content": "
Section One Title Goes Here
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",
+ "required": true,
+ "condition": "!( MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP)",
+ "options": [
+ {
+ "value": "yes",
+ "label": "Yes (Managed)",
+ "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."
+ },
+ {
+ "value": "no",
+ "label": "No (Unmanaged)",
+ "summaryLabel": "No",
+ "description": "You will have to take technical decisions and discuss requirements with our project managers."
+ }
+ ]
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ },
+ {
+ "id": "customeQuote",
+ "hideTitle": true,
+ "fieldName": "details.appDefinition.message",
+ "title": "Message",
+ "description": "Wow! We love your idea. This is a very complex, technical solution. We will take a look at your project and contact you regarding next steps and a quote.",
+ "type": "message",
+ "condition": "MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP"
+ }
+ ]
+ },
+ {
+ "id": "summary-intermediate",
+ "hiddenOnEdit": true,
+ "hideFormHeader": true,
+ "nextButtonText": "Configure my project",
+ "footer": {
+ "content": ""
+ },
+ "subSections": [
+ {
+ "type": "questions",
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "static",
+ "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": "HAS_DESIGN_DELIVERABLE",
+ "category": "design"
+ },
+ {
+ "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",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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": "HAS_DEV_DELIVERABLE",
+ "category": "development"
+ },
+ {
+ "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",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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": "HAS_QA_DELIVERABLE",
+ "category": "qa"
+ },
+ {
+ "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",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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.
"
+ }
+ ]
+ },
+ {
+ "hideTitle": true,
+ "type": "portal",
+ "content": [
+ {
+ "sectionIndex": 1
+ },
+ {
+ "sectionIndex": 3
+ }
+ ]
+ },
+ {
+ "type": "questions",
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "estimation",
+ "title": "Your project timeline",
+ "deliverables": [
+ {
+ "id": "design",
+ "title": "Design",
+ "duration": 3,
+ "enableCondition": "HAS_DESIGN_DELIVERABLE",
+ "deliverableKey": "design"
+ },
+ {
+ "id": "development",
+ "title": "Development",
+ "duration": 24,
+ "enableCondition": "HAS_DEV_DELIVERABLE",
+ "deliverableKey": "dev-qa"
+ },
+ {
+ "id": "qa",
+ "title": "QA",
+ "duration": 3,
+ "enableCondition": "HAS_QA_DELIVERABLE",
+ "deliverableKey": "qa"
+ },
+ {
+ "id": "deployment",
+ "title": "Deploy",
+ "duration": 1,
+ "enableCondition": "HAS_DEPLOY_DELIVERABLE",
+ "deliverableKey": "deployment"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "wizard": {
+ "enabled": true,
+ "previousStepVisibility": "none"
+ },
+ "preparedConditions": {
+ "ONLY_ONE_OS_MOBILE": "((details.appDefinition.mobilePlatforms hasLength 1) && (!(details.appDefinition.targetDevices contains 'desktop')) && (!(details.appDefinition.targetDevices contains 'web-browser')))",
+ "ONLY_ONE_OS_DESKTOP": "((details.appDefinition.targetDevices contains 'desktop') && (details.appDefinition.targetDevices hasLength 1))",
+ "ONLY_ONE_OS_PROGRESSIVE": "((details.appDefinition.targetDevices contains 'web-browser') && (details.appDefinition.targetDevices hasLength 1) && (details.appDefinition.progressiveResponsive == 'progressive'))",
+ "CA_NOT_NEEDED": "(details.appDefinition.caNeeded != 'yes')",
+ "CA_NEEDED": "(details.appDefinition.caNeeded == 'yes')",
+ "SCREENS_COUNT_SMALL": "(details.appDefinition.numberScreens == '2-4')",
+ "SCREENS_COUNT_MEDIUM": "(details.appDefinition.numberScreens == '5-8')",
+ "SCREENS_COUNT_LARGE": "(details.appDefinition.numberScreens == '9-15')",
+ "ONLY_TWO_OS_BOTH_MOBILES": "((details.appDefinition.mobilePlatforms hasLength 2) && (!(details.appDefinition.targetDevices contains 'desktop')) && (!(details.appDefinition.targetDevices contains 'web-browser')))",
+ "ONLY_TWO_OS_MOBILE_DESKTOP": "((details.appDefinition.mobilePlatforms hasLength 1) && (details.appDefinition.targetDevices contains 'desktop') && (!(details.appDefinition.targetDevices contains 'web-browser')))",
+ "ONLY_TWO_OS_MOBILE_PROGRESSIVE": "((details.appDefinition.mobilePlatforms hasLength 1) && (details.appDefinition.targetDevices contains 'web-browser') && (!(details.appDefinition.targetDevices contains 'desktop')) && (details.appDefinition.progressiveResponsive == 'progressive'))",
+ "COMPREHENSIVE_DESIGN": "(details.appDefinition.designGoal == 'comprehensive-designs')",
+ "HAS_MOBILE_DEPLOYMENT": "((details.appDefinition.deploymentTargets contains 'apple-app-store') || (details.appDefinition.deploymentTargets contains 'google-play'))",
+ "HAS_INTERNAL_DEPLOYMENT": "(details.appDefinition.deploymentTargets contains 'internal-production-environment')",
+ "ONE_TARGET_DEVICE": "(details.appDefinition.targetDevices hasLength 1)",
+ "TWO_TARGET_DEVICES": "(details.appDefinition.targetDevices hasLength 2)",
+ "THREE_TARGET_DEVICES": "(details.appDefinition.targetDevices hasLength 3)",
+ "MORE_THAN_ONE_TARGET_DEVICES": "(details.appDefinition.targetDevices hasLength 2) || (details.appDefinition.targetDevices hasLength 3) || (details.appDefinition.targetDevices hasLength 4)",
+ "ONLY_ONE_OS_RESPONSIVE": "((details.appDefinition.targetDevices contains 'web-browser') && (details.appDefinition.targetDevices hasLength 1) && (details.appDefinition.progressiveResponsive == 'responsive'))",
+ "IS_WEB_RESP_APP": "(details.appDefinition.progressiveResponsive == 'responsive')",
+ "CONCEPT_DESIGN": "(details.appDefinition.designGoal == 'concept-designs')",
+ "ONE_DELIVERABLE": "(details.appDefinition.deliverables hasLength 1)",
+ "TWO_DELIVERABLES": "(details.appDefinition.deliverables hasLength 2)",
+ "HAS_DESIGN_DELIVERABLE": "(details.appDefinition.deliverables contains 'design')",
+ "HAS_DEV_DELIVERABLE": "(details.appDefinition.deliverables contains 'dev-qa')",
+ "HAS_QA_DELIVERABLE": "(details.appDefinition.deliverables contains 'qa')",
+ "QUICK_DESIGN_3_DAYS": "(details.appDefinition.quickTurnaround == 'under-3-days')",
+ "QUICK_DESIGN_6_DAYS": "(details.appDefinition.quickTurnaround == 'under-6-days')",
+ "ONLY_MOBILE_DEPLOYMENT": "((details.appDefinition.deploymentTargets contains 'apple-app-store') || (details.appDefinition.deploymentTargets contains 'google-play')) && (!(details.appDefinition.deploymentTargets contains 'internal-production-environment'))",
+ "ONLY_INTERNAL_DEPLOYMENT": "(details.appDefinition.deploymentTargets contains 'internal-production-environment') && (details.appDefinition.deploymentTargets hasLength 1)",
+ "HAS_DEPLOY_DELIVERABLE": "(details.appDefinition.deliverables contains 'deployment')",
+ "THREE_DELIVERABLES": "(details.appDefinition.deliverables hasLength 3)",
+ "FOUR_DELIVERABLES": "(details.appDefinition.deliverables hasLength 4)",
+ "REAL_WORLD_STRUCT_TESTING": "(details.appDefinition.qaType contains 'real-world-structured')",
+ "STRUCT_TEST_CASE_CREATION": "(details.appDefinition.structuredTestWorkType contains 'test-case-creation')",
+ "STRUCT_TEST_CASE_EXECUTION": "(details.appDefinition.structuredTestWorkType contains 'test-case-execution')",
+ "TEST_CASE_CREATION_COUNT_SMALL": "(details.appDefinition.structuredTestsCount == 'upto-50')",
+ "TEST_CASE_CREATION_COUNT_LARGE": "(details.appDefinition.structuredTestsCount == 'upto-100')",
+ "TEST_CASE_EXECUTION_COUNT_SMALL": "(details.appDefinition.structuredTestsCount == 'upto-150')",
+ "TEST_CASE_EXECUTION_COUNT_LARGE": "(details.appDefinition.structuredTestsCount == 'upto-300')",
+ "ONE_QA_DELIVERABLE": "(details.appDefinition.structuredTestWorkType hasLength 1)",
+ "REAL_WORLD_UNSTRUCT_TESTING": "(details.appDefinition.qaType contains 'real-world-unstructured')",
+ "AUTOMATED_TESTING": "(details.appDefinition.qaType contains 'automated-testing')",
+ "UNSTRUCT_SCREEN_COUNT_SMALL": "(details.appDefinition.unstructuredTestsScreenCount == 'upto-10')",
+ "UNSTRUCT_SCREEN_COUNT_LARGE": "(details.appDefinition.unstructuredTestsScreenCount == 'upto-30')",
+ "AUTOMATED_TEST_COUNT_SMALL": "(details.appDefinition.automatedTestsCount == 'upto-50')",
+ "AUTOMATED_TEST_COUNT_LARGE": "(details.appDefinition.automatedTestsCount == 'upto-100')",
+ "MOBILITY_TESTING": "(details.appDefinition.qaType contains 'mobility-testing')",
+ "PERFORMANCE_TESTING": "(details.appDefinition.qaType contains 'performance-testing')",
+ "HAS_WIREFRAMES_ADDON": "(details.appDefinition.addons.design contains '{\"productKey\":\"wireframes\"}')",
+ "HAS_UI_PROTOTYPE_ADDON": "(details.appDefinition.addons.design contains '{\"productKey\":\"ui-prototype\"}')",
+ "HAS_RESP_UI_PROTOTYPE_ADDON": "(details.appDefinition.addons.design contains '{\"productKey\":\"responsive-ui-prototype\"}')",
+ "HAS_ZEPLIN_APP_ADDON": "(details.appDefinition.addons.design contains '{\"productKey\":\"zeplin-app-handoff\"}')",
+ "HAS_DESIGN_DIRECTION_ADDON": "(details.appDefinition.addons.design contains '{\"productKey\":\"design-direction\"}')",
+ "HAS_MAZE_UX_TESTING_ADDON": "(details.appDefinition.addons.design contains '{\"productKey\":\"ux-testing-with-maze\"}')",
+ "HAS_API_DEVELOPMENT_ADDON": "(details.appDefinition.addons.development contains '{\"productKey\":\"api-development\"}')",
+ "HAS_API_INTEGRATION_ADDON": "(details.appDefinition.addons.development contains '{\"productKey\":\"api-integration\"}')",
+ "HAS_OFFLINE_CAPABILITY_ADDON": "(details.appDefinition.addons.development contains '{\"productKey\":\"offline-capability\"}')",
+ "HAS_MIN_BATTERY_USE_IMPL_ADDON": "(details.appDefinition.addons.development contains '{\"productKey\":\"min-battery-use-impl\"}')",
+ "HAS_SMTP_SERVER_SETUP_ADDON": "(details.appDefinition.addons.development contains '{\"productKey\":\"smtp-server-setup\"}')",
+ "HAS_BACKEND_DEVELOPMENT_ADDON": "(details.appDefinition.addons.development contains '{\"productKey\":\"backend-development\"}')",
+ "HAS_RESP_DESIGN_IMPL_ADDON": "(details.appDefinition.addons.development contains '{\"productKey\":\"resp-design-impl\"}')",
+ "HAS_ADMIN_TOOL_DEV_ADDON": "(details.appDefinition.addons.development contains '{\"productKey\":\"admin-tool-development\"}')",
+ "HAS_LOCATION_SERVICES_ADDON": "(details.appDefinition.addons.development contains '{\"productKey\":\"location-based-services\"}')",
+ "HAS_CONTAINERIZED_CODE_ADDON": "(details.appDefinition.addons.development contains '{\"productKey\":\"containerized-code\"}')",
+ "HAS_GOOGLE_ANALYTICS_ADDON": "(details.appDefinition.addons.development contains '{\"productKey\":\"google-analytics-impl\"}')",
+ "HAS_SSO_INTEGRATION_ADDON": "(details.appDefinition.addons.development contains '{\"productKey\":\"sso-integration\"}')",
+ "HAS_THIRD_PARTY_INTEGRATION_ADDON": "(details.appDefinition.addons.development contains '{\"productKey\":\"third-party-integration\"}')",
+ "HAS_SMS_GATEWAY_INTEGRATION_ADDON": "(details.appDefinition.addons.development contains '{\"productKey\":\"sms-gateway-integration\"}')",
+ "HAS_SOCIAL_MEDIA_INTEGRATION_ADDON": "(details.appDefinition.addons.development contains '{\"productKey\":\"social-media-integration\"}')",
+ "HAS_MOBILE_ENT_SECURITY_ADDON": "(details.appDefinition.addons.development contains '{\"productKey\":\"mobile-enterprise-security\"}')",
+ "HAS_CHECKMARX_SCANNING_ADDON": "(details.appDefinition.addons.development contains '{\"productKey\":\"checkmarx-scanning\"}')",
+ "HAS_BLACKDUCK_SCANNING_ADDON": "(details.appDefinition.addons.development contains '{\"productKey\":\"blackduck-scanning\"}')",
+ "HAS_CI_CD_ADDON": "(details.appDefinition.addons.deployment contains '{\"productKey\":\"continuous-integration-deployment\"}')",
+ "HAS_AUTOMATION_TESTING_ADDON": "(details.appDefinition.addons.development contains '{\"productKey\":\"automation-testing\"}')",
+ "HAS_PERF_TESTING_ADDON": "(details.appDefinition.addons.development contains '{\"productKey\":\"performance-testing-cycle\"}')",
+ "HAS_UNIT_TESTING_ADDON": "(details.appDefinition.addons.development contains '{\"productKey\":\"unit-tests\"}')",
+ "HAS_UAT_ENHANCEMENTS_ADDON": "(details.appDefinition.addons.development contains '{\"productKey\":\"user-acceptance-testing-enhancements\"}')"
+ },
+ "basePriceEstimate": 1000,
+ "baseTimeEstimateMin": 3,
+ "baseTimeEstimateMax": 6,
+ "priceConfig": {
+ "ONE_DELIVERABLE && HAS_QA_DELIVERABLE": [
+ [
+ "SMALL_STRUCT_TEST_CREATION_NO_CA"
+ ],
+ [
+ "LARGE_STRUCT_TEST_CREATION_NO_CA"
+ ],
+ [
+ "SMALL_STRUCT_TEST_CREATION_CA"
+ ],
+ [
+ "LARGE_STRUCT_TEST_CREATION_CA"
+ ],
+ [
+ "SMALL_STRUCT_TEST_EXECUTION_NO_CA"
+ ],
+ [
+ "LARGE_STRUCT_TEST_EXECUTION_NO_CA"
+ ],
+ [
+ "SMALL_STRUCT_TEST_EXECUTION_CA"
+ ],
+ [
+ "LARGE_STRUCT_TEST_EXECUTION_CA"
+ ],
+ [
+ "SMALL_STRUCT_TEST_CREATION_EXECUTION_NO_CA"
+ ],
+ [
+ "LARGE_STRUCT_TEST_CREATION_EXECUTION_NO_CA"
+ ],
+ [
+ "SMALL_STRUCT_TEST_CREATION_EXECUTION_CA"
+ ],
+ [
+ "LARGE_STRUCT_TEST_CREATION_EXECUTION_CA"
+ ],
+ [
+ "SMALL_UNSTRUCT_TESTS_NO_CA"
+ ],
+ [
+ "LARGE_UNSTRUCT_TESTS_NO_CA"
+ ],
+ [
+ "SMALL_UNSTRUCT_TESTS_CA"
+ ],
+ [
+ "LARGE_UNSTRUCT_TESTS_CA"
+ ],
+ [
+ "SMALL_AUTOMATED_TESTS_NO_CA"
+ ],
+ [
+ "LARGE_AUTOMATED_TESTS_NO_CA"
+ ],
+ [
+ "SMALL_AUTOMATED_TESTS_CA"
+ ],
+ [
+ "LARGE_AUTOMATED_TESTS_CA"
+ ],
+ [
+ "MOBILITY_TESTS_NO_CA"
+ ],
+ [
+ "MOBILITY_TESTS_CA"
+ ],
+ [
+ "PERFORMANCE_TESTS_CA"
+ ]
+ ],
+ "ONE_DELIVERABLE && (!(HAS_QA_DELIVERABLE))": [
+ [
+ "FREE_SIZE_CONC_DESIGN_ASAP_NO_CA"
+ ],
+ [
+ "FREE_SIZE_CONC_DESIGN_ASAP_CA"
+ ],
+ [
+ "FREE_SIZE_CONC_DESIGN_NO_HURRY_NO_CA"
+ ],
+ [
+ "FREE_SIZE_CONC_DESIGN_NO_HURRY_CA"
+ ],
+ [
+ "SMALL_COMP_DESIGN_ONE_DEVICE_NO_CA"
+ ],
+ [
+ "MEDIUM_COMP_DESIGN_ONE_DEVICE_NO_CA"
+ ],
+ [
+ "LARGE_COMP_DESIGN_ONE_DEVICE_NO_CA"
+ ],
+ [
+ "SMALL_COMP_DESIGN_ONE_DEVICE_CA"
+ ],
+ [
+ "MEDIUM_COMP_DESIGN_ONE_DEVICE_CA"
+ ],
+ [
+ "LARGE_COMP_DESIGN_ONE_DEVICE_CA"
+ ],
+ [
+ "SMALL_COMP_DESIGN_TWO_DEVICE_NO_CA"
+ ],
+ [
+ "MEDIUM_COMP_DESIGN_TWO_DEVICE_NO_CA"
+ ],
+ [
+ "LARGE_COMP_DESIGN_TWO_DEVICE_NO_CA"
+ ],
+ [
+ "SMALL_COMP_DESIGN_TWO_DEVICE_CA"
+ ],
+ [
+ "MEDIUM_COMP_DESIGN_TWO_DEVICE_CA"
+ ],
+ [
+ "LARGE_COMP_DESIGN_TWO_DEVICE_CA"
+ ],
+ [
+ "SMALL_COMP_DESIGN_THREE_DEVICE_NO_CA"
+ ],
+ [
+ "MEDIUM_COMP_DESIGN_THREE_DEVICE_NO_CA"
+ ],
+ [
+ "LARGE_COMP_DESIGN_THREE_DEVICE_NO_CA"
+ ],
+ [
+ "SMALL_COMP_DESIGN_THREE_DEVICE_CA"
+ ],
+ [
+ "MEDIUM_COMP_DESIGN_THREE_DEVICE_CA"
+ ],
+ [
+ "LARGE_COMP_DESIGN_THREE_DEVICE_CA"
+ ],
+ [
+ "SMALL_DEV_ONE_OS_NO_CA"
+ ],
+ [
+ "MEDIUM_DEV_ONE_OS_NO_CA"
+ ],
+ [
+ "LARGE_DEV_ONE_OS_NO_CA"
+ ],
+ [
+ "SMALL_DEV_ONE_OS_CA"
+ ],
+ [
+ "MEDIUM_DEV_ONE_OS_CA"
+ ],
+ [
+ "LARGE_DEV_ONE_OS_CA"
+ ],
+ [
+ "SMALL_DEV_TWO_OS_NO_CA"
+ ],
+ [
+ "MEDIUM_DEV_TWO_OS_NO_CA"
+ ],
+ [
+ "LARGE_DEV_TWO_OS_NO_CA"
+ ],
+ [
+ "SMALL_DEV_TWO_OS_CA"
+ ],
+ [
+ "MEDIUM_DEV_TWO_OS_CA"
+ ],
+ [
+ "LARGE_DEV_TWO_OS_CA"
+ ],
+ [
+ "SMALL_DEV_ONE_OS_RESP_NO_CA"
+ ],
+ [
+ "MEDIUM_DEV_ONE_OS_RESP_NO_CA"
+ ],
+ [
+ "LARGE_DEV_ONE_OS_RESP_NO_CA"
+ ],
+ [
+ "SMALL_DEV_ONE_OS_RESP_CA"
+ ],
+ [
+ "MEDIUM_DEV_ONE_OS_RESP_CA"
+ ],
+ [
+ "LARGE_DEV_ONE_OS_RESP_CA"
+ ],
+ [
+ "DEPLOY_MOBILE_NO_CA"
+ ],
+ [
+ "DEPLOY_MOBILE_CA"
+ ],
+ [
+ "DEPLOY_INTERNAL_NO_CA"
+ ],
+ [
+ "DEPLOY_INTERNAL_CA"
+ ],
+ [
+ "DEPLOY_MOBILE_INTERNAL_NO_CA"
+ ],
+ [
+ "DEPLOY_MOBILE_INTERNAL_CA"
+ ]
+ ],
+ "TWO_DELIVERABLES && HAS_QA_DELIVERABLE": [
+ [
+ "SMALL_DEV_ONE_OS_NO_CA"
+ ],
+ [
+ "MEDIUM_DEV_ONE_OS_NO_CA"
+ ],
+ [
+ "LARGE_DEV_ONE_OS_NO_CA"
+ ],
+ [
+ "SMALL_DEV_ONE_OS_CA"
+ ],
+ [
+ "MEDIUM_DEV_ONE_OS_CA"
+ ],
+ [
+ "LARGE_DEV_ONE_OS_CA"
+ ],
+ [
+ "SMALL_DEV_TWO_OS_NO_CA"
+ ],
+ [
+ "MEDIUM_DEV_TWO_OS_NO_CA"
+ ],
+ [
+ "LARGE_DEV_TWO_OS_NO_CA"
+ ],
+ [
+ "SMALL_DEV_TWO_OS_CA"
+ ],
+ [
+ "MEDIUM_DEV_TWO_OS_CA"
+ ],
+ [
+ "LARGE_DEV_TWO_OS_CA"
+ ],
+ [
+ "SMALL_DEV_ONE_OS_RESP_NO_CA"
+ ],
+ [
+ "MEDIUM_DEV_ONE_OS_RESP_NO_CA"
+ ],
+ [
+ "LARGE_DEV_ONE_OS_RESP_NO_CA"
+ ],
+ [
+ "SMALL_DEV_ONE_OS_RESP_CA"
+ ],
+ [
+ "MEDIUM_DEV_ONE_OS_RESP_CA"
+ ],
+ [
+ "LARGE_DEV_ONE_OS_RESP_CA"
+ ]
+ ],
+ "((TWO_DELIVERABLES && (!(HAS_QA_DELIVERABLE))) || (THREE_DELIVERABLES && HAS_QA_DELIVERABLE ))": [
+ [
+ "SMALL_COMP_DESIGN_ONE_DEVICE_NO_CA",
+ "SMALL_DEV_ONE_OS_NO_CA"
+ ],
+ [
+ "MEDIUM_COMP_DESIGN_ONE_DEVICE_NO_CA",
+ "MEDIUM_DEV_ONE_OS_NO_CA"
+ ],
+ [
+ "LARGE_COMP_DESIGN_ONE_DEVICE_NO_CA",
+ "LARGE_DEV_ONE_OS_NO_CA"
+ ],
+ [
+ "SMALL_COMP_DESIGN_ONE_DEVICE_CA",
+ "SMALL_DEV_ONE_OS_CA"
+ ],
+ [
+ "MEDIUM_COMP_DESIGN_ONE_DEVICE_CA",
+ "MEDIUM_DEV_ONE_OS_CA"
+ ],
+ [
+ "LARGE_COMP_DESIGN_ONE_DEVICE_CA",
+ "LARGE_DEV_ONE_OS_CA"
+ ],
+ [
+ "SMALL_COMP_DESIGN_ONE_DEVICE_NO_CA",
+ "SMALL_DEV_TWO_OS_NO_CA"
+ ],
+ [
+ "MEDIUM_COMP_DESIGN_ONE_DEVICE_NO_CA",
+ "MEDIUM_DEV_TWO_OS_NO_CA"
+ ],
+ [
+ "LARGE_COMP_DESIGN_ONE_DEVICE_NO_CA",
+ "LARGE_DEV_TWO_OS_NO_CA"
+ ],
+ [
+ "SMALL_COMP_DESIGN_ONE_DEVICE_CA",
+ "SMALL_DEV_TWO_OS_CA"
+ ],
+ [
+ "MEDIUM_COMP_DESIGN_ONE_DEVICE_CA",
+ "MEDIUM_DEV_TWO_OS_CA"
+ ],
+ [
+ "LARGE_COMP_DESIGN_ONE_DEVICE_CA",
+ "LARGE_DEV_TWO_OS_CA"
+ ],
+ [
+ "SMALL_COMP_DESIGN_TWO_DEVICE_NO_CA",
+ "SMALL_DEV_ONE_OS_NO_CA"
+ ],
+ [
+ "MEDIUM_COMP_DESIGN_TWO_DEVICE_NO_CA",
+ "MEDIUM_DEV_ONE_OS_NO_CA"
+ ],
+ [
+ "LARGE_COMP_DESIGN_TWO_DEVICE_NO_CA",
+ "LARGE_DEV_ONE_OS_NO_CA"
+ ],
+ [
+ "SMALL_COMP_DESIGN_TWO_DEVICE_CA",
+ "SMALL_DEV_ONE_OS_CA"
+ ],
+ [
+ "MEDIUM_COMP_DESIGN_TWO_DEVICE_CA",
+ "MEDIUM_DEV_ONE_OS_CA"
+ ],
+ [
+ "LARGE_COMP_DESIGN_TWO_DEVICE_CA",
+ "LARGE_DEV_ONE_OS_CA"
+ ],
+ [
+ "SMALL_COMP_DESIGN_TWO_DEVICE_NO_CA",
+ "SMALL_DEV_TWO_OS_NO_CA"
+ ],
+ [
+ "MEDIUM_COMP_DESIGN_TWO_DEVICE_NO_CA",
+ "MEDIUM_DEV_TWO_OS_NO_CA"
+ ],
+ [
+ "LARGE_COMP_DESIGN_TWO_DEVICE_NO_CA",
+ "LARGE_DEV_TWO_OS_NO_CA"
+ ],
+ [
+ "SMALL_COMP_DESIGN_TWO_DEVICE_CA",
+ "SMALL_DEV_TWO_OS_CA"
+ ],
+ [
+ "MEDIUM_COMP_DESIGN_TWO_DEVICE_CA",
+ "MEDIUM_DEV_TWO_OS_CA"
+ ],
+ [
+ "LARGE_COMP_DESIGN_TWO_DEVICE_CA",
+ "LARGE_DEV_TWO_OS_CA"
+ ],
+ [
+ "SMALL_COMP_DESIGN_THREE_DEVICE_NO_CA",
+ "SMALL_DEV_TWO_OS_NO_CA"
+ ],
+ [
+ "MEDIUM_COMP_DESIGN_THREE_DEVICE_NO_CA",
+ "MEDIUM_DEV_TWO_OS_NO_CA"
+ ],
+ [
+ "LARGE_COMP_DESIGN_THREE_DEVICE_NO_CA",
+ "LARGE_DEV_TWO_OS_NO_CA"
+ ],
+ [
+ "SMALL_COMP_DESIGN_THREE_DEVICE_CA",
+ "SMALL_DEV_TWO_OS_CA"
+ ],
+ [
+ "MEDIUM_COMP_DESIGN_THREE_DEVICE_CA",
+ "MEDIUM_DEV_TWO_OS_CA"
+ ],
+ [
+ "LARGE_COMP_DESIGN_THREE_DEVICE_CA",
+ "LARGE_DEV_TWO_OS_CA"
+ ],
+ [
+ "SMALL_COMP_DESIGN_ONE_DEVICE_NO_CA",
+ "SMALL_DEV_ONE_OS_RESP_NO_CA"
+ ],
+ [
+ "MEDIUM_COMP_DESIGN_ONE_DEVICE_NO_CA",
+ "MEDIUM_DEV_ONE_OS_RESP_NO_CA"
+ ],
+ [
+ "LARGE_COMP_DESIGN_ONE_DEVICE_NO_CA",
+ "LARGE_DEV_ONE_OS_RESP_NO_CA"
+ ],
+ [
+ "SMALL_COMP_DESIGN_ONE_DEVICE_CA",
+ "SMALL_DEV_ONE_OS_RESP_CA"
+ ],
+ [
+ "MEDIUM_COMP_DESIGN_ONE_DEVICE_CA",
+ "MEDIUM_DEV_ONE_OS_RESP_CA"
+ ],
+ [
+ "LARGE_COMP_DESIGN_ONE_DEVICE_CA",
+ "LARGE_DEV_ONE_OS_RESP_CA"
+ ],
+ [
+ "SMALL_DEV_ONE_OS_NO_CA",
+ "DEPLOY_MOBILE_NO_CA"
+ ],
+ [
+ "MEDIUM_DEV_ONE_OS_NO_CA",
+ "DEPLOY_MOBILE_NO_CA"
+ ],
+ [
+ "LARGE_DEV_ONE_OS_NO_CA",
+ "DEPLOY_MOBILE_NO_CA"
+ ],
+ [
+ "SMALL_DEV_ONE_OS_CA",
+ "DEPLOY_MOBILE_CA"
+ ],
+ [
+ "MEDIUM_DEV_ONE_OS_CA",
+ "DEPLOY_MOBILE_CA"
+ ],
+ [
+ "LARGE_DEV_ONE_OS_CA",
+ "DEPLOY_MOBILE_CA"
+ ],
+ [
+ "SMALL_DEV_ONE_OS_NO_CA",
+ "DEPLOY_INTERNAL_NO_CA"
+ ],
+ [
+ "MEDIUM_DEV_ONE_OS_NO_CA",
+ "DEPLOY_INTERNAL_NO_CA"
+ ],
+ [
+ "LARGE_DEV_ONE_OS_NO_CA",
+ "DEPLOY_INTERNAL_NO_CA"
+ ],
+ [
+ "SMALL_DEV_ONE_OS_CA",
+ "DEPLOY_INTERNAL_CA"
+ ],
+ [
+ "MEDIUM_DEV_ONE_OS_CA",
+ "DEPLOY_INTERNAL_CA"
+ ],
+ [
+ "LARGE_DEV_ONE_OS_CA",
+ "DEPLOY_INTERNAL_CA"
+ ],
+ [
+ "SMALL_DEV_ONE_OS_RESP_NO_CA",
+ "DEPLOY_INTERNAL_NO_CA"
+ ],
+ [
+ "MEDIUM_DEV_ONE_OS_RESP_NO_CA",
+ "DEPLOY_INTERNAL_NO_CA"
+ ],
+ [
+ "LARGE_DEV_ONE_OS_RESP_NO_CA",
+ "DEPLOY_INTERNAL_NO_CA"
+ ],
+ [
+ "SMALL_DEV_ONE_OS_RESP_CA",
+ "DEPLOY_INTERNAL_CA"
+ ],
+ [
+ "MEDIUM_DEV_ONE_OS_RESP_CA",
+ "DEPLOY_INTERNAL_CA"
+ ],
+ [
+ "LARGE_DEV_ONE_OS_RESP_CA",
+ "DEPLOY_INTERNAL_CA"
+ ],
+ [
+ "SMALL_DEV_TWO_OS_NO_CA",
+ "DEPLOY_MOBILE_NO_CA"
+ ],
+ [
+ "MEDIUM_DEV_TWO_OS_NO_CA",
+ "DEPLOY_MOBILE_NO_CA"
+ ],
+ [
+ "LARGE_DEV_TWO_OS_NO_CA",
+ "DEPLOY_MOBILE_NO_CA"
+ ],
+ [
+ "SMALL_DEV_TWO_OS_CA",
+ "DEPLOY_MOBILE_CA"
+ ],
+ [
+ "MEDIUM_DEV_TWO_OS_CA",
+ "DEPLOY_MOBILE_CA"
+ ],
+ [
+ "LARGE_DEV_TWO_OS_CA",
+ "DEPLOY_MOBILE_CA"
+ ],
+ [
+ "SMALL_DEV_TWO_OS_NO_CA",
+ "DEPLOY_INTERNAL_NO_CA"
+ ],
+ [
+ "MEDIUM_DEV_TWO_OS_NO_CA",
+ "DEPLOY_INTERNAL_NO_CA"
+ ],
+ [
+ "LARGE_DEV_TWO_OS_NO_CA",
+ "DEPLOY_INTERNAL_NO_CA"
+ ],
+ [
+ "SMALL_DEV_TWO_OS_CA",
+ "DEPLOY_INTERNAL_CA"
+ ],
+ [
+ "MEDIUM_DEV_TWO_OS_CA",
+ "DEPLOY_INTERNAL_CA"
+ ],
+ [
+ "LARGE_DEV_TWO_OS_CA",
+ "DEPLOY_INTERNAL_CA"
+ ],
+ [
+ "SMALL_DEV_TWO_OS_NO_CA",
+ "DEPLOY_MOBILE_INTERNAL_NO_CA"
+ ],
+ [
+ "MEDIUM_DEV_TWO_OS_NO_CA",
+ "DEPLOY_MOBILE_INTERNAL_NO_CA"
+ ],
+ [
+ "LARGE_DEV_TWO_OS_NO_CA",
+ "DEPLOY_MOBILE_INTERNAL_NO_CA"
+ ],
+ [
+ "SMALL_DEV_TWO_OS_CA",
+ "DEPLOY_MOBILE_INTERNAL_CA"
+ ],
+ [
+ "MEDIUM_DEV_TWO_OS_CA",
+ "DEPLOY_MOBILE_INTERNAL_CA"
+ ],
+ [
+ "LARGE_DEV_TWO_OS_CA",
+ "DEPLOY_MOBILE_INTERNAL_CA"
+ ]
+ ],
+ "(THREE_DELIVERABLES && (!(HAS_QA_DELIVERABLE))) || (FOUR_DELIVERABLES && HAS_QA_DELIVERABLE )": [
+ [
+ "SMALL_COMP_DESIGN_ONE_DEVICE_NO_CA",
+ "SMALL_DEV_ONE_OS_NO_CA",
+ "DEPLOY_INTERNAL_NO_CA"
+ ],
+ [
+ "MEDIUM_COMP_DESIGN_ONE_DEVICE_NO_CA",
+ "MEDIUM_DEV_ONE_OS_NO_CA",
+ "DEPLOY_INTERNAL_NO_CA"
+ ],
+ [
+ "LARGE_COMP_DESIGN_ONE_DEVICE_NO_CA",
+ "LARGE_DEV_ONE_OS_NO_CA",
+ "DEPLOY_INTERNAL_NO_CA"
+ ],
+ [
+ "SMALL_COMP_DESIGN_ONE_DEVICE_CA",
+ "SMALL_DEV_ONE_OS_CA",
+ "DEPLOY_INTERNAL_CA"
+ ],
+ [
+ "MEDIUM_COMP_DESIGN_ONE_DEVICE_CA",
+ "MEDIUM_DEV_ONE_OS_CA",
+ "DEPLOY_INTERNAL_CA"
+ ],
+ [
+ "LARGE_COMP_DESIGN_ONE_DEVICE_CA",
+ "LARGE_DEV_ONE_OS_CA",
+ "DEPLOY_INTERNAL_CA"
+ ],
+ [
+ "SMALL_COMP_DESIGN_ONE_DEVICE_NO_CA",
+ "SMALL_DEV_ONE_OS_NO_CA",
+ "DEPLOY_MOBILE_NO_CA"
+ ],
+ [
+ "MEDIUM_COMP_DESIGN_ONE_DEVICE_NO_CA",
+ "MEDIUM_DEV_ONE_OS_NO_CA",
+ "DEPLOY_MOBILE_NO_CA"
+ ],
+ [
+ "LARGE_COMP_DESIGN_ONE_DEVICE_NO_CA",
+ "LARGE_DEV_ONE_OS_NO_CA",
+ "DEPLOY_MOBILE_NO_CA"
+ ],
+ [
+ "SMALL_COMP_DESIGN_ONE_DEVICE_CA",
+ "SMALL_DEV_ONE_OS_CA",
+ "DEPLOY_MOBILE_CA"
+ ],
+ [
+ "MEDIUM_COMP_DESIGN_ONE_DEVICE_CA",
+ "MEDIUM_DEV_ONE_OS_CA",
+ "DEPLOY_MOBILE_CA"
+ ],
+ [
+ "LARGE_COMP_DESIGN_ONE_DEVICE_CA",
+ "LARGE_DEV_ONE_OS_CA",
+ "DEPLOY_MOBILE_CA"
+ ],
+ [
+ "SMALL_COMP_DESIGN_ONE_DEVICE_NO_CA",
+ "SMALL_DEV_TWO_OS_NO_CA",
+ "DEPLOY_MOBILE_NO_CA"
+ ],
+ [
+ "MEDIUM_COMP_DESIGN_ONE_DEVICE_NO_CA",
+ "MEDIUM_DEV_TWO_OS_NO_CA",
+ "DEPLOY_MOBILE_NO_CA"
+ ],
+ [
+ "LARGE_COMP_DESIGN_ONE_DEVICE_NO_CA",
+ "LARGE_DEV_TWO_OS_NO_CA",
+ "DEPLOY_MOBILE_NO_CA"
+ ],
+ [
+ "SMALL_COMP_DESIGN_ONE_DEVICE_CA",
+ "SMALL_DEV_TWO_OS_CA",
+ "DEPLOY_MOBILE_CA"
+ ],
+ [
+ "MEDIUM_COMP_DESIGN_ONE_DEVICE_CA",
+ "MEDIUM_DEV_TWO_OS_CA",
+ "DEPLOY_MOBILE_CA"
+ ],
+ [
+ "LARGE_COMP_DESIGN_ONE_DEVICE_CA",
+ "LARGE_DEV_TWO_OS_CA",
+ "DEPLOY_MOBILE_CA"
+ ],
+ [
+ "SMALL_COMP_DESIGN_ONE_DEVICE_NO_CA",
+ "SMALL_DEV_TWO_OS_NO_CA",
+ "DEPLOY_INTERNAL_NO_CA"
+ ],
+ [
+ "MEDIUM_COMP_DESIGN_ONE_DEVICE_NO_CA",
+ "MEDIUM_DEV_TWO_OS_NO_CA",
+ "DEPLOY_INTERNAL_NO_CA"
+ ],
+ [
+ "LARGE_COMP_DESIGN_ONE_DEVICE_NO_CA",
+ "LARGE_DEV_TWO_OS_NO_CA",
+ "DEPLOY_INTERNAL_NO_CA"
+ ],
+ [
+ "SMALL_COMP_DESIGN_ONE_DEVICE_CA",
+ "SMALL_DEV_TWO_OS_CA",
+ "DEPLOY_INTERNAL_CA"
+ ],
+ [
+ "MEDIUM_COMP_DESIGN_ONE_DEVICE_CA",
+ "MEDIUM_DEV_TWO_OS_CA",
+ "DEPLOY_INTERNAL_CA"
+ ],
+ [
+ "LARGE_COMP_DESIGN_ONE_DEVICE_CA",
+ "LARGE_DEV_TWO_OS_CA",
+ "DEPLOY_INTERNAL_CA"
+ ],
+ [
+ "SMALL_COMP_DESIGN_ONE_DEVICE_NO_CA",
+ "SMALL_DEV_TWO_OS_NO_CA",
+ "DEPLOY_MOBILE_INTERNAL_NO_CA"
+ ],
+ [
+ "MEDIUM_COMP_DESIGN_ONE_DEVICE_NO_CA",
+ "MEDIUM_DEV_TWO_OS_NO_CA",
+ "DEPLOY_MOBILE_INTERNAL_NO_CA"
+ ],
+ [
+ "LARGE_COMP_DESIGN_ONE_DEVICE_NO_CA",
+ "LARGE_DEV_TWO_OS_NO_CA",
+ "DEPLOY_MOBILE_INTERNAL_NO_CA"
+ ],
+ [
+ "SMALL_COMP_DESIGN_ONE_DEVICE_CA",
+ "SMALL_DEV_TWO_OS_CA",
+ "DEPLOY_MOBILE_INTERNAL_CA"
+ ],
+ [
+ "MEDIUM_COMP_DESIGN_ONE_DEVICE_CA",
+ "MEDIUM_DEV_TWO_OS_CA",
+ "DEPLOY_MOBILE_INTERNAL_CA"
+ ],
+ [
+ "LARGE_COMP_DESIGN_ONE_DEVICE_CA",
+ "LARGE_DEV_TWO_OS_CA",
+ "DEPLOY_MOBILE_INTERNAL_CA"
+ ],
+ [
+ "SMALL_COMP_DESIGN_TWO_DEVICE_NO_CA",
+ "SMALL_DEV_ONE_OS_NO_CA",
+ "DEPLOY_MOBILE_NO_CA"
+ ],
+ [
+ "MEDIUM_COMP_DESIGN_TWO_DEVICE_NO_CA",
+ "MEDIUM_DEV_ONE_OS_NO_CA",
+ "DEPLOY_MOBILE_NO_CA"
+ ],
+ [
+ "LARGE_COMP_DESIGN_TWO_DEVICE_NO_CA",
+ "LARGE_DEV_ONE_OS_NO_CA",
+ "DEPLOY_MOBILE_NO_CA"
+ ],
+ [
+ "SMALL_COMP_DESIGN_TWO_DEVICE_CA",
+ "SMALL_DEV_ONE_OS_CA",
+ "DEPLOY_MOBILE_CA"
+ ],
+ [
+ "MEDIUM_COMP_DESIGN_TWO_DEVICE_CA",
+ "MEDIUM_DEV_ONE_OS_CA",
+ "DEPLOY_MOBILE_CA"
+ ],
+ [
+ "LARGE_COMP_DESIGN_TWO_DEVICE_CA",
+ "LARGE_DEV_ONE_OS_CA",
+ "DEPLOY_MOBILE_CA"
+ ],
+ [
+ "SMALL_COMP_DESIGN_TWO_DEVICE_NO_CA",
+ "SMALL_DEV_TWO_OS_NO_CA",
+ "DEPLOY_MOBILE_NO_CA"
+ ],
+ [
+ "MEDIUM_COMP_DESIGN_TWO_DEVICE_NO_CA",
+ "MEDIUM_DEV_TWO_OS_NO_CA",
+ "DEPLOY_MOBILE_NO_CA"
+ ],
+ [
+ "LARGE_COMP_DESIGN_TWO_DEVICE_NO_CA",
+ "LARGE_DEV_TWO_OS_NO_CA",
+ "DEPLOY_MOBILE_NO_CA"
+ ],
+ [
+ "SMALL_COMP_DESIGN_TWO_DEVICE_CA",
+ "SMALL_DEV_TWO_OS_CA",
+ "DEPLOY_MOBILE_CA"
+ ],
+ [
+ "MEDIUM_COMP_DESIGN_TWO_DEVICE_CA",
+ "MEDIUM_DEV_TWO_OS_CA",
+ "DEPLOY_MOBILE_CA"
+ ],
+ [
+ "LARGE_COMP_DESIGN_TWO_DEVICE_CA",
+ "LARGE_DEV_TWO_OS_CA",
+ "DEPLOY_MOBILE_CA"
+ ],
+ [
+ "SMALL_COMP_DESIGN_TWO_DEVICE_NO_CA",
+ "SMALL_DEV_TWO_OS_NO_CA",
+ "DEPLOY_INTERNAL_NO_CA"
+ ],
+ [
+ "MEDIUM_COMP_DESIGN_TWO_DEVICE_NO_CA",
+ "MEDIUM_DEV_TWO_OS_NO_CA",
+ "DEPLOY_INTERNAL_NO_CA"
+ ],
+ [
+ "LARGE_COMP_DESIGN_TWO_DEVICE_NO_CA",
+ "LARGE_DEV_TWO_OS_NO_CA",
+ "DEPLOY_INTERNAL_NO_CA"
+ ],
+ [
+ "SMALL_COMP_DESIGN_TWO_DEVICE_CA",
+ "SMALL_DEV_TWO_OS_CA",
+ "DEPLOY_INTERNAL_CA"
+ ],
+ [
+ "MEDIUM_COMP_DESIGN_TWO_DEVICE_CA",
+ "MEDIUM_DEV_TWO_OS_CA",
+ "DEPLOY_INTERNAL_CA"
+ ],
+ [
+ "LARGE_COMP_DESIGN_TWO_DEVICE_CA",
+ "LARGE_DEV_TWO_OS_CA",
+ "DEPLOY_INTERNAL_CA"
+ ],
+ [
+ "SMALL_COMP_DESIGN_TWO_DEVICE_NO_CA",
+ "SMALL_DEV_TWO_OS_NO_CA",
+ "DEPLOY_MOBILE_INTERNAL_NO_CA"
+ ],
+ [
+ "MEDIUM_COMP_DESIGN_TWO_DEVICE_NO_CA",
+ "MEDIUM_DEV_TWO_OS_NO_CA",
+ "DEPLOY_MOBILE_INTERNAL_NO_CA"
+ ],
+ [
+ "LARGE_COMP_DESIGN_TWO_DEVICE_NO_CA",
+ "LARGE_DEV_TWO_OS_NO_CA",
+ "DEPLOY_MOBILE_INTERNAL_NO_CA"
+ ],
+ [
+ "SMALL_COMP_DESIGN_TWO_DEVICE_CA",
+ "SMALL_DEV_TWO_OS_CA",
+ "DEPLOY_MOBILE_INTERNAL_CA"
+ ],
+ [
+ "MEDIUM_COMP_DESIGN_TWO_DEVICE_CA",
+ "MEDIUM_DEV_TWO_OS_CA",
+ "DEPLOY_MOBILE_INTERNAL_CA"
+ ],
+ [
+ "LARGE_COMP_DESIGN_TWO_DEVICE_CA",
+ "LARGE_DEV_TWO_OS_CA",
+ "DEPLOY_MOBILE_INTERNAL_CA"
+ ],
+ [
+ "SMALL_COMP_DESIGN_THREE_DEVICE_NO_CA",
+ "SMALL_DEV_TWO_OS_NO_CA",
+ "DEPLOY_MOBILE_NO_CA"
+ ],
+ [
+ "MEDIUM_COMP_DESIGN_THREE_DEVICE_NO_CA",
+ "MEDIUM_DEV_TWO_OS_NO_CA",
+ "DEPLOY_MOBILE_NO_CA"
+ ],
+ [
+ "LARGE_COMP_DESIGN_THREE_DEVICE_NO_CA",
+ "LARGE_DEV_TWO_OS_NO_CA",
+ "DEPLOY_MOBILE_NO_CA"
+ ],
+ [
+ "SMALL_COMP_DESIGN_THREE_DEVICE_CA",
+ "SMALL_DEV_TWO_OS_CA",
+ "DEPLOY_MOBILE_CA"
+ ],
+ [
+ "MEDIUM_COMP_DESIGN_THREE_DEVICE_CA",
+ "MEDIUM_DEV_TWO_OS_CA",
+ "DEPLOY_MOBILE_CA"
+ ],
+ [
+ "LARGE_COMP_DESIGN_THREE_DEVICE_CA",
+ "LARGE_DEV_TWO_OS_CA",
+ "DEPLOY_MOBILE_CA"
+ ],
+ [
+ "SMALL_COMP_DESIGN_THREE_DEVICE_NO_CA",
+ "SMALL_DEV_TWO_OS_NO_CA",
+ "DEPLOY_INTERNAL_NO_CA"
+ ],
+ [
+ "MEDIUM_COMP_DESIGN_THREE_DEVICE_NO_CA",
+ "MEDIUM_DEV_TWO_OS_NO_CA",
+ "DEPLOY_INTERNAL_NO_CA"
+ ],
+ [
+ "LARGE_COMP_DESIGN_THREE_DEVICE_NO_CA",
+ "LARGE_DEV_TWO_OS_NO_CA",
+ "DEPLOY_INTERNAL_NO_CA"
+ ],
+ [
+ "SMALL_COMP_DESIGN_THREE_DEVICE_CA",
+ "SMALL_DEV_TWO_OS_CA",
+ "DEPLOY_INTERNAL_CA"
+ ],
+ [
+ "MEDIUM_COMP_DESIGN_THREE_DEVICE_CA",
+ "MEDIUM_DEV_TWO_OS_CA",
+ "DEPLOY_INTERNAL_CA"
+ ],
+ [
+ "LARGE_COMP_DESIGN_THREE_DEVICE_CA",
+ "LARGE_DEV_TWO_OS_CA",
+ "DEPLOY_INTERNAL_CA"
+ ],
+ [
+ "SMALL_COMP_DESIGN_THREE_DEVICE_NO_CA",
+ "SMALL_DEV_TWO_OS_NO_CA",
+ "DEPLOY_MOBILE_INTERNAL_NO_CA"
+ ],
+ [
+ "MEDIUM_COMP_DESIGN_THREE_DEVICE_NO_CA",
+ "MEDIUM_DEV_TWO_OS_NO_CA",
+ "DEPLOY_MOBILE_INTERNAL_NO_CA"
+ ],
+ [
+ "LARGE_COMP_DESIGN_THREE_DEVICE_NO_CA",
+ "LARGE_DEV_TWO_OS_NO_CA",
+ "DEPLOY_MOBILE_INTERNAL_NO_CA"
+ ],
+ [
+ "SMALL_COMP_DESIGN_THREE_DEVICE_CA",
+ "SMALL_DEV_TWO_OS_CA",
+ "DEPLOY_MOBILE_INTERNAL_CA"
+ ],
+ [
+ "MEDIUM_COMP_DESIGN_THREE_DEVICE_CA",
+ "MEDIUM_DEV_TWO_OS_CA",
+ "DEPLOY_MOBILE_INTERNAL_CA"
+ ],
+ [
+ "LARGE_COMP_DESIGN_THREE_DEVICE_CA",
+ "LARGE_DEV_TWO_OS_CA",
+ "DEPLOY_MOBILE_INTERNAL_CA"
+ ],
+ [
+ "SMALL_COMP_DESIGN_ONE_DEVICE_NO_CA",
+ "SMALL_DEV_ONE_OS_RESP_NO_CA",
+ "DEPLOY_INTERNAL_NO_CA"
+ ],
+ [
+ "MEDIUM_COMP_DESIGN_ONE_DEVICE_NO_CA",
+ "MEDIUM_DEV_ONE_OS_RESP_NO_CA",
+ "DEPLOY_INTERNAL_NO_CA"
+ ],
+ [
+ "LARGE_COMP_DESIGN_ONE_DEVICE_NO_CA",
+ "LARGE_DEV_ONE_OS_RESP_NO_CA",
+ "DEPLOY_INTERNAL_NO_CA"
+ ],
+ [
+ "SMALL_COMP_DESIGN_ONE_DEVICE_CA",
+ "SMALL_DEV_ONE_OS_RESP_CA",
+ "DEPLOY_INTERNAL_CA"
+ ],
+ [
+ "MEDIUM_COMP_DESIGN_ONE_DEVICE_CA",
+ "MEDIUM_DEV_ONE_OS_RESP_CA",
+ "DEPLOY_INTERNAL_CA"
+ ],
+ [
+ "LARGE_COMP_DESIGN_ONE_DEVICE_CA",
+ "LARGE_DEV_ONE_OS_RESP_CA",
+ "DEPLOY_INTERNAL_CA"
+ ]
+ ]
+ },
+ "buildingBlocks": {
+ "SMALL_DEV_ONE_OS_NO_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_DESKTOP || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_SMALL && CA_NOT_NEEDED)",
+ "price": "7921",
+ "minTime": 35,
+ "maxTime": 35,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "MEDIUM_DEV_ONE_OS_NO_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_DESKTOP || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && CA_NOT_NEEDED)",
+ "price": "3731",
+ "minTime": 40,
+ "maxTime": 40,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "LARGE_DEV_ONE_OS_NO_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_DESKTOP || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_LARGE && CA_NOT_NEEDED)",
+ "price": "568",
+ "minTime": 45,
+ "maxTime": 45,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "SMALL_COMP_DESIGN_ONE_DEVICE_NO_CA": {
+ "conditions": "( HAS_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN && ONE_TARGET_DEVICE && SCREENS_COUNT_SMALL && CA_NOT_NEEDED )",
+ "price": "2979",
+ "minTime": 9,
+ "maxTime": 9,
+ "metadata": {
+ "deliverable": "design"
+ }
+ },
+ "MEDIUM_COMP_DESIGN_ONE_DEVICE_NO_CA": {
+ "conditions": "( HAS_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN && ONE_TARGET_DEVICE && SCREENS_COUNT_MEDIUM && CA_NOT_NEEDED )",
+ "price": "4456",
+ "minTime": 12,
+ "maxTime": 12,
+ "metadata": {
+ "deliverable": "design"
+ }
+ },
+ "LARGE_COMP_DESIGN_ONE_DEVICE_NO_CA": {
+ "conditions": "( HAS_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN && ONE_TARGET_DEVICE && SCREENS_COUNT_LARGE && CA_NOT_NEEDED )",
+ "price": "9430",
+ "minTime": 12,
+ "maxTime": 12,
+ "metadata": {
+ "deliverable": "design"
+ }
+ },
+ "SMALL_DEV_ONE_OS_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_DESKTOP || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_SMALL && CA_NEEDED)",
+ "price": "4743",
+ "minTime": 35,
+ "maxTime": 35,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "MEDIUM_DEV_ONE_OS_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_DESKTOP || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && CA_NEEDED)",
+ "price": "7547",
+ "minTime": 40,
+ "maxTime": 40,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "LARGE_DEV_ONE_OS_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_DESKTOP || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_LARGE && CA_NEEDED)",
+ "price": "2851",
+ "minTime": 45,
+ "maxTime": 45,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "SMALL_COMP_DESIGN_ONE_DEVICE_CA": {
+ "conditions": "( HAS_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN && ONE_TARGET_DEVICE && SCREENS_COUNT_SMALL && CA_NEEDED )",
+ "price": "7251",
+ "minTime": 9,
+ "maxTime": 9,
+ "metadata": {
+ "deliverable": "design"
+ }
+ },
+ "MEDIUM_COMP_DESIGN_ONE_DEVICE_CA": {
+ "conditions": "( HAS_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN && ONE_TARGET_DEVICE && SCREENS_COUNT_MEDIUM && CA_NEEDED )",
+ "price": "2814",
+ "minTime": 12,
+ "maxTime": 12,
+ "metadata": {
+ "deliverable": "design"
+ }
+ },
+ "LARGE_COMP_DESIGN_ONE_DEVICE_CA": {
+ "conditions": "( HAS_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN && ONE_TARGET_DEVICE && SCREENS_COUNT_LARGE && CA_NEEDED )",
+ "price": "9571",
+ "minTime": 12,
+ "maxTime": 12,
+ "metadata": {
+ "deliverable": "design"
+ }
+ },
+ "SMALL_COMP_DESIGN_THREE_DEVICE_NO_CA": {
+ "conditions": "( HAS_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN && THREE_TARGET_DEVICES && SCREENS_COUNT_SMALL && CA_NOT_NEEDED )",
+ "price": "4182",
+ "minTime": 19,
+ "maxTime": 19,
+ "metadata": {
+ "deliverable": "design"
+ }
+ },
+ "MEDIUM_COMP_DESIGN_THREE_DEVICE_NO_CA": {
+ "conditions": "( HAS_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN && THREE_TARGET_DEVICES && SCREENS_COUNT_MEDIUM && CA_NOT_NEEDED )",
+ "price": "788",
+ "minTime": 25,
+ "maxTime": 25,
+ "metadata": {
+ "deliverable": "design"
+ }
+ },
+ "LARGE_COMP_DESIGN_THREE_DEVICE_NO_CA": {
+ "conditions": "( HAS_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN && THREE_TARGET_DEVICES && SCREENS_COUNT_LARGE && CA_NOT_NEEDED )",
+ "price": "8729",
+ "minTime": 25,
+ "maxTime": 25,
+ "metadata": {
+ "deliverable": "design"
+ }
+ },
+ "SMALL_COMP_DESIGN_THREE_DEVICE_CA": {
+ "conditions": "( HAS_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN && THREE_TARGET_DEVICES && SCREENS_COUNT_SMALL && CA_NEEDED )",
+ "price": "5575",
+ "minTime": 19,
+ "maxTime": 19,
+ "metadata": {
+ "deliverable": "design"
+ }
+ },
+ "MEDIUM_COMP_DESIGN_THREE_DEVICE_CA": {
+ "conditions": "( HAS_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN && THREE_TARGET_DEVICES && SCREENS_COUNT_MEDIUM && CA_NEEDED )",
+ "price": "7440",
+ "minTime": 25,
+ "maxTime": 25,
+ "metadata": {
+ "deliverable": "design"
+ }
+ },
+ "LARGE_COMP_DESIGN_THREE_DEVICE_CA": {
+ "conditions": "( HAS_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN && THREE_TARGET_DEVICES && SCREENS_COUNT_LARGE && CA_NEEDED )",
+ "price": "9401",
+ "minTime": 25,
+ "maxTime": 25,
+ "metadata": {
+ "deliverable": "design"
+ }
+ },
+ "SMALL_COMP_DESIGN_TWO_DEVICE_NO_CA": {
+ "conditions": "( HAS_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN && TWO_TARGET_DEVICES && SCREENS_COUNT_SMALL && CA_NOT_NEEDED )",
+ "price": "2472",
+ "minTime": 14,
+ "maxTime": 14,
+ "metadata": {
+ "deliverable": "design"
+ }
+ },
+ "MEDIUM_COMP_DESIGN_TWO_DEVICE_NO_CA": {
+ "conditions": "( HAS_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN && TWO_TARGET_DEVICES && SCREENS_COUNT_MEDIUM && CA_NOT_NEEDED )",
+ "price": "7925",
+ "minTime": 22,
+ "maxTime": 22,
+ "metadata": {
+ "deliverable": "design"
+ }
+ },
+ "LARGE_COMP_DESIGN_TWO_DEVICE_NO_CA": {
+ "conditions": "( HAS_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN && TWO_TARGET_DEVICES && SCREENS_COUNT_LARGE && CA_NOT_NEEDED )",
+ "price": "4000",
+ "minTime": 22,
+ "maxTime": 22,
+ "metadata": {
+ "deliverable": "design"
+ }
+ },
+ "SMALL_COMP_DESIGN_TWO_DEVICE_CA": {
+ "conditions": "( HAS_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN && TWO_TARGET_DEVICES && SCREENS_COUNT_SMALL && CA_NEEDED )",
+ "price": "5681",
+ "minTime": 14,
+ "maxTime": 14,
+ "metadata": {
+ "deliverable": "design"
+ }
+ },
+ "MEDIUM_COMP_DESIGN_TWO_DEVICE_CA": {
+ "conditions": "( HAS_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN && TWO_TARGET_DEVICES && SCREENS_COUNT_MEDIUM && CA_NEEDED )",
+ "price": "1360",
+ "minTime": 22,
+ "maxTime": 22,
+ "metadata": {
+ "deliverable": "design"
+ }
+ },
+ "LARGE_COMP_DESIGN_TWO_DEVICE_CA": {
+ "conditions": "( HAS_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN && TWO_TARGET_DEVICES && SCREENS_COUNT_LARGE && CA_NEEDED )",
+ "price": "5146",
+ "minTime": 22,
+ "maxTime": 22,
+ "metadata": {
+ "deliverable": "design"
+ }
+ },
+ "FREE_SIZE_CONC_DESIGN_ASAP_NO_CA": {
+ "conditions": "( HAS_DESIGN_DELIVERABLE && CONCEPT_DESIGN && QUICK_DESIGN_3_DAYS && CA_NOT_NEEDED )",
+ "price": "3262",
+ "minTime": 3,
+ "maxTime": 3,
+ "metadata": {
+ "deliverable": "design"
+ }
+ },
+ "FREE_SIZE_CONC_DESIGN_ASAP_CA": {
+ "conditions": "( HAS_DESIGN_DELIVERABLE && CONCEPT_DESIGN && QUICK_DESIGN_3_DAYS && CA_NEEDED )",
+ "price": "8410",
+ "minTime": 3,
+ "maxTime": 3,
+ "metadata": {
+ "deliverable": "design"
+ }
+ },
+ "FREE_SIZE_CONC_DESIGN_NO_HURRY_NO_CA": {
+ "conditions": "( HAS_DESIGN_DELIVERABLE && CONCEPT_DESIGN && QUICK_DESIGN_6_DAYS && CA_NOT_NEEDED )",
+ "price": "2459",
+ "minTime": 6,
+ "maxTime": 6,
+ "metadata": {
+ "deliverable": "design"
+ }
+ },
+ "FREE_SIZE_CONC_DESIGN_NO_HURRY_CA": {
+ "conditions": "( HAS_DESIGN_DELIVERABLE && CONCEPT_DESIGN && QUICK_DESIGN_6_DAYS && CA_NEEDED )",
+ "price": "591",
+ "minTime": 6,
+ "maxTime": 6,
+ "metadata": {
+ "deliverable": "design"
+ }
+ },
+ "SMALL_DEV_TWO_OS_NO_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_SMALL && CA_NOT_NEEDED )",
+ "price": "1807",
+ "minTime": 35,
+ "maxTime": 35,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "MEDIUM_DEV_TWO_OS_NO_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && CA_NOT_NEEDED )",
+ "price": "7722",
+ "minTime": 40,
+ "maxTime": 40,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "LARGE_DEV_TWO_OS_NO_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_LARGE && CA_NOT_NEEDED )",
+ "price": "4396",
+ "minTime": 45,
+ "maxTime": 45,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "SMALL_DEV_TWO_OS_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_SMALL && CA_NEEDED )",
+ "price": "5451",
+ "minTime": 35,
+ "maxTime": 35,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "MEDIUM_DEV_TWO_OS_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && CA_NEEDED )",
+ "price": "2465",
+ "minTime": 40,
+ "maxTime": 40,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "LARGE_DEV_TWO_OS_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_LARGE && CA_NEEDED )",
+ "price": "1383",
+ "minTime": 45,
+ "maxTime": 45,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "SMALL_DEV_ONE_OS_RESP_NO_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && ONE_TARGET_DEVICE && ONLY_ONE_OS_RESPONSIVE && SCREENS_COUNT_SMALL && CA_NOT_NEEDED )",
+ "price": "7157",
+ "minTime": 40,
+ "maxTime": 40,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "MEDIUM_DEV_ONE_OS_RESP_NO_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && ONE_TARGET_DEVICE && ONLY_ONE_OS_RESPONSIVE && SCREENS_COUNT_MEDIUM && CA_NOT_NEEDED )",
+ "price": "8936",
+ "minTime": 45,
+ "maxTime": 45,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "LARGE_DEV_ONE_OS_RESP_NO_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && ONE_TARGET_DEVICE && ONLY_ONE_OS_RESPONSIVE && SCREENS_COUNT_LARGE && CA_NOT_NEEDED )",
+ "price": "3585",
+ "minTime": 50,
+ "maxTime": 50,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "SMALL_DEV_ONE_OS_RESP_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && ONE_TARGET_DEVICE && ONLY_ONE_OS_RESPONSIVE && SCREENS_COUNT_SMALL && CA_NEEDED )",
+ "price": "3284",
+ "minTime": 40,
+ "maxTime": 40,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "MEDIUM_DEV_ONE_OS_RESP_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && ONE_TARGET_DEVICE && ONLY_ONE_OS_RESPONSIVE && SCREENS_COUNT_MEDIUM && CA_NEEDED )",
+ "price": "4747",
+ "minTime": 45,
+ "maxTime": 45,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "LARGE_DEV_ONE_OS_RESP_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && ONE_TARGET_DEVICE && ONLY_ONE_OS_RESPONSIVE && SCREENS_COUNT_LARGE && CA_NEEDED )",
+ "price": "2851",
+ "minTime": 50,
+ "maxTime": 50,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "DEPLOY_MOBILE_NO_CA": {
+ "conditions": "( HAS_DEPLOY_DELIVERABLE && ONLY_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )",
+ "price": "5290",
+ "minTime": 10,
+ "maxTime": 10,
+ "metadata": {
+ "deliverable": "deployment"
+ }
+ },
+ "DEPLOY_MOBILE_CA": {
+ "conditions": "( HAS_DEPLOY_DELIVERABLE && ONLY_MOBILE_DEPLOYMENT && CA_NEEDED )",
+ "price": "6888",
+ "minTime": 10,
+ "maxTime": 10,
+ "metadata": {
+ "deliverable": "deployment"
+ }
+ },
+ "DEPLOY_INTERNAL_NO_CA": {
+ "conditions": "( HAS_DEPLOY_DELIVERABLE && ONLY_INTERNAL_DEPLOYMENT && CA_NOT_NEEDED )",
+ "price": "8164",
+ "minTime": 3,
+ "maxTime": 3,
+ "metadata": {
+ "deliverable": "deployment"
+ }
+ },
+ "DEPLOY_INTERNAL_CA": {
+ "conditions": "( HAS_DEPLOY_DELIVERABLE && ONLY_INTERNAL_DEPLOYMENT && CA_NEEDED )",
+ "price": "4887",
+ "minTime": 3,
+ "maxTime": 3,
+ "metadata": {
+ "deliverable": "deployment"
+ }
+ },
+ "DEPLOY_MOBILE_INTERNAL_NO_CA": {
+ "conditions": "( HAS_DEPLOY_DELIVERABLE && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )",
+ "price": "7710",
+ "minTime": 13,
+ "maxTime": 13,
+ "metadata": {
+ "deliverable": "deployment"
+ }
+ },
+ "DEPLOY_MOBILE_INTERNAL_CA": {
+ "conditions": "( HAS_DEPLOY_DELIVERABLE && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )",
+ "price": "3195",
+ "minTime": 13,
+ "maxTime": 13,
+ "metadata": {
+ "deliverable": "deployment"
+ }
+ },
+ "SMALL_STRUCT_TEST_CREATION_NO_CA": {
+ "conditions": "( HAS_QA_DELIVERABLE && REAL_WORLD_STRUCT_TESTING && STRUCT_TEST_CASE_CREATION && ONE_QA_DELIVERABLE && TEST_CASE_CREATION_COUNT_SMALL && CA_NOT_NEEDED)",
+ "price": "6379",
+ "minTime": 5,
+ "maxTime": 5,
+ "metadata": {
+ "deliverable": "qa"
+ }
+ },
+ "LARGE_STRUCT_TEST_CREATION_NO_CA": {
+ "conditions": "( HAS_QA_DELIVERABLE && REAL_WORLD_STRUCT_TESTING && STRUCT_TEST_CASE_CREATION && ONE_QA_DELIVERABLE && TEST_CASE_CREATION_COUNT_LARGE && CA_NOT_NEEDED)",
+ "price": "4970",
+ "minTime": 7,
+ "maxTime": 7,
+ "metadata": {
+ "deliverable": "qa"
+ }
+ },
+ "SMALL_STRUCT_TEST_CREATION_CA": {
+ "conditions": "( HAS_QA_DELIVERABLE && REAL_WORLD_STRUCT_TESTING && STRUCT_TEST_CASE_CREATION && ONE_QA_DELIVERABLE && TEST_CASE_CREATION_COUNT_SMALL && CA_NEEDED)",
+ "price": "1172",
+ "minTime": 5,
+ "maxTime": 5,
+ "metadata": {
+ "deliverable": "qa"
+ }
+ },
+ "LARGE_STRUCT_TEST_CREATION_CA": {
+ "conditions": "( HAS_QA_DELIVERABLE && REAL_WORLD_STRUCT_TESTING && STRUCT_TEST_CASE_CREATION && ONE_QA_DELIVERABLE && TEST_CASE_CREATION_COUNT_LARGE && CA_NEEDED)",
+ "price": "7700",
+ "minTime": 7,
+ "maxTime": 7,
+ "metadata": {
+ "deliverable": "qa"
+ }
+ },
+ "SMALL_STRUCT_TEST_EXECUTION_NO_CA": {
+ "conditions": "( HAS_QA_DELIVERABLE && REAL_WORLD_STRUCT_TESTING && STRUCT_TEST_CASE_EXECUTION && ONE_QA_DELIVERABLE && TEST_CASE_EXECUTION_COUNT_SMALL && CA_NOT_NEEDED)",
+ "price": "6982",
+ "minTime": 5,
+ "maxTime": 5,
+ "metadata": {
+ "deliverable": "qa"
+ }
+ },
+ "LARGE_STRUCT_TEST_EXECUTION_NO_CA": {
+ "conditions": "( HAS_QA_DELIVERABLE && REAL_WORLD_STRUCT_TESTING && STRUCT_TEST_CASE_EXECUTION && ONE_QA_DELIVERABLE && TEST_CASE_EXECUTION_COUNT_LARGE && CA_NOT_NEEDED)",
+ "price": "7368",
+ "minTime": 7,
+ "maxTime": 7,
+ "metadata": {
+ "deliverable": "qa"
+ }
+ },
+ "SMALL_STRUCT_TEST_EXECUTION_CA": {
+ "conditions": "( HAS_QA_DELIVERABLE && REAL_WORLD_STRUCT_TESTING && STRUCT_TEST_CASE_EXECUTION && ONE_QA_DELIVERABLE && TEST_CASE_EXECUTION_COUNT_SMALL && CA_NEEDED)",
+ "price": "451",
+ "minTime": 5,
+ "maxTime": 5,
+ "metadata": {
+ "deliverable": "qa"
+ }
+ },
+ "LARGE_STRUCT_TEST_EXECUTION_CA": {
+ "conditions": "( HAS_QA_DELIVERABLE && REAL_WORLD_STRUCT_TESTING && STRUCT_TEST_CASE_EXECUTION && ONE_QA_DELIVERABLE && TEST_CASE_EXECUTION_COUNT_LARGE && CA_NEEDED)",
+ "price": "3615",
+ "minTime": 7,
+ "maxTime": 7,
+ "metadata": {
+ "deliverable": "qa"
+ }
+ },
+ "SMALL_STRUCT_TEST_CREATION_EXECUTION_NO_CA": {
+ "conditions": "( HAS_QA_DELIVERABLE && REAL_WORLD_STRUCT_TESTING && STRUCT_TEST_CASE_CREATION && STRUCT_TEST_CASE_EXECUTION && TEST_CASE_EXECUTION_COUNT_SMALL && CA_NOT_NEEDED)",
+ "price": "634",
+ "minTime": 17,
+ "maxTime": 17,
+ "metadata": {
+ "deliverable": "qa"
+ }
+ },
+ "LARGE_STRUCT_TEST_CREATION_EXECUTION_NO_CA": {
+ "conditions": "( HAS_QA_DELIVERABLE && REAL_WORLD_STRUCT_TESTING && STRUCT_TEST_CASE_CREATION && STRUCT_TEST_CASE_EXECUTION && TEST_CASE_EXECUTION_COUNT_LARGE && CA_NOT_NEEDED)",
+ "price": "1318",
+ "minTime": 28,
+ "maxTime": 28,
+ "metadata": {
+ "deliverable": "qa"
+ }
+ },
+ "SMALL_STRUCT_TEST_CREATION_EXECUTION_CA": {
+ "conditions": "( HAS_QA_DELIVERABLE && REAL_WORLD_STRUCT_TESTING && STRUCT_TEST_CASE_CREATION && STRUCT_TEST_CASE_EXECUTION && TEST_CASE_EXECUTION_COUNT_SMALL && CA_NEEDED)",
+ "price": "1167",
+ "minTime": 17,
+ "maxTime": 17,
+ "metadata": {
+ "deliverable": "qa"
+ }
+ },
+ "LARGE_STRUCT_TEST_CREATION_EXECUTION_CA": {
+ "conditions": "( HAS_QA_DELIVERABLE && REAL_WORLD_STRUCT_TESTING && STRUCT_TEST_CASE_CREATION && STRUCT_TEST_CASE_EXECUTION && TEST_CASE_EXECUTION_COUNT_LARGE && CA_NEEDED)",
+ "price": "5001",
+ "minTime": 28,
+ "maxTime": 28,
+ "metadata": {
+ "deliverable": "qa"
+ }
+ },
+ "SMALL_UNSTRUCT_TESTS_NO_CA": {
+ "conditions": "( HAS_QA_DELIVERABLE && REAL_WORLD_UNSTRUCT_TESTING && UNSTRUCT_SCREEN_COUNT_SMALL && CA_NOT_NEEDED)",
+ "price": "4096",
+ "minTime": 5,
+ "maxTime": 5,
+ "metadata": {
+ "deliverable": "qa"
+ }
+ },
+ "LARGE_UNSTRUCT_TESTS_NO_CA": {
+ "conditions": "( HAS_QA_DELIVERABLE && REAL_WORLD_UNSTRUCT_TESTING && UNSTRUCT_SCREEN_COUNT_LARGE && CA_NOT_NEEDED)",
+ "price": "3248",
+ "minTime": 10,
+ "maxTime": 10,
+ "metadata": {
+ "deliverable": "qa"
+ }
+ },
+ "SMALL_UNSTRUCT_TESTS_CA": {
+ "conditions": "( HAS_QA_DELIVERABLE && REAL_WORLD_UNSTRUCT_TESTING && UNSTRUCT_SCREEN_COUNT_SMALL && CA_NEEDED)",
+ "price": "5790",
+ "minTime": 5,
+ "maxTime": 5,
+ "metadata": {
+ "deliverable": "qa"
+ }
+ },
+ "LARGE_UNSTRUCT_TESTS_CA": {
+ "conditions": "( HAS_QA_DELIVERABLE && REAL_WORLD_UNSTRUCT_TESTING && UNSTRUCT_SCREEN_COUNT_LARGE && CA_NEEDED)",
+ "price": "4838",
+ "minTime": 10,
+ "maxTime": 10,
+ "metadata": {
+ "deliverable": "qa"
+ }
+ },
+ "SMALL_AUTOMATED_TESTS_NO_CA": {
+ "conditions": "( HAS_QA_DELIVERABLE && AUTOMATED_TESTING && AUTOMATED_TEST_COUNT_SMALL && CA_NOT_NEEDED)",
+ "price": "3081",
+ "minTime": 7,
+ "maxTime": 7,
+ "metadata": {
+ "deliverable": "qa"
+ }
+ },
+ "LARGE_AUTOMATED_TESTS_NO_CA": {
+ "conditions": "( HAS_QA_DELIVERABLE && AUTOMATED_TESTING && AUTOMATED_TEST_COUNT_LARGE && CA_NOT_NEEDED)",
+ "price": "9381",
+ "minTime": 12,
+ "maxTime": 12,
+ "metadata": {
+ "deliverable": "qa"
+ }
+ },
+ "SMALL_AUTOMATED_TESTS_CA": {
+ "conditions": "( HAS_QA_DELIVERABLE && AUTOMATED_TESTING && AUTOMATED_TEST_COUNT_SMALL && CA_NEEDED)",
+ "price": "626",
+ "minTime": 7,
+ "maxTime": 7,
+ "metadata": {
+ "deliverable": "qa"
+ }
+ },
+ "LARGE_AUTOMATED_TESTS_CA": {
+ "conditions": "( HAS_QA_DELIVERABLE && AUTOMATED_TESTING && AUTOMATED_TEST_COUNT_LARGE && CA_NEEDED)",
+ "price": "3298",
+ "minTime": 12,
+ "maxTime": 12,
+ "metadata": {
+ "deliverable": "qa"
+ }
+ },
+ "MOBILITY_TESTS_NO_CA": {
+ "conditions": "( HAS_QA_DELIVERABLE && MOBILITY_TESTING && CA_NOT_NEEDED)",
+ "price": "9578",
+ "minTime": 20,
+ "maxTime": 20,
+ "metadata": {
+ "deliverable": "qa"
+ }
+ },
+ "MOBILITY_TESTS_CA": {
+ "conditions": "( HAS_QA_DELIVERABLE && MOBILITY_TESTING && CA_NEEDED)",
+ "price": "9932",
+ "minTime": 20,
+ "maxTime": 20,
+ "metadata": {
+ "deliverable": "qa"
+ }
+ },
+ "PERFORMANCE_TESTS_CA": {
+ "conditions": "( HAS_QA_DELIVERABLE && PERFORMANCE_TESTING && CA_NEEDED)",
+ "price": "681",
+ "minTime": 20,
+ "maxTime": 20,
+ "metadata": {
+ "deliverable": "qa"
+ }
+ },
+ "SMALL_WIREFRAMES_ADDON_NO_CA": {
+ "conditions": "( HAS_DESIGN_DELIVERABLE && HAS_WIREFRAMES_ADDON && SCREENS_COUNT_SMALL && CA_NOT_NEEDED)",
+ "price": "3530",
+ "minTime": 7,
+ "maxTime": 7,
+ "metadata": {
+ "deliverable": "design"
+ }
+ },
+ "MEDIUM_WIREFRAMES_ADDON_NO_CA": {
+ "conditions": "( HAS_DESIGN_DELIVERABLE && HAS_WIREFRAMES_ADDON && SCREENS_COUNT_MEDIUM && CA_NOT_NEEDED)",
+ "price": "7789",
+ "minTime": 10,
+ "maxTime": 10,
+ "metadata": {
+ "deliverable": "design"
+ }
+ },
+ "LARGE_WIREFRAMES_ADDON_NO_CA": {
+ "conditions": "( HAS_DESIGN_DELIVERABLE && HAS_WIREFRAMES_ADDON && SCREENS_COUNT_LARGE && CA_NOT_NEEDED)",
+ "price": "5809",
+ "minTime": 12,
+ "maxTime": 12,
+ "metadata": {
+ "deliverable": "design"
+ }
+ },
+ "SMALL_WIREFRAMES_ADDON_CA": {
+ "conditions": "( HAS_DESIGN_DELIVERABLE && HAS_WIREFRAMES_ADDON && SCREENS_COUNT_SMALL && CA_NEEDED)",
+ "price": "1250",
+ "minTime": 7,
+ "maxTime": 7,
+ "metadata": {
+ "deliverable": "design"
+ }
+ },
+ "MEDIUM_WIREFRAMES_ADDON_CA": {
+ "conditions": "( HAS_DESIGN_DELIVERABLE && HAS_WIREFRAMES_ADDON && SCREENS_COUNT_MEDIUM && CA_NEEDED)",
+ "price": "4524",
+ "minTime": 10,
+ "maxTime": 10,
+ "metadata": {
+ "deliverable": "design"
+ }
+ },
+ "LARGE_WIREFRAMES_ADDON_CA": {
+ "conditions": "( HAS_DESIGN_DELIVERABLE && HAS_WIREFRAMES_ADDON && SCREENS_COUNT_LARGE && CA_NEEDED)",
+ "price": "8302",
+ "minTime": 12,
+ "maxTime": 12,
+ "metadata": {
+ "deliverable": "design"
+ }
+ },
+ "SMALL_UI_PROTOTYPE_ADDON_NO_CA": {
+ "conditions": "( HAS_DESIGN_DELIVERABLE && HAS_UI_PROTOTYPE_ADDON && SCREENS_COUNT_SMALL && CA_NOT_NEEDED)",
+ "price": "2677",
+ "minTime": 10,
+ "maxTime": 10,
+ "metadata": {
+ "deliverable": "design"
+ }
+ },
+ "MEDIUM_UI_PROTOTYPE_ADDON_NO_CA": {
+ "conditions": "( HAS_DESIGN_DELIVERABLE && HAS_UI_PROTOTYPE_ADDON && SCREENS_COUNT_MEDIUM && CA_NOT_NEEDED)",
+ "price": "4160",
+ "minTime": 13,
+ "maxTime": 13,
+ "metadata": {
+ "deliverable": "design"
+ }
+ },
+ "LARGE_UI_PROTOTYPE_ADDON_NO_CA": {
+ "conditions": "( HAS_DESIGN_DELIVERABLE && HAS_UI_PROTOTYPE_ADDON && SCREENS_COUNT_LARGE && CA_NOT_NEEDED)",
+ "price": "7959",
+ "minTime": 13,
+ "maxTime": 13,
+ "metadata": {
+ "deliverable": "design"
+ }
+ },
+ "SMALL_UI_PROTOTYPE_ADDON_CA": {
+ "conditions": "( HAS_DESIGN_DELIVERABLE && HAS_UI_PROTOTYPE_ADDON && SCREENS_COUNT_SMALL && CA_NEEDED)",
+ "price": "8354",
+ "minTime": 10,
+ "maxTime": 10,
+ "metadata": {
+ "deliverable": "design"
+ }
+ },
+ "MEDIUM_UI_PROTOTYPE_ADDON_CA": {
+ "conditions": "( HAS_DESIGN_DELIVERABLE && HAS_UI_PROTOTYPE_ADDON && SCREENS_COUNT_MEDIUM && CA_NEEDED)",
+ "price": "7117",
+ "minTime": 13,
+ "maxTime": 13,
+ "metadata": {
+ "deliverable": "design"
+ }
+ },
+ "LARGE_UI_PROTOTYPE_ADDON_CA": {
+ "conditions": "( HAS_DESIGN_DELIVERABLE && HAS_UI_PROTOTYPE_ADDON && SCREENS_COUNT_LARGE && CA_NEEDED)",
+ "price": "9109",
+ "minTime": 13,
+ "maxTime": 13,
+ "metadata": {
+ "deliverable": "design"
+ }
+ },
+ "SMALL_RESP_UI_PROTOTYPE_ADDON_NO_CA": {
+ "conditions": "( HAS_DESIGN_DELIVERABLE && HAS_RESP_UI_PROTOTYPE_ADDON && SCREENS_COUNT_SMALL && CA_NOT_NEEDED)",
+ "price": "9844",
+ "minTime": 16,
+ "maxTime": 16,
+ "metadata": {
+ "deliverable": "design"
+ }
+ },
+ "MEDIUM_RESP_UI_PROTOTYPE_ADDON_NO_CA": {
+ "conditions": "( HAS_DESIGN_DELIVERABLE && HAS_RESP_UI_PROTOTYPE_ADDON && SCREENS_COUNT_MEDIUM && CA_NOT_NEEDED)",
+ "price": "1230",
+ "minTime": 20,
+ "maxTime": 20,
+ "metadata": {
+ "deliverable": "design"
+ }
+ },
+ "LARGE_RESP_UI_PROTOTYPE_ADDON_NO_CA": {
+ "conditions": "( HAS_DESIGN_DELIVERABLE && HAS_RESP_UI_PROTOTYPE_ADDON && SCREENS_COUNT_LARGE && CA_NOT_NEEDED)",
+ "price": "271",
+ "minTime": 23,
+ "maxTime": 23,
+ "metadata": {
+ "deliverable": "design"
+ }
+ },
+ "SMALL_RESP_UI_PROTOTYPE_ADDON_CA": {
+ "conditions": "( HAS_DESIGN_DELIVERABLE && HAS_RESP_UI_PROTOTYPE_ADDON && SCREENS_COUNT_SMALL && CA_NEEDED)",
+ "price": "2879",
+ "minTime": 16,
+ "maxTime": 16,
+ "metadata": {
+ "deliverable": "design"
+ }
+ },
+ "MEDIUM_RESP_UI_PROTOTYPE_ADDON_CA": {
+ "conditions": "( HAS_DESIGN_DELIVERABLE && HAS_RESP_UI_PROTOTYPE_ADDON && SCREENS_COUNT_MEDIUM && CA_NEEDED)",
+ "price": "5336",
+ "minTime": 20,
+ "maxTime": 20,
+ "metadata": {
+ "deliverable": "design"
+ }
+ },
+ "LARGE_RESP_UI_PROTOTYPE_ADDON_CA": {
+ "conditions": "( HAS_DESIGN_DELIVERABLE && HAS_RESP_UI_PROTOTYPE_ADDON && SCREENS_COUNT_LARGE && CA_NEEDED)",
+ "price": "5335",
+ "minTime": 23,
+ "maxTime": 23,
+ "metadata": {
+ "deliverable": "design"
+ }
+ },
+ "ZEPLIN_APP_ADDON_NO_CA": {
+ "conditions": "( HAS_DESIGN_DELIVERABLE && HAS_ZEPLIN_APP_ADDON && CA_NOT_NEEDED)",
+ "price": "2228",
+ "minTime": 2,
+ "maxTime": 2,
+ "metadata": {
+ "deliverable": "design"
+ }
+ },
+ "ZEPLIN_APP_ADDON_CA": {
+ "conditions": "( HAS_DESIGN_DELIVERABLE && HAS_ZEPLIN_APP_ADDON && CA_NEEDED)",
+ "price": "4386",
+ "minTime": 2,
+ "maxTime": 2,
+ "metadata": {
+ "deliverable": "design"
+ }
+ },
+ "DESIGN_DIRECTION_ADDON_NO_CA": {
+ "conditions": "( HAS_DESIGN_DELIVERABLE && HAS_DESIGN_DIRECTION_ADDON && CA_NOT_NEEDED)",
+ "price": "2656",
+ "minTime": 2,
+ "maxTime": 2,
+ "metadata": {
+ "deliverable": "design"
+ }
+ },
+ "DESIGN_DIRECTION_ADDON_CA": {
+ "conditions": "( HAS_DESIGN_DELIVERABLE && HAS_DESIGN_DIRECTION_ADDON && CA_NEEDED)",
+ "price": "8173",
+ "minTime": 2,
+ "maxTime": 2,
+ "metadata": {
+ "deliverable": "design"
+ }
+ },
+ "MAZE_UX_TESTING_ADDON_NO_CA": {
+ "conditions": "( HAS_DESIGN_DELIVERABLE && HAS_MAZE_UX_TESTING_ADDON && CA_NOT_NEEDED)",
+ "price": "6308",
+ "minTime": 1,
+ "maxTime": 1,
+ "metadata": {
+ "deliverable": "design"
+ }
+ },
+ "MAZE_UX_TESTING_ADDON_CA": {
+ "conditions": "( HAS_DESIGN_DELIVERABLE && HAS_MAZE_UX_TESTING_ADDON && CA_NEEDED)",
+ "price": "6630",
+ "minTime": 1,
+ "maxTime": 1,
+ "metadata": {
+ "deliverable": "design"
+ }
+ },
+ "API_DEVELOPMENT_ADDON_NO_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_API_DEVELOPMENT_ADDON && CA_NOT_NEEDED)",
+ "price": "3779",
+ "minTime": 10,
+ "maxTime": 10,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "API_DEVELOPMENT_ADDON_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_API_DEVELOPMENT_ADDON && CA_NEEDED)",
+ "price": "6313",
+ "minTime": 10,
+ "maxTime": 10,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "API_INTEGRATION_ADDON_NO_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_API_INTEGRATION_ADDON && CA_NOT_NEEDED)",
+ "price": "5401",
+ "minTime": 7,
+ "maxTime": 7,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "API_INTEGRATION_ADDON_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_API_INTEGRATION_ADDON && CA_NEEDED)",
+ "price": "5710",
+ "minTime": 7,
+ "maxTime": 7,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "OFFLINE_CAPABILITY_ADDON_NO_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_OFFLINE_CAPABILITY_ADDON && CA_NOT_NEEDED)",
+ "price": "6440",
+ "minTime": 5,
+ "maxTime": 5,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "OFFLINE_CAPABILITY_ADDON_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_OFFLINE_CAPABILITY_ADDON && CA_NEEDED)",
+ "price": "5987",
+ "minTime": 5,
+ "maxTime": 5,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "HAS_MIN_BATTERY_USE_IMPL_ADDON_NO_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_MIN_BATTERY_USE_IMPL_ADDON && CA_NOT_NEEDED)",
+ "price": "2520",
+ "minTime": 5,
+ "maxTime": 5,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "HAS_MIN_BATTERY_USE_IMPL_ADDON_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_MIN_BATTERY_USE_IMPL_ADDON && CA_NEEDED)",
+ "price": "7321",
+ "minTime": 5,
+ "maxTime": 5,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "HAS_SMTP_SERVER_SETUP_ADDON_NO_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_SMTP_SERVER_SETUP_ADDON && CA_NOT_NEEDED)",
+ "price": "578",
+ "minTime": 10,
+ "maxTime": 10,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "HAS_SMTP_SERVER_SETUP_ADDON_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_SMTP_SERVER_SETUP_ADDON && CA_NEEDED)",
+ "price": "2441",
+ "minTime": 10,
+ "maxTime": 10,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "HAS_BACKEND_DEVELOPMENT_ADDON_NO_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_BACKEND_DEVELOPMENT_ADDON && CA_NOT_NEEDED)",
+ "price": "1421",
+ "minTime": 10,
+ "maxTime": 10,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "HAS_BACKEND_DEVELOPMENT_ADDON_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_BACKEND_DEVELOPMENT_ADDON && CA_NEEDED)",
+ "price": "7413",
+ "minTime": 10,
+ "maxTime": 10,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "HAS_RESP_DESIGN_IMPL_ADDON_NO_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_RESP_DESIGN_IMPL_ADDON && CA_NOT_NEEDED)",
+ "price": "8087",
+ "minTime": 3,
+ "maxTime": 3,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "HAS_RESP_DESIGN_IMPL_ADDON_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_RESP_DESIGN_IMPL_ADDON && CA_NEEDED)",
+ "price": "3859",
+ "minTime": 3,
+ "maxTime": 3,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "HAS_ADMIN_TOOL_DEV_ADDON_NO_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_ADMIN_TOOL_DEV_ADDON && CA_NOT_NEEDED)",
+ "price": "822",
+ "minTime": 28,
+ "maxTime": 28,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "HAS_ADMIN_TOOL_DEV_ADDON_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_ADMIN_TOOL_DEV_ADDON && CA_NEEDED)",
+ "price": "4861",
+ "minTime": 28,
+ "maxTime": 28,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "HAS_LOCATION_SERVICES_ADDON_NO_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_LOCATION_SERVICES_ADDON && CA_NOT_NEEDED)",
+ "price": "8507",
+ "minTime": 10,
+ "maxTime": 10,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "HAS_LOCATION_SERVICES_ADDON_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_LOCATION_SERVICES_ADDON && CA_NEEDED)",
+ "price": "2556",
+ "minTime": 10,
+ "maxTime": 10,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "HAS_CONTAINERIZED_CODE_ADDON_NO_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_CONTAINERIZED_CODE_ADDON && CA_NOT_NEEDED)",
+ "price": "8984",
+ "minTime": 10,
+ "maxTime": 10,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "HAS_CONTAINERIZED_CODE_ADDON_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_CONTAINERIZED_CODE_ADDON && CA_NEEDED)",
+ "price": "842",
+ "minTime": 10,
+ "maxTime": 10,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "HAS_GOOGLE_ANALYTICS_ADDON_NO_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_GOOGLE_ANALYTICS_ADDON && CA_NOT_NEEDED)",
+ "price": "4257",
+ "minTime": 5,
+ "maxTime": 5,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "HAS_GOOGLE_ANALYTICS_ADDON_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_GOOGLE_ANALYTICS_ADDON && CA_NEEDED)",
+ "price": "4635",
+ "minTime": 5,
+ "maxTime": 5,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "HAS_SSO_INTEGRATION_ADDON_NO_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_SSO_INTEGRATION_ADDON && CA_NOT_NEEDED)",
+ "price": "4407",
+ "minTime": 5,
+ "maxTime": 5,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "HAS_SSO_INTEGRATION_ADDON_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_SSO_INTEGRATION_ADDON && CA_NEEDED)",
+ "price": "7889",
+ "minTime": 5,
+ "maxTime": 5,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "HAS_THIRD_PARTY_INTEGRATION_ADDON_NO_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_THIRD_PARTY_INTEGRATION_ADDON && CA_NOT_NEEDED)",
+ "price": "632",
+ "minTime": 15,
+ "maxTime": 15,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "HAS_THIRD_PARTY_INTEGRATION_ADDON_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_THIRD_PARTY_INTEGRATION_ADDON && CA_NEEDED)",
+ "price": "7679",
+ "minTime": 15,
+ "maxTime": 15,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "HAS_SMS_GATEWAY_INTEGRATION_ADDON_NO_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_SMS_GATEWAY_INTEGRATION_ADDON && CA_NOT_NEEDED)",
+ "price": "5679",
+ "minTime": 10,
+ "maxTime": 10,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "HAS_SMS_GATEWAY_INTEGRATION_ADDON_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_SMS_GATEWAY_INTEGRATION_ADDON && CA_NEEDED)",
+ "price": "3172",
+ "minTime": 10,
+ "maxTime": 10,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "HAS_SOCIAL_MEDIA_INTEGRATION_ADDON_NO_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_SOCIAL_MEDIA_INTEGRATION_ADDON && CA_NOT_NEEDED)",
+ "price": "277",
+ "minTime": 10,
+ "maxTime": 10,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "HAS_SOCIAL_MEDIA_INTEGRATION_ADDON_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_SOCIAL_MEDIA_INTEGRATION_ADDON && CA_NEEDED)",
+ "price": "2727",
+ "minTime": 10,
+ "maxTime": 10,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "HAS_MOBILE_ENT_SECURITY_ADDON_NO_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_MOBILE_ENT_SECURITY_ADDON && CA_NOT_NEEDED)",
+ "price": "4335",
+ "minTime": 10,
+ "maxTime": 10,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "HAS_MOBILE_ENT_SECURITY_ADDON_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_MOBILE_ENT_SECURITY_ADDON && CA_NEEDED)",
+ "price": "8751",
+ "minTime": 10,
+ "maxTime": 10,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "HAS_CHECKMARX_SCANNING_ADDON_NO_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_CHECKMARX_SCANNING_ADDON && CA_NOT_NEEDED)",
+ "price": "3183",
+ "minTime": 10,
+ "maxTime": 10,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "HAS_CHECKMARX_SCANNING_ADDON_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_CHECKMARX_SCANNING_ADDON && CA_NEEDED)",
+ "price": "1373",
+ "minTime": 10,
+ "maxTime": 10,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "HAS_BLACKDUCK_SCANNING_ADDON_NO_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_BLACKDUCK_SCANNING_ADDON && CA_NOT_NEEDED)",
+ "price": "2247",
+ "minTime": 10,
+ "maxTime": 10,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "HAS_BLACKDUCK_SCANNING_ADDON_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_BLACKDUCK_SCANNING_ADDON && CA_NEEDED)",
+ "price": "6281",
+ "minTime": 10,
+ "maxTime": 10,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "HAS_CI_CD_ADDON_NO_CA": {
+ "conditions": "( HAS_DEPLOY_DELIVERABLE && HAS_CI_CD_ADDON && CA_NOT_NEEDED)",
+ "price": "3569",
+ "minTime": 20,
+ "maxTime": 20,
+ "metadata": {
+ "deliverable": "deployment"
+ }
+ },
+ "HAS_CI_CD_ADDON_CA": {
+ "conditions": "( HAS_DEPLOY_DELIVERABLE && HAS_CI_CD_ADDON && CA_NEEDED)",
+ "price": "1030",
+ "minTime": 20,
+ "maxTime": 20,
+ "metadata": {
+ "deliverable": "deployment"
+ }
+ },
+ "SMALL_AUTOMATION_TESTING_ADDON_NO_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_AUTOMATION_TESTING_ADDON && AUTOMATED_TEST_COUNT_SMALL && CA_NOT_NEEDED)",
+ "price": "6010",
+ "minTime": 7,
+ "maxTime": 7,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "LARGE_AUTOMATION_TESTING_ADDON_NO_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_AUTOMATION_TESTING_ADDON && AUTOMATED_TEST_COUNT_LARGE && CA_NOT_NEEDED)",
+ "price": "4156",
+ "minTime": 12,
+ "maxTime": 12,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "SMALL_AUTOMATION_TESTING_ADDON_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_AUTOMATION_TESTING_ADDON && AUTOMATED_TEST_COUNT_SMALL && CA_NEEDED)",
+ "price": "3044",
+ "minTime": 7,
+ "maxTime": 7,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "LARGE_AUTOMATION_TESTING_ADDON_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_AUTOMATION_TESTING_ADDON && AUTOMATED_TEST_COUNT_LARGE && CA_NEEDED)",
+ "price": "2987",
+ "minTime": 12,
+ "maxTime": 12,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "PERF_TESTING_ADDON_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_PERF_TESTING_ADDON && CA_NEEDED)",
+ "price": "5230",
+ "minTime": 20,
+ "maxTime": 20,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "HAS_UNIT_TESTING_ADDON_NO_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_UNIT_TESTING_ADDON && CA_NOT_NEEDED)",
+ "price": "1252",
+ "minTime": 12,
+ "maxTime": 12,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "HAS_UNIT_TESTING_ADDON_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_UNIT_TESTING_ADDON && CA_NEEDED)",
+ "price": "2708",
+ "minTime": 12,
+ "maxTime": 12,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "HAS_UAT_ENHANCEMENTS_ADDON_NO_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_UAT_ENHANCEMENTS_ADDON && CA_NOT_NEEDED)",
+ "price": "2079",
+ "minTime": 15,
+ "maxTime": 15,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ },
+ "HAS_UAT_ENHANCEMENTS_ADDON_CA": {
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_UAT_ENHANCEMENTS_ADDON && CA_NEEDED)",
+ "price": "4924",
+ "minTime": 15,
+ "maxTime": 15,
+ "metadata": {
+ "deliverable": "dev-qa"
+ }
+ }
+ },
+ "priceConfig-old": null,
+ "priceConfigOpt": null,
+ "addonPriceConfig": {
+ "HAS_DESIGN_DELIVERABLE": [
+ [
+ "SMALL_WIREFRAMES_ADDON_NO_CA"
+ ],
+ [
+ "MEDIUM_WIREFRAMES_ADDON_NO_CA"
+ ],
+ [
+ "LARGE_WIREFRAMES_ADDON_NO_CA"
+ ],
+ [
+ "SMALL_WIREFRAMES_ADDON_CA"
+ ],
+ [
+ "MEDIUM_WIREFRAMES_ADDON_CA"
+ ],
+ [
+ "LARGE_WIREFRAMES_ADDON_CA"
+ ],
+ [
+ "SMALL_UI_PROTOTYPE_ADDON_NO_CA"
+ ],
+ [
+ "MEDIUM_UI_PROTOTYPE_ADDON_NO_CA"
+ ],
+ [
+ "LARGE_UI_PROTOTYPE_ADDON_NO_CA"
+ ],
+ [
+ "SMALL_UI_PROTOTYPE_ADDON_CA"
+ ],
+ [
+ "MEDIUM_UI_PROTOTYPE_ADDON_CA"
+ ],
+ [
+ "LARGE_UI_PROTOTYPE_ADDON_CA"
+ ],
+ [
+ "SMALL_RESP_UI_PROTOTYPE_ADDON_NO_CA"
+ ],
+ [
+ "MEDIUM_RESP_UI_PROTOTYPE_ADDON_NO_CA"
+ ],
+ [
+ "LARGE_RESP_UI_PROTOTYPE_ADDON_NO_CA"
+ ],
+ [
+ "SMALL_RESP_UI_PROTOTYPE_ADDON_CA"
+ ],
+ [
+ "MEDIUM_RESP_UI_PROTOTYPE_ADDON_CA"
+ ],
+ [
+ "LARGE_RESP_UI_PROTOTYPE_ADDON_CA"
+ ],
+ [
+ "ZEPLIN_APP_ADDON_NO_CA"
+ ],
+ [
+ "ZEPLIN_APP_ADDON_CA"
+ ],
+ [
+ "DESIGN_DIRECTION_ADDON_NO_CA"
+ ],
+ [
+ "DESIGN_DIRECTION_ADDON_CA"
+ ],
+ [
+ "MAZE_UX_TESTING_ADDON_NO_CA"
+ ],
+ [
+ "MAZE_UX_TESTING_ADDON_CA"
+ ]
+ ],
+ "HAS_DEV_DELIVERABLE": [
+ [
+ "API_DEVELOPMENT_ADDON_NO_CA"
+ ],
+ [
+ "API_DEVELOPMENT_ADDON_CA"
+ ],
+ [
+ "API_INTEGRATION_ADDON_NO_CA"
+ ],
+ [
+ "API_INTEGRATION_ADDON_CA"
+ ],
+ [
+ "OFFLINE_CAPABILITY_ADDON_NO_CA"
+ ],
+ [
+ "OFFLINE_CAPABILITY_ADDON_CA"
+ ],
+ [
+ "HAS_MIN_BATTERY_USE_IMPL_ADDON_NO_CA"
+ ],
+ [
+ "HAS_MIN_BATTERY_USE_IMPL_ADDON_CA"
+ ],
+ [
+ "HAS_SMTP_SERVER_SETUP_ADDON_NO_CA"
+ ],
+ [
+ "HAS_SMTP_SERVER_SETUP_ADDON_CA"
+ ],
+ [
+ "HAS_BACKEND_DEVELOPMENT_ADDON_NO_CA"
+ ],
+ [
+ "HAS_BACKEND_DEVELOPMENT_ADDON_CA"
+ ],
+ [
+ "HAS_RESP_DESIGN_IMPL_ADDON_NO_CA"
+ ],
+ [
+ "HAS_RESP_DESIGN_IMPL_ADDON_CA"
+ ],
+ [
+ "HAS_ADMIN_TOOL_DEV_ADDON_NO_CA"
+ ],
+ [
+ "HAS_ADMIN_TOOL_DEV_ADDON_CA"
+ ],
+ [
+ "HAS_LOCATION_SERVICES_ADDON_NO_CA"
+ ],
+ [
+ "HAS_LOCATION_SERVICES_ADDON_CA"
+ ],
+ [
+ "HAS_CONTAINERIZED_CODE_ADDON_NO_CA"
+ ],
+ [
+ "HAS_CONTAINERIZED_CODE_ADDON_CA"
+ ],
+ [
+ "HAS_GOOGLE_ANALYTICS_ADDON_NO_CA"
+ ],
+ [
+ "HAS_GOOGLE_ANALYTICS_ADDON_CA"
+ ],
+ [
+ "HAS_SSO_INTEGRATION_ADDON_NO_CA"
+ ],
+ [
+ "HAS_SSO_INTEGRATION_ADDON_CA"
+ ],
+ [
+ "HAS_THIRD_PARTY_INTEGRATION_ADDON_NO_CA"
+ ],
+ [
+ "HAS_THIRD_PARTY_INTEGRATION_ADDON_CA"
+ ],
+ [
+ "HAS_SMS_GATEWAY_INTEGRATION_ADDON_NO_CA"
+ ],
+ [
+ "HAS_SMS_GATEWAY_INTEGRATION_ADDON_CA"
+ ],
+ [
+ "HAS_SOCIAL_MEDIA_INTEGRATION_ADDON_NO_CA"
+ ],
+ [
+ "HAS_SOCIAL_MEDIA_INTEGRATION_ADDON_CA"
+ ],
+ [
+ "HAS_MOBILE_ENT_SECURITY_ADDON_NO_CA"
+ ],
+ [
+ "HAS_MOBILE_ENT_SECURITY_ADDON_CA"
+ ],
+ [
+ "HAS_CHECKMARX_SCANNING_ADDON_NO_CA"
+ ],
+ [
+ "HAS_CHECKMARX_SCANNING_ADDON_CA"
+ ],
+ [
+ "HAS_BLACKDUCK_SCANNING_ADDON_NO_CA"
+ ],
+ [
+ "HAS_BLACKDUCK_SCANNING_ADDON_CA"
+ ],
+ [
+ "SMALL_AUTOMATION_TESTING_ADDON_NO_CA"
+ ],
+ [
+ "SMALL_AUTOMATION_TESTING_ADDON_CA"
+ ],
+ [
+ "LARGE_AUTOMATION_TESTING_ADDON_NO_CA"
+ ],
+ [
+ "LARGE_AUTOMATION_TESTING_ADDON_CA"
+ ],
+ [
+ "PERF_TESTING_ADDON_CA"
+ ],
+ [
+ "HAS_UNIT_TESTING_ADDON_NO_CA"
+ ],
+ [
+ "HAS_UNIT_TESTING_ADDON_CA"
+ ],
+ [
+ "HAS_UAT_ENHANCEMENTS_ADDON_NO_CA"
+ ],
+ [
+ "HAS_UAT_ENHANCEMENTS_ADDON_CA"
+ ]
+ ],
+ "HAS_DEPLOY_DELIVERABLE": [
+ [
+ "HAS_CI_CD_ADDON_NO_CA"
+ ],
+ [
+ "HAS_CI_CD_ADDON_CA"
+ ]
+ ]
+ }
+ },
+ "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
+ }
+ },
+ "form": null,
+ "planConfig": null,
+ "priceConfig": null,
+ "disabled": false,
+ "hidden": true,
+ "deletedAt": null,
+ "createdAt": "2019-05-11T05:15:55.000Z",
+ "updatedAt": "2020-01-22T13:22:41.475Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ }
+ ],
+ "productTemplates": [
+ {
+ "id": 165,
+ "name": "First to Finish",
+ "productKey": "challenge-FIRST_2_FINISH",
+ "category": "generic",
+ "subCategory": "challenge",
+ "icon": "challenge-FIRST_2_FINISH",
+ "brief": "First to Finish",
+ "details": "First to Finish",
+ "aliases": [
+ "challenge-first_2_finish"
+ ],
+ "template": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "Sample Project",
+ "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",
+ "required": true,
+ "validationError": "Please let us know consumers of your application",
+ "title": "What type of question you want to see next?",
+ "description": "Description for the radio button type question",
+ "type": "radio-group",
+ "fieldName": "details.appDefinition.questionType",
+ "options": [
+ {
+ "value": "checkbox-group",
+ "label": "Checkbox Group"
+ },
+ {
+ "value": "slide-radiogroup",
+ "label": "Slide Radio Group"
+ },
+ {
+ "value": "tiled-radio-group",
+ "label": "Tiled Radio Group"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "required": true,
+ "validationError": "Validation error for tiled radio group question",
+ "title": "Sample tiled radio group question?",
+ "description": "Description for tiled radio group question",
+ "fieldName": "details.appDefinition.sampleTiledRadioGroup",
+ "type": "tiled-radio-group",
+ "condition": "details.appDefinition.questionType == 'tiled-radio-group'",
+ "options": [
+ {
+ "value": "value1",
+ "title": "Value 1",
+ "icon": "icon-test-unstructured",
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "desc": ""
+ },
+ {
+ "value": "value2",
+ "title": "Value 2",
+ "icon": "icon-test-structured",
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "desc": ""
+ },
+ {
+ "value": "value3",
+ "title": "Value 3",
+ "icon": "icon-dont-know",
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "desc": ""
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Sample Checkbox group type question",
+ "description": "Description for checkbox group type question",
+ "fieldName": "details.appDefinition.sampleCheckboxGroup",
+ "type": "checkbox-group",
+ "condition": "details.appDefinition.questionType == 'checkbox-group'",
+ "options": [
+ {
+ "value": "value1",
+ "label": "Value 1"
+ },
+ {
+ "value": "value2",
+ "label": "Value 2"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "description": "How much budget do you have?",
+ "title": "Sample Slide Radio Group type question",
+ "fieldName": "details.appDefinition.sampleSlideRadioGroup",
+ "type": "slide-radiogroup",
+ "condition": "details.appDefinition.questionType == '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 value for sample radio group question"
+ }
+ ]
+ },
+ {
+ "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"
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": false,
+ "isAddOn": false,
+ "createdAt": "2019-08-06T05:53:19.000Z",
+ "updatedAt": "2020-01-22T13:22:42.553Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 166,
+ "name": "Code",
+ "productKey": "challenge-CODE",
+ "category": "api_and_integrations",
+ "subCategory": "challenge",
+ "icon": "challenge-CODE",
+ "brief": "Code",
+ "details": "Code",
+ "aliases": [
+ "challenge-code"
+ ],
+ "template": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "Sample Project",
+ "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",
+ "required": true,
+ "validationError": "Please let us know consumers of your application",
+ "title": "What type of question you want to see next?",
+ "description": "Description for the radio button type question",
+ "type": "radio-group",
+ "fieldName": "details.appDefinition.questionType",
+ "options": [
+ {
+ "value": "checkbox-group",
+ "label": "Checkbox Group"
+ },
+ {
+ "value": "slide-radiogroup",
+ "label": "Slide Radio Group"
+ },
+ {
+ "value": "tiled-radio-group",
+ "label": "Tiled Radio Group"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "required": true,
+ "validationError": "Validation error for tiled radio group question",
+ "title": "Sample tiled radio group question?",
+ "description": "Description for tiled radio group question",
+ "fieldName": "details.appDefinition.sampleTiledRadioGroup",
+ "type": "tiled-radio-group",
+ "condition": "details.appDefinition.questionType == 'tiled-radio-group'",
+ "options": [
+ {
+ "value": "value1",
+ "title": "Value 1",
+ "icon": "icon-test-unstructured",
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "desc": ""
+ },
+ {
+ "value": "value2",
+ "title": "Value 2",
+ "icon": "icon-test-structured",
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "desc": ""
+ },
+ {
+ "value": "value3",
+ "title": "Value 3",
+ "icon": "icon-dont-know",
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "desc": ""
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Sample Checkbox group type question",
+ "description": "Description for checkbox group type question",
+ "fieldName": "details.appDefinition.sampleCheckboxGroup",
+ "type": "checkbox-group",
+ "condition": "details.appDefinition.questionType == 'checkbox-group'",
+ "options": [
+ {
+ "value": "value1",
+ "label": "Value 1"
+ },
+ {
+ "value": "value2",
+ "label": "Value 2"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "description": "How much budget do you have?",
+ "title": "Sample Slide Radio Group type question",
+ "fieldName": "details.appDefinition.sampleSlideRadioGroup",
+ "type": "slide-radiogroup",
+ "condition": "details.appDefinition.questionType == '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 value for sample radio group question"
+ }
+ ]
+ },
+ {
+ "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"
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": false,
+ "isAddOn": false,
+ "createdAt": "2019-08-06T06:01:30.000Z",
+ "updatedAt": "2020-01-22T13:22:42.554Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 21,
+ "name": "Development Integration",
+ "productKey": "generic_dev",
+ "category": "generic",
+ "subCategory": "generic",
+ "icon": "../../assets/icons/product-dev-other.svg",
+ "brief": "Development Integration",
+ "details": "Get help with any part of your app or software",
+ "aliases": [
+ "generic-development",
+ "generic_dev"
+ ],
+ "template": {
+ "sections": [
+ {
+ "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",
+ "type": "project-name",
+ "title": "Project Name",
+ "hidden": true,
+ "required": true,
+ "fieldName": "name",
+ "description": "",
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "id": "questions",
+ "type": "questions",
+ "title": "Questions",
+ "required": true,
+ "hideTitle": true,
+ "questions": [
+ {
+ "icon": "question",
+ "type": "tiled-radio-group",
+ "title": "Which is your primary device target?",
+ "hidden": true,
+ "options": [
+ {
+ "desc": "iOS, Android, Hybrid",
+ "icon": "IconTechOutlineMobile",
+ "title": "Phone",
+ "value": "phone",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "iOS, Android, Hybrid",
+ "icon": "IconTechOutlineTablet",
+ "title": "Tablet",
+ "value": "tablet",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "all OS",
+ "icon": "IconTechOutlineDesktop",
+ "title": "Desktop",
+ "value": "desktop",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "Watch OS, Android Wear",
+ "icon": "IconTechOutlineWatchApple",
+ "title": "Wearable",
+ "value": "wearable",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ }
+ ],
+ "fieldName": "details.appDefinition.primaryTarget",
+ "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."
+ },
+ {
+ "id": "projectInfo",
+ "type": "textbox",
+ "title": "Description",
+ "hidden": true,
+ "fieldName": "description",
+ "description": "Brief Description",
+ "validations": "isRequired,minLength:160",
+ "validationErrors": {
+ "minLength": "Please enter at least 160 characters",
+ "isRequired": "Please provide a description"
+ }
+ },
+ {
+ "icon": "question",
+ "type": "see-attached-textbox",
+ "title": "What is the goal of your application? How will people use it?",
+ "hidden": true,
+ "fieldName": "details.appDefinition.goal",
+ "description": "Describe your objectives for creating this application"
+ },
+ {
+ "icon": "question",
+ "type": "see-attached-textbox",
+ "title": "Who are the users of your application? ",
+ "hidden": true,
+ "fieldName": "details.appDefinition.users",
+ "description": "Describe the roles and needs of your target users"
+ },
+ {
+ "icon": "question",
+ "type": "numberinputpositive",
+ "title": "What is your project budget?",
+ "hidden": true,
+ "fieldName": "details.appDefinition.budget",
+ "description": "Project budget in USD, please enter 0 if you don't have one"
+ },
+ {
+ "icon": "question",
+ "type": "slide-radiogroup",
+ "title": "How precise is your budget?",
+ "hidden": true,
+ "options": [
+ {
+ "title": "Its a wild guess",
+ "value": "guess"
+ },
+ {
+ "title": "I have a rough idea",
+ "value": "ballpark"
+ },
+ {
+ "title": "Precise to the penny",
+ "value": "exact"
+ }
+ ],
+ "fieldName": "details.appDefinition.budgetType",
+ "description": ""
+ },
+ {
+ "icon": "question",
+ "type": "slide-radiogroup",
+ "title": "When do you want to get started?",
+ "hidden": true,
+ "options": [
+ {
+ "title": "ASAP",
+ "value": "asap"
+ },
+ {
+ "title": "1-2 months",
+ "value": "1-2 months"
+ },
+ {
+ "title": "2+ months",
+ "value": "2-plus-months"
+ },
+ {
+ "title": "I'm just browsing",
+ "value": "estimating"
+ }
+ ],
+ "fieldName": "details.appDefinition.whenToStart",
+ "description": ""
+ },
+ {
+ "icon": "question",
+ "type": "slide-radiogroup",
+ "title": "Deadline",
+ "hidden": true,
+ "options": [
+ {
+ "title": "2 weeks",
+ "value": "2-weeks"
+ },
+ {
+ "title": "1-2 months",
+ "value": "1-2-months"
+ },
+ {
+ "title": "2+ months",
+ "value": "2-plus-months"
+ },
+ {
+ "title": "I'm just browsing",
+ "value": "estimating"
+ }
+ ],
+ "fieldName": "details.appDefinition.deadline",
+ "description": ""
+ },
+ {
+ "icon": "question",
+ "type": "see-attached-features",
+ "title": "Feature requirements",
+ "fieldName": "details.appDefinition.features",
+ "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."
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "hidden": true,
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)"
+ },
+ {
+ "id": "files",
+ "type": "files",
+ "title": "Files",
+ "category": "product",
+ "required": false,
+ "fieldName": "attachments",
+ "description": ""
+ }
+ ]
+ },
+ {
+ "id": "designSpecification",
+ "title": "Design Specification",
+ "required": false,
+ "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",
+ "type": "questions",
+ "title": "Questions",
+ "required": false,
+ "questions": [
+ {
+ "icon": "question",
+ "type": "tiled-radio-group",
+ "title": "What font style do you prefer? (Pick one)",
+ "options": [
+ {
+ "desc": "formal, old style",
+ "icon": "IconTcSpecTypeSerif",
+ "title": "Serif",
+ "value": "serif",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "clean, modern, informal",
+ "icon": "IconTcSpecTypeSansSerif",
+ "title": "Sans Serif",
+ "value": "sanSerif",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ }
+ ],
+ "fieldName": "details.designSpecification.fontStyle",
+ "description": "The typography used in your designs will fit within these broad font styles"
+ },
+ {
+ "icon": "question",
+ "type": "colors",
+ "title": "What colors do you like? (Select all that apply)",
+ "fieldName": "details.designSpecification.colors",
+ "description": "Your preferred colors will be used to guide the shading in your designs",
+ "defaultColors": []
+ },
+ {
+ "icon": "question",
+ "type": "tiled-radio-group",
+ "title": "What icon style do you prefer? (Pick one)",
+ "options": [
+ {
+ "desc": "playful",
+ "icon": "IconTcSpecIconTypeColorHome",
+ "title": "Flat Color",
+ "value": "flatColor",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "modern",
+ "icon": "IconTcSpecIconTypeOutlineHome",
+ "title": "Thin Line",
+ "value": "thinLine",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "classic",
+ "icon": "IconTcSpecIconTypeGlyphHome",
+ "title": "Solid Line",
+ "value": "solidLine",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ }
+ ],
+ "fieldName": "details.designSpecification.iconStyle",
+ "description": "Icons within your designs will follow these styles"
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "required": false,
+ "fieldName": "details.designSpecification.notes",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications, budget or timing constraints)"
+ }
+ ]
+ },
+ {
+ "id": "devSpecification",
+ "title": "Development Specification",
+ "required": false,
+ "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.",
+ "subSections": [
+ {
+ "id": "questions",
+ "type": "questions",
+ "title": "Questions",
+ "required": false,
+ "questions": [
+ {
+ "icon": "question",
+ "type": "checkbox-group",
+ "title": "How should your application be built?",
+ "options": [
+ {
+ "label": "iOS",
+ "value": "ios"
+ },
+ {
+ "label": "Android",
+ "value": "android"
+ },
+ {
+ "label": "Web",
+ "value": "web"
+ },
+ {
+ "label": "Hybrid",
+ "value": "hybrid"
+ }
+ ],
+ "fieldName": "details.devSpecification.platform",
+ "description": "Choose the operating system/platform for your application"
+ },
+ {
+ "icon": "question",
+ "type": "radio-group",
+ "title": "Is offline access required for your application?",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "true"
+ },
+ {
+ "label": "No",
+ "value": "false"
+ }
+ ],
+ "fieldName": "details.devSpecification.offlineAccess",
+ "description": "Do your users need to use the application when they are unable to connect to the internet?"
+ },
+ {
+ "icon": "question",
+ "type": "radio-group",
+ "title": "What level of security is needed for your application?",
+ "options": [
+ {
+ "label": "Standard - Nothing to do here",
+ "value": "standard"
+ },
+ {
+ "label": "Enhanced",
+ "value": "enhanced"
+ },
+ {
+ "label": "Maximum",
+ "value": "maximumm"
+ }
+ ],
+ "fieldName": "details.devSpecification.securityLevel",
+ "description": "Do you expect to be storing or transmitting personal or sensitive information?"
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "required": false,
+ "fieldName": "details.devSpecification.notes",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications, budget or timing constraints)"
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": true,
+ "isAddOn": false,
+ "createdAt": "2018-06-22T05:44:45.000Z",
+ "updatedAt": "2020-01-22T13:22:42.555Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 22,
+ "name": "Mobility Testing",
+ "productKey": "mobility_testing",
+ "category": "generic",
+ "subCategory": "generic",
+ "icon": "product-qa-mobility-testing",
+ "brief": "TBD",
+ "details": "App Certification, Lab on Hire, User Sentiment Analysis",
+ "aliases": [
+ "mobility-testing",
+ "mobility_testing"
+ ],
+ "template": {
+ "sections": [
+ {
+ "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",
+ "type": "project-name",
+ "title": "Project Name",
+ "hidden": true,
+ "required": true,
+ "fieldName": "name",
+ "description": "",
+ "validationError": "Please provide a name to your project"
+ },
+ {
+ "id": "questions",
+ "type": "questions",
+ "title": "Questions",
+ "required": true,
+ "hideTitle": true,
+ "questions": [
+ {
+ "icon": "question",
+ "type": "select-dropdown",
+ "title": "What kind of application would you like to test?",
+ "hidden": true,
+ "options": [
+ {
+ "title": "Select",
+ "value": ""
+ },
+ {
+ "title": "Banking or Financial Services",
+ "value": "finserv"
+ },
+ {
+ "title": "eCommerce",
+ "value": "ecommerce"
+ },
+ {
+ "title": "Media / Entertainment",
+ "value": "entertainment"
+ },
+ {
+ "title": "Gaming",
+ "value": "gaming"
+ },
+ {
+ "title": "Health and Fitness",
+ "value": "health"
+ },
+ {
+ "title": "Manufacturing",
+ "value": "manufacturing"
+ },
+ {
+ "title": "Retail",
+ "value": "retail"
+ },
+ {
+ "title": "Travel / Transportation",
+ "value": "travel"
+ },
+ {
+ "title": "Other",
+ "value": "other"
+ }
+ ],
+ "required": true,
+ "fieldName": "details.appDefinition.mobilityTestingType",
+ "description": "Please let us know the type of application to test. If you are unsure, please select \"Other\"",
+ "validationError": "Please let us know what kind of application you would like to test."
+ },
+ {
+ "icon": "question",
+ "type": "radio-group",
+ "title": "Do you have test cases written?",
+ "hidden": true,
+ "options": [
+ {
+ "label": "Yes I have test cases.",
+ "value": "true"
+ },
+ {
+ "label": "No I do not have test cases.",
+ "value": "false"
+ }
+ ],
+ "required": true,
+ "fieldName": "details.appDefinition.testCases",
+ "description": "Please let us know if you have any test cases written. If not, they can be created as part of your test cycle.",
+ "validationError": "Please let us know if you have test cases."
+ },
+ {
+ "id": "projectInfo",
+ "type": "textbox",
+ "title": "Description",
+ "hidden": true,
+ "fieldName": "description",
+ "description": "Brief Description",
+ "validations": "isRequired,minLength:160",
+ "validationErrors": {
+ "minLength": "Please enter at least 160 characters",
+ "isRequired": "Please provide a description"
+ }
+ },
+ {
+ "icon": "question",
+ "type": "textbox",
+ "title": "Please tell us about your users.",
+ "hidden": true,
+ "fieldName": "details.appDefinition.userInfo",
+ "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."
+ },
+ {
+ "icon": "question",
+ "type": "tiled-radio-group",
+ "title": "Which is your primary device target?",
+ "hidden": true,
+ "options": [
+ {
+ "desc": "iOS, Android, Hybrid",
+ "icon": "icon-tech-outline-mobile",
+ "title": "Phone",
+ "value": "phone",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "iOS, Android, Hybrid",
+ "icon": "icon-tech-outline-tablet",
+ "title": "Tablet",
+ "value": "tablet",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "Watch OS, Android Wear",
+ "icon": "icon-tech-outline-watch-apple",
+ "title": "Wearable",
+ "value": "wearable",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ }
+ ],
+ "fieldName": "details.appDefinition.primaryTarget",
+ "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."
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "hidden": true,
+ "fieldName": "details.appDefinition.notes",
+ "description": "Please enter any additional information like requirements and/or test cases. After creating your project you will be able to upload files."
+ }
+ ]
+ },
+ {
+ "id": "testingNeeds",
+ "title": "Testing Needs",
+ "required": false,
+ "description": "Please answer these additional questions to better help us understand your needs.",
+ "subSections": [
+ {
+ "id": "scope",
+ "type": "questions",
+ "title": "Scope",
+ "required": false,
+ "questions": [
+ {
+ "id": "testingNeeds.description",
+ "icon": "question",
+ "type": "textbox",
+ "title": "Please describe your website and/or application.",
+ "fieldName": "details.testingNeeds.description",
+ "description": ""
+ },
+ {
+ "id": "testingNeeds.inScope",
+ "icon": "question",
+ "type": "textbox",
+ "title": "Please describe which features or components are in-scope in this testing effort.",
+ "fieldName": "details.testingNeeds.inScope",
+ "description": ""
+ },
+ {
+ "id": "testingNeeds.outOfScope",
+ "icon": "question",
+ "type": "textbox",
+ "title": "Are any features or components out of scope? If yes, please describe.",
+ "fieldName": "details.testingNeeds.outOfScope",
+ "description": ""
+ },
+ {
+ "id": "testingNeeds.duration",
+ "icon": "question",
+ "type": "textbox",
+ "title": "Do you have a specific timeline for testing? If so, please provide approximate start and end dates.",
+ "fieldName": "details.testingNeeds.duration",
+ "description": ""
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "testerDetails",
+ "type": "questions",
+ "title": "Tester Details",
+ "required": false,
+ "questions": [
+ {
+ "id": "testerDetails.demographics",
+ "icon": "question",
+ "type": "textbox",
+ "title": "Do you have preferred demographics you would like to target?",
+ "fieldName": "details.testerDetails.demographics",
+ "description": ""
+ },
+ {
+ "id": "testerDetails.geographies",
+ "icon": "question",
+ "type": "textbox",
+ "title": "Would you like to target any specific geographies?",
+ "fieldName": "details.testerDetails.geographies",
+ "description": ""
+ },
+ {
+ "id": "testerDetails.skills",
+ "icon": "question",
+ "type": "textbox",
+ "title": "Are any specific skills required to test your application? If so, please list them.",
+ "fieldName": "details.testerDetails.skills",
+ "description": ""
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "testEnvironment",
+ "type": "questions",
+ "title": "Testing Enviroment",
+ "required": false,
+ "questions": [
+ {
+ "id": "testEnvironment.environmentDetails",
+ "icon": "question",
+ "type": "textbox",
+ "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.",
+ "fieldName": "details.testEnvironment.environmentDetails",
+ "description": ""
+ },
+ {
+ "id": "testEnvironment.assets",
+ "icon": "question",
+ "type": "textbox",
+ "title": "Are any test assets available? For exmaple: test plan, test scenario, test scripts, test data.",
+ "fieldName": "details.testEnvironment.assets",
+ "description": ""
+ },
+ {
+ "id": "testEnvironment.other",
+ "icon": "question",
+ "type": "textbox",
+ "title": "Are there any other specific details related to the environment you can share?",
+ "fieldName": "details.testEnvironment.otherInformation",
+ "description": ""
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "targetApplication",
+ "type": "questions",
+ "title": "Target Application",
+ "required": false,
+ "questions": [
+ {
+ "id": "targetApplication.description",
+ "icon": "question",
+ "type": "textbox",
+ "title": "",
+ "fieldName": "details.targetApplication.description",
+ "description": "Please describe your application."
+ },
+ {
+ "id": "targetApplication.platform",
+ "icon": "question",
+ "type": "textbox",
+ "title": "",
+ "fieldName": "details.targetApplication.platform",
+ "description": "Please list all platforms the application should be tested on."
+ },
+ {
+ "id": "targetApplication.training",
+ "icon": "question",
+ "type": "textbox",
+ "title": "Does the application require training to utilize it properly? If so, are you able to provide these inputs?",
+ "fieldName": "details.targetApplication.training",
+ "description": ""
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "cyclePreferences",
+ "type": "questions",
+ "title": "Test Cycle Preferences",
+ "required": false,
+ "questions": [
+ {
+ "id": "preferences.suggestions",
+ "icon": "question",
+ "type": "textbox",
+ "title": "",
+ "fieldName": "details.cyclePreferences.usabilitySuggestions",
+ "description": "Would you like usability suggestions included in the issue report?"
+ },
+ {
+ "id": "preferences.omissions",
+ "icon": "question",
+ "type": "textbox",
+ "title": "",
+ "fieldName": "details.cyclePreferences.omissions",
+ "description": "Are there any types of defects you would like ommitted from issue reports?"
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "files",
+ "type": "files",
+ "title": "Files",
+ "category": "product",
+ "required": false,
+ "fieldName": "attachments",
+ "description": ""
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": true,
+ "isAddOn": false,
+ "createdAt": "2018-07-06T07:27:33.000Z",
+ "updatedAt": "2020-01-22T13:22:42.555Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 23,
+ "name": "Performance Testing",
+ "productKey": "performance_testing",
+ "category": "generic",
+ "subCategory": "generic",
+ "icon": "product-qa-website-performance",
+ "brief": "Performance Testing",
+ "details": "Webpage rendering effiency, Load, Stress and Endurance Test",
+ "aliases": [
+ "performance-testing",
+ "performance_testing"
+ ],
+ "template": {
+ "sections": [
+ {
+ "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",
+ "type": "project-name",
+ "title": "Project Name",
+ "hidden": true,
+ "required": true,
+ "fieldName": "name",
+ "description": "",
+ "validationError": "Please provide a name to your project"
+ },
+ {
+ "id": "questions",
+ "type": "questions",
+ "title": "Questions",
+ "hidden": true,
+ "required": true,
+ "hideTitle": true,
+ "questions": [
+ {
+ "id": "projectInfo",
+ "type": "textbox",
+ "title": "Please provide brief description of the system and/or application you would like to execute Performance Testing on.",
+ "hidden": true,
+ "fieldName": "description",
+ "description": "In 160 or more characters tell us what is the app, main functions, problem area, etc..",
+ "validations": "isRequired,minLength:160",
+ "validationErrors": {
+ "minLength": "Please enter at least 160 characters",
+ "isRequired": "Please provide a description"
+ }
+ },
+ {
+ "icon": "question",
+ "type": "slide-radiogroup",
+ "title": "What is the desired load on the system in terms of concurrent users for this test?",
+ "hidden": true,
+ "options": [
+ {
+ "title": "Up to 500",
+ "value": "upto-500"
+ },
+ {
+ "title": "Up to 1000",
+ "value": "upto-1000"
+ },
+ {
+ "title": "Up to 5000",
+ "value": "upto-5000"
+ },
+ {
+ "title": "More than 5000",
+ "value": "above-5000"
+ }
+ ],
+ "required": true,
+ "fieldName": "details.loadDetails.concurrentUsersCount",
+ "description": "(Unit package includes 500 virtual users, additional load would require Top-Ups)",
+ "validationError": "Please provide expected load"
+ },
+ {
+ "icon": "question",
+ "type": "slide-radiogroup",
+ "title": "Approximately how many business processes/transactions will be included in your Performance Test?",
+ "hidden": true,
+ "options": [
+ {
+ "title": "Up to 5",
+ "value": "upto-5"
+ },
+ {
+ "title": "Up to 10",
+ "value": "upto-10"
+ },
+ {
+ "title": "Up to 25",
+ "value": "upto-25"
+ },
+ {
+ "title": "More than 25",
+ "value": "above-25"
+ }
+ ],
+ "required": true,
+ "fieldName": "details.loadDetails.businessProcessesCount",
+ "description": "(Unit package covers 10 transactions, additional transactions would require Top-Ups)",
+ "validationError": "Please provide expected number of business processes"
+ },
+ {
+ "icon": "question",
+ "type": "slide-radiogroup",
+ "title": "How many hours do you expect the Performance Test to be executed for?",
+ "hidden": true,
+ "options": [
+ {
+ "title": "Up to 5",
+ "value": "upto-5"
+ },
+ {
+ "title": "Up to 10",
+ "value": "upto-10"
+ },
+ {
+ "title": "Up to 25",
+ "value": "upto-25"
+ },
+ {
+ "title": "More than 25",
+ "value": "above-25"
+ }
+ ],
+ "required": true,
+ "fieldName": "details.loadDetails.expectedExecutionHours",
+ "description": "(Unit package covers 10 hours of execution, additional execution time would require Top-Ups)",
+ "validationError": "Please provide expected hours of execution"
+ },
+ {
+ "icon": "question",
+ "type": "checkbox-group",
+ "title": "Please select any additional add-ons.",
+ "options": [
+ {
+ "label": "Scenario Booster add 3 more",
+ "value": "scenario"
+ },
+ {
+ "label": "Add 250 vUsers",
+ "value": "250vusers"
+ },
+ {
+ "label": "Add 2500 vUsers",
+ "value": "2500vusers"
+ },
+ {
+ "label": "Add additional Geography",
+ "value": "geo"
+ },
+ {
+ "label": "Precurser to purchase - 1 Tool, 2 scripts,1 hour execution",
+ "value": "poc"
+ },
+ {
+ "label": "Utilize consultant to tailor strategy",
+ "value": "strategy"
+ },
+ {
+ "label": "Execution Booster extra 2 hours",
+ "value": "execution"
+ },
+ {
+ "label": "Use my own testing tool",
+ "value": "mytool"
+ },
+ {
+ "label": "Modify/Use own scripts",
+ "value": "myscripts"
+ },
+ {
+ "label": "Late Entry - 1 week lead time",
+ "value": "late"
+ }
+ ],
+ "required": false,
+ "fieldName": "details.testingNeeds.addons",
+ "description": ""
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "hidden": true,
+ "fieldName": "details.appDefinition.notes",
+ "description": "Please enter any additional information like requirements and/or test cases. After creating your project you will be able to upload files."
+ },
+ {
+ "id": "files",
+ "type": "files",
+ "title": "Files",
+ "category": "product",
+ "required": false,
+ "fieldName": "attachments",
+ "description": ""
+ }
+ ]
+ },
+ {
+ "id": "pocs",
+ "title": "Points of Contacts",
+ "required": false,
+ "description": "Please provide information on specific points of contacts.",
+ "subSections": [
+ {
+ "id": "spoc",
+ "type": "questions",
+ "title": "SPOCs (Single Point of Contact)",
+ "required": false,
+ "questions": [
+ {
+ "icon": "question",
+ "type": "textbox",
+ "title": "Name of the Business SPOC",
+ "fieldName": "details.spoc.business.name",
+ "description": "",
+ "validationError": "Please provide name of business SPOC"
+ },
+ {
+ "icon": "question",
+ "type": "textbox",
+ "title": "Email of the Business SPOC",
+ "fieldName": "details.spoc.business.email",
+ "description": "",
+ "validations": "isEmail",
+ "validationErrors": {
+ "isEmail": "Please enter a valid email"
+ }
+ },
+ {
+ "icon": "question",
+ "type": "textbox",
+ "title": "Name of the Testing SPOC",
+ "fieldName": "details.spoc.testing.name",
+ "description": "",
+ "validationError": "Please provide name of testing SPOC"
+ },
+ {
+ "icon": "question",
+ "type": "textbox",
+ "title": "Email of the Testing SPOC",
+ "fieldName": "details.spoc.testing.email",
+ "description": "",
+ "validations": "isEmail",
+ "validationErrors": {
+ "isEmail": "Please enter a valid email"
+ }
+ },
+ {
+ "icon": "question",
+ "type": "textbox",
+ "title": "Name of the development SPOC",
+ "fieldName": "details.spoc.dev.name",
+ "description": "",
+ "validationError": "Please provide name of development SPOC"
+ },
+ {
+ "icon": "question",
+ "type": "textbox",
+ "title": "Email of the development SPOC",
+ "fieldName": "details.spoc.dev.email",
+ "description": "",
+ "validations": "isEmail",
+ "validationErrors": {
+ "isEmail": "Please enter a valid email"
+ }
+ }
+ ],
+ "description": ""
+ }
+ ]
+ },
+ {
+ "id": "systemOverview",
+ "title": "System Overview",
+ "required": false,
+ "description": "Please provide the overview of the system to be tested",
+ "subSections": [
+ {
+ "id": "questions",
+ "type": "questions",
+ "title": "Questions",
+ "hideTitle": true,
+ "questions": [
+ {
+ "id": "architecture",
+ "type": "textbox",
+ "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.",
+ "fieldName": "details.targetApplication.architecture",
+ "description": ""
+ },
+ {
+ "id": "developmentPlatform",
+ "icon": "question",
+ "type": "checkbox-group",
+ "title": "What is the application development platform?",
+ "options": [
+ {
+ "label": ".NET",
+ "value": "dotnet"
+ },
+ {
+ "label": "J2EE",
+ "value": "j2ee"
+ },
+ {
+ "label": "Rich Internet Applications",
+ "value": "ria"
+ },
+ {
+ "label": "Oracle Technology",
+ "value": "oracle"
+ },
+ {
+ "label": "SAP",
+ "value": "sap"
+ },
+ {
+ "label": "Mainframe",
+ "value": "mainframe"
+ },
+ {
+ "label": "Adobe Flex",
+ "value": "adobe-flex"
+ },
+ {
+ "label": "Others",
+ "value": "others"
+ }
+ ],
+ "fieldName": "details.targetApplication.developmentPlatform",
+ "description": ""
+ },
+ {
+ "id": "frontEnd",
+ "icon": "question",
+ "type": "checkbox-group",
+ "title": "What is the front end of the system?",
+ "options": [
+ {
+ "label": "Web Browser - Thin Client",
+ "value": "web-browser"
+ },
+ {
+ "label": "Desktop App (Executable) - Thick Client",
+ "value": "desktop-app"
+ },
+ {
+ "label": "Citrix based Desktop App (Executable)",
+ "value": "citrix"
+ },
+ {
+ "label": "Java based (with Swing/Applets)",
+ "value": "java"
+ },
+ {
+ "label": "Web based Oracle Forms",
+ "value": "oracle-forms"
+ },
+ {
+ "label": "Any other",
+ "value": "other"
+ }
+ ],
+ "fieldName": "details.targetApplication.frontEnd",
+ "description": ""
+ },
+ {
+ "icon": "question",
+ "type": "textbox",
+ "title": "If applicable what web servers are used?",
+ "fieldName": "details.targetApplication.webBrowsers",
+ "description": "(For eg. Webserver can be Apache, IIS etc.)"
+ },
+ {
+ "icon": "question",
+ "type": "textbox",
+ "title": "If applicable what application servers are used?",
+ "fieldName": "details.targetApplication.appServers",
+ "description": "(For eg. Application server can be JBoss or Weblogic or Websphere etc.)"
+ },
+ {
+ "icon": "question",
+ "type": "textbox",
+ "title": "What data store technology is used?",
+ "fieldName": "details.targetApplication.backEnd",
+ "description": "(For eg. Back end can be Oracle, MS SQL or Sybase etc)"
+ },
+ {
+ "icon": "question",
+ "type": "textbox",
+ "title": "If the back end is a legacy system then specify the below",
+ "fieldName": "details.targetApplication.legacyBackEnd",
+ "description": "Mainframe(S390), AS400, Others"
+ },
+ {
+ "icon": "question",
+ "type": "textbox",
+ "title": "What middleware is used, if any?",
+ "fieldName": "details.targetApplication.middleware",
+ "description": "(For eg. Middleware can be MQSeries or TIBCO or Webmethod etc)"
+ },
+ {
+ "icon": "question",
+ "type": "textbox",
+ "title": "If your system uses web services, what architecture do they use? What functions do your web services perform?",
+ "fieldName": "details.targetApplication.webservices",
+ "description": "(For eg. SOAP/REST Webservices deployed in App server for new customer creation and maintenance)"
+ },
+ {
+ "id": "targetApplication.authMode",
+ "icon": "question",
+ "type": "checkbox-group",
+ "title": "What is the authentication mode used by the application?",
+ "options": [
+ {
+ "label": "NTLM",
+ "value": "ntlm"
+ },
+ {
+ "label": "Siteminder/SSO",
+ "value": "sso"
+ },
+ {
+ "label": "LDAP",
+ "value": "ldap"
+ },
+ {
+ "label": "Others",
+ "value": "others"
+ }
+ ],
+ "fieldName": "details.targetApplication.authMode",
+ "description": ""
+ },
+ {
+ "id": "targetApplication.interfaces",
+ "icon": "question",
+ "type": "checkbox-group",
+ "title": "What interfaces does the application have?",
+ "options": [
+ {
+ "label": "Vendor System",
+ "value": "vendor-system"
+ },
+ {
+ "label": "Document Mgmt System",
+ "value": "document-mgmt-system"
+ },
+ {
+ "label": "Payments",
+ "value": "payments"
+ },
+ {
+ "label": "Others",
+ "value": "other"
+ }
+ ],
+ "fieldName": "details.targetApplication.interfaces",
+ "description": ""
+ }
+ ],
+ "description": ""
+ }
+ ]
+ },
+ {
+ "id": "perfTestEnv",
+ "title": "Performance Test Environment",
+ "description": "Please provide information on test environments.",
+ "subSections": [
+ {
+ "id": "perfTestEnvSec",
+ "type": "questions",
+ "title": "Questions",
+ "hideTitle": true,
+ "questions": [
+ {
+ "icon": "question",
+ "type": "textbox",
+ "title": "Are the simulators/stubs available in test environment for the components available and if so do they support concurrent request simulation?",
+ "fieldName": "details.perfTestEnv.missingCompSimulators",
+ "description": ""
+ },
+ {
+ "icon": "question",
+ "type": "textbox",
+ "title": "Will online interfaces/stubs for the payment systems, vendor systems etc. be available for performance testing?",
+ "fieldName": "details.perfTestEnv.thirdPartyStubs",
+ "description": ""
+ },
+ {
+ "icon": "question",
+ "type": "textbox",
+ "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?",
+ "fieldName": "details.perfTestEnv.testDataAvailability",
+ "description": ""
+ },
+ {
+ "icon": "question",
+ "type": "textbox",
+ "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",
+ "fieldName": "details.perfTestEnv.soa",
+ "description": ""
+ },
+ {
+ "icon": "question",
+ "type": "radio-group",
+ "title": "Where are applications hosted?",
+ "options": [
+ {
+ "label": "Physical servers",
+ "value": "physical-servers"
+ },
+ {
+ "label": "Virtual/Cloud infrastructure",
+ "value": "cloud"
+ }
+ ],
+ "fieldName": "details.perfTestEnv.hostedOn",
+ "description": "Are the applications hosted on physical servers or virtual/cloud infrastructure"
+ },
+ {
+ "icon": "question",
+ "type": "textbox",
+ "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?",
+ "fieldName": "details.perfTestEnv.tools",
+ "description": ""
+ },
+ {
+ "icon": "question",
+ "type": "textbox",
+ "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?",
+ "fieldName": "details.perfTestEnv.diagnosticTools",
+ "description": ""
+ },
+ {
+ "icon": "question",
+ "type": "textbox",
+ "title": "How is application performance being monitored or planned to be monitored in production. Are same tools available in testing environment?",
+ "fieldName": "details.perfTestEnv.monitoring",
+ "description": ""
+ },
+ {
+ "icon": "question",
+ "type": "textbox",
+ "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?",
+ "fieldName": "details.perfTestEnv.saasAllowPortsOpening",
+ "description": ""
+ }
+ ],
+ "description": ""
+ }
+ ]
+ },
+ {
+ "id": "previousDetails",
+ "title": "Previous Performance Test Details",
+ "description": "Please provide information on specific points of contacts.",
+ "subSections": [
+ {
+ "id": "prevDetails",
+ "type": "questions",
+ "title": "Questions",
+ "hideTitle": true,
+ "questions": [
+ {
+ "icon": "question",
+ "type": "textbox",
+ "title": "When was the last time performance test carried out? On which version of application code base?",
+ "fieldName": "details.prevDetails.time",
+ "description": ""
+ },
+ {
+ "icon": "question",
+ "type": "textbox",
+ "title": "Please share the previous performance test reports if available by pasting here, or attaching in the Files section.",
+ "fieldName": "details.prevDetails.reports",
+ "description": ""
+ },
+ {
+ "icon": "question",
+ "type": "textbox",
+ "title": "What are the changes in application, architecture, infrastructure since the last test?",
+ "fieldName": "details.prevDetails.changes",
+ "description": ""
+ },
+ {
+ "icon": "question",
+ "type": "textbox",
+ "title": "What different types of tests were carried out and which measurements were captured?",
+ "fieldName": "details.prevDetails.typesOfTests",
+ "description": ""
+ },
+ {
+ "icon": "question",
+ "type": "textbox",
+ "title": "What were the performance testing and performance monitoring tools used?",
+ "fieldName": "details.prevDetails.monitoringTools",
+ "description": ""
+ },
+ {
+ "icon": "question",
+ "type": "textbox",
+ "title": "Are the performance test scenarios and automated test scripts previously used still available?",
+ "fieldName": "details.prevDetails.testScripts",
+ "description": ""
+ },
+ {
+ "icon": "question",
+ "type": "textbox",
+ "title": "Are there any open performance issues from previous tests?",
+ "fieldName": "details.prevDetails.issues",
+ "description": ""
+ },
+ {
+ "icon": "question",
+ "type": "textbox",
+ "title": "Please detail any issues previously identified and resolved from previous performance tests.",
+ "fieldName": "details.prevDetails.fixedIssues",
+ "description": ""
+ }
+ ],
+ "description": ""
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": true,
+ "isAddOn": false,
+ "createdAt": "2018-07-06T07:32:52.000Z",
+ "updatedAt": "2020-01-22T13:22:42.556Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 167,
+ "name": "Marathon Match",
+ "productKey": "challenge-DEVELOP_MARATHON_MATCH",
+ "category": "generic",
+ "subCategory": "challenge",
+ "icon": "challenge-DEVELOP_MARATHON_MATCH",
+ "brief": "Marathon Match",
+ "details": "Marathon Match",
+ "aliases": [
+ "challenge-develop_marathon_match"
+ ],
+ "template": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "Sample Project",
+ "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",
+ "required": true,
+ "validationError": "Please let us know consumers of your application",
+ "title": "What type of question you want to see next?",
+ "description": "Description for the radio button type question",
+ "type": "radio-group",
+ "fieldName": "details.appDefinition.questionType",
+ "options": [
+ {
+ "value": "checkbox-group",
+ "label": "Checkbox Group"
+ },
+ {
+ "value": "slide-radiogroup",
+ "label": "Slide Radio Group"
+ },
+ {
+ "value": "tiled-radio-group",
+ "label": "Tiled Radio Group"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "required": true,
+ "validationError": "Validation error for tiled radio group question",
+ "title": "Sample tiled radio group question?",
+ "description": "Description for tiled radio group question",
+ "fieldName": "details.appDefinition.sampleTiledRadioGroup",
+ "type": "tiled-radio-group",
+ "condition": "details.appDefinition.questionType == 'tiled-radio-group'",
+ "options": [
+ {
+ "value": "value1",
+ "title": "Value 1",
+ "icon": "icon-test-unstructured",
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "desc": ""
+ },
+ {
+ "value": "value2",
+ "title": "Value 2",
+ "icon": "icon-test-structured",
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "desc": ""
+ },
+ {
+ "value": "value3",
+ "title": "Value 3",
+ "icon": "icon-dont-know",
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "desc": ""
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Sample Checkbox group type question",
+ "description": "Description for checkbox group type question",
+ "fieldName": "details.appDefinition.sampleCheckboxGroup",
+ "type": "checkbox-group",
+ "condition": "details.appDefinition.questionType == 'checkbox-group'",
+ "options": [
+ {
+ "value": "value1",
+ "label": "Value 1"
+ },
+ {
+ "value": "value2",
+ "label": "Value 2"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "description": "How much budget do you have?",
+ "title": "Sample Slide Radio Group type question",
+ "fieldName": "details.appDefinition.sampleSlideRadioGroup",
+ "type": "slide-radiogroup",
+ "condition": "details.appDefinition.questionType == '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 value for sample radio group question"
+ }
+ ]
+ },
+ {
+ "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"
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": false,
+ "isAddOn": false,
+ "createdAt": "2019-08-06T06:02:24.000Z",
+ "updatedAt": "2020-01-22T13:22:42.556Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 169,
+ "name": "Design First to Finish",
+ "productKey": "challenge-DESIGN_FIRST_2_FINISH",
+ "category": "design",
+ "subCategory": "challenge",
+ "icon": "challenge-DESIGN_FIRST_2_FINISH",
+ "brief": "Design First to Finish",
+ "details": "Design First to Finish",
+ "aliases": [
+ "challenge-design_first_2_finish"
+ ],
+ "template": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "Sample Project",
+ "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",
+ "required": true,
+ "validationError": "Please let us know consumers of your application",
+ "title": "What type of question you want to see next?",
+ "description": "Description for the radio button type question",
+ "type": "radio-group",
+ "fieldName": "details.appDefinition.questionType",
+ "options": [
+ {
+ "value": "checkbox-group",
+ "label": "Checkbox Group"
+ },
+ {
+ "value": "slide-radiogroup",
+ "label": "Slide Radio Group"
+ },
+ {
+ "value": "tiled-radio-group",
+ "label": "Tiled Radio Group"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "required": true,
+ "validationError": "Validation error for tiled radio group question",
+ "title": "Sample tiled radio group question?",
+ "description": "Description for tiled radio group question",
+ "fieldName": "details.appDefinition.sampleTiledRadioGroup",
+ "type": "tiled-radio-group",
+ "condition": "details.appDefinition.questionType == 'tiled-radio-group'",
+ "options": [
+ {
+ "value": "value1",
+ "title": "Value 1",
+ "icon": "icon-test-unstructured",
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "desc": ""
+ },
+ {
+ "value": "value2",
+ "title": "Value 2",
+ "icon": "icon-test-structured",
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "desc": ""
+ },
+ {
+ "value": "value3",
+ "title": "Value 3",
+ "icon": "icon-dont-know",
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "desc": ""
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Sample Checkbox group type question",
+ "description": "Description for checkbox group type question",
+ "fieldName": "details.appDefinition.sampleCheckboxGroup",
+ "type": "checkbox-group",
+ "condition": "details.appDefinition.questionType == 'checkbox-group'",
+ "options": [
+ {
+ "value": "value1",
+ "label": "Value 1"
+ },
+ {
+ "value": "value2",
+ "label": "Value 2"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "description": "How much budget do you have?",
+ "title": "Sample Slide Radio Group type question",
+ "fieldName": "details.appDefinition.sampleSlideRadioGroup",
+ "type": "slide-radiogroup",
+ "condition": "details.appDefinition.questionType == '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 value for sample radio group question"
+ }
+ ]
+ },
+ {
+ "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"
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": false,
+ "isAddOn": false,
+ "createdAt": "2019-08-06T06:04:57.000Z",
+ "updatedAt": "2020-01-22T13:22:42.557Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 40,
+ "name": "Visual Design",
+ "productKey": "visual_design_prod",
+ "category": "generic",
+ "subCategory": "generic",
+ "icon": "product-design-app-visual",
+ "brief": "1-15 screens",
+ "details": "Create development-ready designs",
+ "aliases": [
+ "visual-design",
+ "visual_design_prod"
+ ],
+ "template": {
+ "sections": [
+ {
+ "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",
+ "type": "project-name",
+ "title": "Project Name",
+ "hidden": true,
+ "required": true,
+ "fieldName": "name",
+ "description": "",
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "id": "questions",
+ "type": "questions",
+ "title": "Questions",
+ "required": true,
+ "hideTitle": true,
+ "questions": [
+ {
+ "icon": "question",
+ "type": "tiled-radio-group",
+ "title": "How many screens do you need designed?",
+ "hidden": false,
+ "options": [
+ {
+ "desc": "5-7 days",
+ "icon": "NumberText",
+ "title": "screens",
+ "value": "1-3",
+ "quoteUp": 0,
+ "maxTimeUp": 0,
+ "minTimeUp": 0,
+ "iconOptions": {
+ "number": "1-3"
+ }
+ },
+ {
+ "desc": "7-10 days",
+ "icon": "NumberText",
+ "title": "screens",
+ "value": "4-8",
+ "quoteUp": 2000,
+ "maxTimeUp": 5,
+ "minTimeUp": 3,
+ "iconOptions": {
+ "number": "4-8"
+ }
+ },
+ {
+ "desc": "8-10 days",
+ "icon": "NumberText",
+ "title": "screens",
+ "value": "9-15",
+ "quoteUp": 3500,
+ "maxTimeUp": 12,
+ "minTimeUp": 8,
+ "iconOptions": {
+ "number": "9-15"
+ }
+ }
+ ],
+ "fieldName": "details.appDefinition.numberScreens",
+ "description": "This is the most popular project size that can get a medium-sized app designed in a breeze",
+ "affectsQuickQuote": true
+ },
+ {
+ "icon": "question",
+ "type": "tiled-radio-group",
+ "title": "Which is your primary device target?",
+ "hidden": true,
+ "options": [
+ {
+ "desc": "iOS, Android, Hybrid",
+ "icon": "icon-tech-outline-mobile",
+ "title": "Phone",
+ "value": "Phone",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "iOS, Android, Hybrid",
+ "icon": "icon-tech-outline-tablet",
+ "title": "Tablet",
+ "value": "Tablet",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "all OS",
+ "icon": "icon-tech-outline-desktop",
+ "title": "Desktop",
+ "value": "Desktop",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "Watch OS, Android Wear",
+ "icon": "icon-tech-outline-watch-apple",
+ "title": "Wearable",
+ "value": "Wearable",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ }
+ ],
+ "fieldName": "details.appDefinition.primaryTarget",
+ "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."
+ },
+ {
+ "id": "projectInfo",
+ "icon": "question",
+ "type": "textbox",
+ "title": "Description",
+ "hidden": true,
+ "fieldName": "description",
+ "description": "Brief Description",
+ "validations": "isRequired,minLength:160",
+ "validationErrors": {
+ "minLength": "Please enter at least 160 characters",
+ "isRequired": "Please provide a description"
+ }
+ },
+ {
+ "icon": "question",
+ "type": "see-attached-textbox",
+ "title": "What is the goal of your application? How will people use it?",
+ "fieldName": "details.appDefinition.goal",
+ "description": "Describe your objectives for creating this application"
+ },
+ {
+ "icon": "question",
+ "type": "see-attached-textbox",
+ "title": "Who are the users of your application? ",
+ "fieldName": "details.appDefinition.users",
+ "description": "Describe the roles and needs of your target users"
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "hidden": true,
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)"
+ },
+ {
+ "id": "files",
+ "type": "files",
+ "title": "Files",
+ "category": "product",
+ "required": false,
+ "fieldName": "attachments",
+ "description": ""
+ }
+ ]
+ },
+ {
+ "id": "appScreens",
+ "title": "App Screens",
+ "required": true,
+ "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",
+ "type": "screens",
+ "title": "Screens",
+ "required": true,
+ "fieldName": "details.appScreens.screens",
+ "hideTitle": true,
+ "questions": [
+ {
+ "icon": "question",
+ "type": "textinput",
+ "title": "Screen name",
+ "required": true,
+ "fieldName": "name",
+ "description": "Describe your objectives for creating this application",
+ "validations": "isRequired",
+ "validationError": "Screen name cannot be blank"
+ },
+ {
+ "icon": "question",
+ "type": "textbox",
+ "title": "What are the things the user can do on this screen?",
+ "required": true,
+ "fieldName": "description",
+ "description": "What are the important features/capabilities that the screen provides to your end users?",
+ "validations": "isRequired",
+ "validationError": "Answer cannot be blank"
+ },
+ {
+ "icon": "question",
+ "type": "select-dropdown",
+ "title": "Screen importance",
+ "options": [
+ {
+ "title": "1",
+ "value": 1
+ },
+ {
+ "title": "2",
+ "value": 2
+ },
+ {
+ "title": "3",
+ "value": 3
+ },
+ {
+ "title": "4",
+ "value": 4
+ },
+ {
+ "title": "5",
+ "value": 5
+ },
+ {
+ "title": "6",
+ "value": 6
+ },
+ {
+ "title": "7",
+ "value": 7
+ },
+ {
+ "title": "8",
+ "value": 8
+ },
+ {
+ "title": "9",
+ "value": 9
+ },
+ {
+ "title": "10",
+ "value": 10
+ }
+ ],
+ "required": true,
+ "fieldName": "importanceLevel",
+ "description": "Pick how important is this screen for your project from 1 to 10"
+ }
+ ],
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications, budget or timing constraints)"
+ }
+ ]
+ },
+ {
+ "id": "designSpecification",
+ "title": "Design Guidelines",
+ "required": false,
+ "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",
+ "type": "questions",
+ "title": "Questions",
+ "required": false,
+ "hideTitle": true,
+ "questions": [
+ {
+ "id": "guidelines",
+ "type": "textbox",
+ "title": "Guidelines",
+ "fieldName": "details.designSpecification.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."
+ },
+ {
+ "id": "examples",
+ "type": "textbox",
+ "title": "Examples",
+ "fieldName": "details.designSpecification.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."
+ },
+ {
+ "id": "excludeExamples",
+ "type": "textbox",
+ "title": "Exclude Examples",
+ "fieldName": "details.designSpecification.excludeExamples",
+ "description": "On the other hand, are there any apps or sites that you dislike? Please provide links or examples."
+ }
+ ],
+ "description": ""
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": true,
+ "isAddOn": false,
+ "createdAt": "2018-12-07T07:34:28.000Z",
+ "updatedAt": "2020-01-22T13:22:42.557Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 63,
+ "name": "Dev/QA add-on 4 (non-generic)",
+ "productKey": "gtest-dev-qa-add-on-4",
+ "category": "test-product-category",
+ "subCategory": "test-product-category",
+ "icon": "../../assets/icons/product-design-wireframes",
+ "brief": "brief",
+ "details": "details",
+ "aliases": [
+ "gtest-dev-qa-add-on-4"
+ ],
+ "template": {},
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": true,
+ "isAddOn": true,
+ "createdAt": "2019-01-23T09:26:14.000Z",
+ "updatedAt": "2020-01-22T13:22:42.558Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 55,
+ "name": "Additional form factor",
+ "productKey": "generic-design-add-on-1",
+ "category": "generic",
+ "subCategory": "test-no-id",
+ "icon": "../../assets/icons/product-design-wireframes",
+ "brief": "brief",
+ "details": "details",
+ "aliases": [
+ "generic-design-add-on-1"
+ ],
+ "template": {},
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": false,
+ "isAddOn": true,
+ "createdAt": "2018-12-26T12:07:46.000Z",
+ "updatedAt": "2020-01-22T13:22:42.563Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 57,
+ "name": "10-15 additional screens",
+ "productKey": "gtest-design-add-on-3",
+ "category": "design",
+ "subCategory": "design",
+ "icon": "../../assets/icons/product-design-wireframes",
+ "brief": "brief",
+ "details": "details",
+ "aliases": [
+ "gtest-design-add-on-3"
+ ],
+ "template": {},
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": false,
+ "isAddOn": true,
+ "createdAt": "2018-12-26T12:08:33.000Z",
+ "updatedAt": "2020-01-22T13:22:42.563Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 56,
+ "name": "Zepplin app handoff",
+ "productKey": "generic-design-add-on-2",
+ "category": "generic",
+ "subCategory": "copydesign",
+ "icon": "../../assets/icons/product-design-wireframes",
+ "brief": "brief",
+ "details": "details",
+ "aliases": [
+ "generic-design-add-on-2"
+ ],
+ "template": {},
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": false,
+ "isAddOn": true,
+ "createdAt": "2018-12-26T12:08:16.000Z",
+ "updatedAt": "2020-01-22T13:22:42.564Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 170,
+ "name": "Wireframes",
+ "productKey": "challenge-WIREFRAMES",
+ "category": "design",
+ "subCategory": "challenge",
+ "icon": "challenge-WIREFRAMES",
+ "brief": "Wireframes",
+ "details": "Wireframes",
+ "aliases": [
+ "challenge-wireframes"
+ ],
+ "template": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "Sample Project",
+ "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",
+ "required": true,
+ "validationError": "Please let us know consumers of your application",
+ "title": "What type of question you want to see next?",
+ "description": "Description for the radio button type question",
+ "type": "radio-group",
+ "fieldName": "details.appDefinition.questionType",
+ "options": [
+ {
+ "value": "checkbox-group",
+ "label": "Checkbox Group"
+ },
+ {
+ "value": "slide-radiogroup",
+ "label": "Slide Radio Group"
+ },
+ {
+ "value": "tiled-radio-group",
+ "label": "Tiled Radio Group"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "required": true,
+ "validationError": "Validation error for tiled radio group question",
+ "title": "Sample tiled radio group question?",
+ "description": "Description for tiled radio group question",
+ "fieldName": "details.appDefinition.sampleTiledRadioGroup",
+ "type": "tiled-radio-group",
+ "condition": "details.appDefinition.questionType == 'tiled-radio-group'",
+ "options": [
+ {
+ "value": "value1",
+ "title": "Value 1",
+ "icon": "icon-test-unstructured",
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "desc": ""
+ },
+ {
+ "value": "value2",
+ "title": "Value 2",
+ "icon": "icon-test-structured",
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "desc": ""
+ },
+ {
+ "value": "value3",
+ "title": "Value 3",
+ "icon": "icon-dont-know",
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "desc": ""
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Sample Checkbox group type question",
+ "description": "Description for checkbox group type question",
+ "fieldName": "details.appDefinition.sampleCheckboxGroup",
+ "type": "checkbox-group",
+ "condition": "details.appDefinition.questionType == 'checkbox-group'",
+ "options": [
+ {
+ "value": "value1",
+ "label": "Value 1"
+ },
+ {
+ "value": "value2",
+ "label": "Value 2"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "description": "How much budget do you have?",
+ "title": "Sample Slide Radio Group type question",
+ "fieldName": "details.appDefinition.sampleSlideRadioGroup",
+ "type": "slide-radiogroup",
+ "condition": "details.appDefinition.questionType == '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 value for sample radio group question"
+ }
+ ]
+ },
+ {
+ "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"
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": false,
+ "isAddOn": false,
+ "createdAt": "2019-08-06T06:06:31.000Z",
+ "updatedAt": "2020-01-22T13:22:42.559Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 171,
+ "name": "Test Suites",
+ "productKey": "challenge-TEST_SUITES",
+ "category": "test-product-category",
+ "subCategory": "challenge",
+ "icon": "challenge-TEST_SUITES",
+ "brief": "Test Suites",
+ "details": "Test Suites",
+ "aliases": [
+ "challenge-test_suites"
+ ],
+ "template": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "Sample Project",
+ "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",
+ "required": true,
+ "validationError": "Please let us know consumers of your application",
+ "title": "What type of question you want to see next?",
+ "description": "Description for the radio button type question",
+ "type": "radio-group",
+ "fieldName": "details.appDefinition.questionType",
+ "options": [
+ {
+ "value": "checkbox-group",
+ "label": "Checkbox Group"
+ },
+ {
+ "value": "slide-radiogroup",
+ "label": "Slide Radio Group"
+ },
+ {
+ "value": "tiled-radio-group",
+ "label": "Tiled Radio Group"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "required": true,
+ "validationError": "Validation error for tiled radio group question",
+ "title": "Sample tiled radio group question?",
+ "description": "Description for tiled radio group question",
+ "fieldName": "details.appDefinition.sampleTiledRadioGroup",
+ "type": "tiled-radio-group",
+ "condition": "details.appDefinition.questionType == 'tiled-radio-group'",
+ "options": [
+ {
+ "value": "value1",
+ "title": "Value 1",
+ "icon": "icon-test-unstructured",
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "desc": ""
+ },
+ {
+ "value": "value2",
+ "title": "Value 2",
+ "icon": "icon-test-structured",
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "desc": ""
+ },
+ {
+ "value": "value3",
+ "title": "Value 3",
+ "icon": "icon-dont-know",
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "desc": ""
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Sample Checkbox group type question",
+ "description": "Description for checkbox group type question",
+ "fieldName": "details.appDefinition.sampleCheckboxGroup",
+ "type": "checkbox-group",
+ "condition": "details.appDefinition.questionType == 'checkbox-group'",
+ "options": [
+ {
+ "value": "value1",
+ "label": "Value 1"
+ },
+ {
+ "value": "value2",
+ "label": "Value 2"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "description": "How much budget do you have?",
+ "title": "Sample Slide Radio Group type question",
+ "fieldName": "details.appDefinition.sampleSlideRadioGroup",
+ "type": "slide-radiogroup",
+ "condition": "details.appDefinition.questionType == '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 value for sample radio group question"
+ }
+ ]
+ },
+ {
+ "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"
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": false,
+ "isAddOn": false,
+ "createdAt": "2019-08-06T06:07:45.000Z",
+ "updatedAt": "2020-01-22T13:22:42.559Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 69,
+ "name": "UI Prototype",
+ "productKey": "ui-prototype",
+ "category": "design",
+ "subCategory": "design",
+ "icon": "../../assets/icons/product-design-wireframes",
+ "brief": "UI Prototype",
+ "details": "You'll get to pick one form factor: desktop, tablet or mobile.",
+ "aliases": [
+ "ui-prototype"
+ ],
+ "template": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "Sample Project",
+ "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",
+ "type": "project-name",
+ "title": "Project Name",
+ "required": true,
+ "fieldName": "name",
+ "description": "",
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "id": "questions",
+ "type": "questions",
+ "title": "Questions",
+ "required": true,
+ "hideTitle": true,
+ "questions": [
+ {
+ "id": "projectInfo",
+ "type": "textbox",
+ "title": "Description",
+ "fieldName": "description",
+ "description": "Brief Description",
+ "validations": "isRequired,minLength:160",
+ "validationErrors": {
+ "minLength": "Please enter at least 160 characters",
+ "isRequired": "Please provide a description"
+ }
+ },
+ {
+ "icon": "question",
+ "type": "radio-group",
+ "title": "What type of question you want to see next?",
+ "options": [
+ {
+ "label": "Checkbox Group",
+ "value": "checkbox-group"
+ },
+ {
+ "label": "Slide Radio Group",
+ "value": "slide-radiogroup"
+ },
+ {
+ "label": "Tiled Radio Group",
+ "value": "tiled-radio-group"
+ }
+ ],
+ "required": true,
+ "fieldName": "details.appDefinition.questionType",
+ "description": "Description for the radio button type question",
+ "validationError": "Please let us know consumers of your application"
+ },
+ {
+ "icon": "question",
+ "type": "tiled-radio-group",
+ "title": "Sample tiled radio group question?",
+ "options": [
+ {
+ "desc": "",
+ "icon": "icon-test-unstructured",
+ "title": "Value 1",
+ "value": "value1",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-test-structured",
+ "title": "Value 2",
+ "value": "value2",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-dont-know",
+ "title": "Value 3",
+ "value": "value3",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'tiled-radio-group'",
+ "fieldName": "details.appDefinition.sampleTiledRadioGroup",
+ "description": "Description for tiled radio group question",
+ "validationError": "Validation error for tiled radio group question"
+ },
+ {
+ "icon": "question",
+ "type": "checkbox-group",
+ "title": "Sample Checkbox group type question",
+ "options": [
+ {
+ "label": "Value 1",
+ "value": "value1"
+ },
+ {
+ "label": "Value 2",
+ "value": "value2"
+ }
+ ],
+ "condition": "details.appDefinition.questionType == 'checkbox-group'",
+ "fieldName": "details.appDefinition.sampleCheckboxGroup",
+ "description": "Description for checkbox group type question"
+ },
+ {
+ "icon": "question",
+ "type": "slide-radiogroup",
+ "title": "Sample Slide Radio Group type question",
+ "options": [
+ {
+ "title": "Under $25K ",
+ "value": "upto-25"
+ },
+ {
+ "title": "$25K to $50K",
+ "value": "upto-50"
+ },
+ {
+ "title": "$50K to $75K",
+ "value": "upto-75"
+ },
+ {
+ "title": "$75K to $100K",
+ "value": "upto-100"
+ },
+ {
+ "title": "More than $100K",
+ "value": "above-100"
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'slide-radiogroup'",
+ "fieldName": "details.appDefinition.sampleSlideRadioGroup",
+ "description": "How much budget do you have?",
+ "validationError": "Please provide value for sample radio group question"
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g. links to documents or existing applications)"
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": false,
+ "isAddOn": true,
+ "createdAt": "2019-03-04T06:48:08.000Z",
+ "updatedAt": "2020-01-22T13:22:42.560Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 15,
+ "name": "Visual Design",
+ "productKey": "visual_design_prod",
+ "category": "generic",
+ "subCategory": "generic",
+ "icon": "product-design-app-visual",
+ "brief": "1-15 screens",
+ "details": "Create development-ready designs",
+ "aliases": [
+ "visual-design",
+ "visual_design_prod"
+ ],
+ "template": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "Visual 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",
+ "type": "project-name",
+ "title": "Project Name",
+ "hidden": true,
+ "required": true,
+ "fieldName": "name",
+ "description": "",
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "id": "questions",
+ "type": "questions",
+ "title": "Questions",
+ "required": true,
+ "hideTitle": true,
+ "questions": [
+ {
+ "icon": "question",
+ "type": "tiled-radio-group",
+ "title": "How many screens do you need designed?",
+ "hidden": true,
+ "options": [
+ {
+ "desc": "5-7 days",
+ "icon": "NumberText",
+ "title": "screens",
+ "value": "1-3",
+ "quoteUp": 0,
+ "maxTimeUp": 0,
+ "minTimeUp": 0,
+ "iconOptions": {
+ "number": "1-3"
+ }
+ },
+ {
+ "desc": "7-10 days",
+ "icon": "NumberText",
+ "title": "screens",
+ "value": "4-8",
+ "quoteUp": 2000,
+ "maxTimeUp": 5,
+ "minTimeUp": 3,
+ "iconOptions": {
+ "number": "4-8"
+ }
+ },
+ {
+ "desc": "8-10 days",
+ "icon": "NumberText",
+ "title": "screens",
+ "value": "9-15",
+ "quoteUp": 3500,
+ "maxTimeUp": 12,
+ "minTimeUp": 8,
+ "iconOptions": {
+ "number": "9-15"
+ }
+ }
+ ],
+ "fieldName": "details.appDefinition.numberScreens",
+ "description": "This is the most popular project size that can get a medium-sized app designed in a breeze",
+ "affectsQuickQuote": true
+ },
+ {
+ "icon": "question",
+ "type": "tiled-radio-group",
+ "title": "Which is your primary device target?",
+ "hidden": true,
+ "options": [
+ {
+ "desc": "iOS, Android, Hybrid",
+ "icon": "icon-tech-outline-mobile",
+ "title": "Phone",
+ "value": "Phone",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "iOS, Android, Hybrid",
+ "icon": "icon-tech-outline-tablet",
+ "title": "Tablet",
+ "value": "Tablet",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "all OS",
+ "icon": "icon-tech-outline-desktop",
+ "title": "Desktop",
+ "value": "Desktop",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "Watch OS, Android Wear",
+ "icon": "icon-tech-outline-watch-apple",
+ "title": "Wearable",
+ "value": "Wearable",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ }
+ ],
+ "fieldName": "details.appDefinition.primaryTarget",
+ "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."
+ },
+ {
+ "id": "projectInfo",
+ "icon": "question",
+ "type": "textbox",
+ "title": "Description",
+ "hidden": true,
+ "fieldName": "description",
+ "description": "Brief Description",
+ "validations": "isRequired,minLength:160",
+ "validationErrors": {
+ "minLength": "Please enter at least 160 characters",
+ "isRequired": "Please provide a description"
+ }
+ },
+ {
+ "icon": "question",
+ "type": "see-attached-textbox",
+ "title": "What is the goal of your application? How will people use it?",
+ "hidden": true,
+ "fieldName": "details.appDefinition.goal",
+ "description": "Describe your objectives for creating this application"
+ },
+ {
+ "icon": "question",
+ "type": "see-attached-textbox",
+ "title": "Who are the users of your application? ",
+ "hidden": true,
+ "fieldName": "details.appDefinition.users",
+ "description": "Describe the roles and needs of your target users"
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "hidden": true,
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)"
+ },
+ {
+ "id": "files",
+ "type": "files",
+ "title": "Files",
+ "category": "product",
+ "required": false,
+ "fieldName": "attachments",
+ "description": ""
+ }
+ ]
+ },
+ {
+ "id": "appScreens",
+ "title": "App Screens",
+ "required": true,
+ "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",
+ "type": "screens",
+ "title": "Screens",
+ "required": true,
+ "fieldName": "details.appScreens.screens",
+ "hideTitle": true,
+ "questions": [
+ {
+ "icon": "question",
+ "type": "textinput",
+ "title": "Screen name",
+ "required": true,
+ "fieldName": "name",
+ "description": "Describe your objectives for creating this application",
+ "validations": "isRequired",
+ "validationError": "Screen name cannot be blank"
+ },
+ {
+ "icon": "question",
+ "type": "textbox",
+ "title": "What are the things the user can do on this screen?",
+ "required": true,
+ "fieldName": "description",
+ "description": "What are the important features/capabilities that the screen provides to your end users?",
+ "validations": "isRequired",
+ "validationError": "Answer cannot be blank"
+ },
+ {
+ "icon": "question",
+ "type": "select-dropdown",
+ "title": "Screen importance",
+ "options": [
+ {
+ "title": "1",
+ "value": 1
+ },
+ {
+ "title": "2",
+ "value": 2
+ },
+ {
+ "title": "3",
+ "value": 3
+ },
+ {
+ "title": "4",
+ "value": 4
+ },
+ {
+ "title": "5",
+ "value": 5
+ },
+ {
+ "title": "6",
+ "value": 6
+ },
+ {
+ "title": "7",
+ "value": 7
+ },
+ {
+ "title": "8",
+ "value": 8
+ },
+ {
+ "title": "9",
+ "value": 9
+ },
+ {
+ "title": "10",
+ "value": 10
+ }
+ ],
+ "required": true,
+ "fieldName": "importanceLevel",
+ "description": "Pick how important is this screen for your project from 1 to 10"
+ }
+ ],
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications, budget or timing constraints)"
+ }
+ ]
+ },
+ {
+ "id": "designSpecification",
+ "title": "Design Guidelines",
+ "required": false,
+ "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",
+ "type": "questions",
+ "title": "Questions",
+ "required": false,
+ "hideTitle": true,
+ "questions": [
+ {
+ "id": "guidelines",
+ "type": "textbox",
+ "title": "Guidelines",
+ "fieldName": "details.designSpecification.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."
+ },
+ {
+ "id": "examples",
+ "type": "textbox",
+ "title": "Examples",
+ "fieldName": "details.designSpecification.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."
+ },
+ {
+ "id": "excludeExamples",
+ "type": "textbox",
+ "title": "Exclude Examples",
+ "fieldName": "details.designSpecification.excludeExamples",
+ "description": "On the other hand, are there any apps or sites that you dislike? Please provide links or examples."
+ }
+ ],
+ "description": ""
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": false,
+ "isAddOn": false,
+ "createdAt": "2018-06-02T15:44:40.000Z",
+ "updatedAt": "2020-01-22T13:22:42.560Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 90,
+ "name": "Automation Testing",
+ "productKey": "automation-testing",
+ "category": "development",
+ "subCategory": "testing",
+ "icon": "product-qa-crowd-testing",
+ "brief": "Automation Testing",
+ "details": "Automation Testing",
+ "aliases": [
+ "automation-testing"
+ ],
+ "template": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "Sample Project",
+ "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",
+ "type": "project-name",
+ "title": "Project Name",
+ "required": true,
+ "fieldName": "name",
+ "description": "",
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "id": "questions",
+ "type": "questions",
+ "title": "Questions",
+ "required": true,
+ "hideTitle": true,
+ "questions": [
+ {
+ "id": "projectInfo",
+ "type": "textbox",
+ "title": "Description",
+ "fieldName": "description",
+ "description": "Brief Description",
+ "validations": "isRequired,minLength:160",
+ "validationErrors": {
+ "minLength": "Please enter at least 160 characters",
+ "isRequired": "Please provide a description"
+ }
+ },
+ {
+ "icon": "question",
+ "type": "radio-group",
+ "title": "What type of question you want to see next?",
+ "options": [
+ {
+ "label": "Checkbox Group",
+ "value": "checkbox-group"
+ },
+ {
+ "label": "Slide Radio Group",
+ "value": "slide-radiogroup"
+ },
+ {
+ "label": "Tiled Radio Group",
+ "value": "tiled-radio-group"
+ }
+ ],
+ "required": true,
+ "fieldName": "details.appDefinition.questionType",
+ "description": "Description for the radio button type question",
+ "validationError": "Please let us know consumers of your application"
+ },
+ {
+ "icon": "question",
+ "type": "tiled-radio-group",
+ "title": "Sample tiled radio group question?",
+ "options": [
+ {
+ "desc": "",
+ "icon": "icon-test-unstructured",
+ "title": "Value 1",
+ "value": "value1",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-test-structured",
+ "title": "Value 2",
+ "value": "value2",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-dont-know",
+ "title": "Value 3",
+ "value": "value3",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'tiled-radio-group'",
+ "fieldName": "details.appDefinition.sampleTiledRadioGroup",
+ "description": "Description for tiled radio group question",
+ "validationError": "Validation error for tiled radio group question"
+ },
+ {
+ "icon": "question",
+ "type": "checkbox-group",
+ "title": "Sample Checkbox group type question",
+ "options": [
+ {
+ "label": "Value 1",
+ "value": "value1"
+ },
+ {
+ "label": "Value 2",
+ "value": "value2"
+ }
+ ],
+ "condition": "details.appDefinition.questionType == 'checkbox-group'",
+ "fieldName": "details.appDefinition.sampleCheckboxGroup",
+ "description": "Description for checkbox group type question"
+ },
+ {
+ "icon": "question",
+ "type": "slide-radiogroup",
+ "title": "Sample Slide Radio Group type question",
+ "options": [
+ {
+ "title": "Under $25K ",
+ "value": "upto-25"
+ },
+ {
+ "title": "$25K to $50K",
+ "value": "upto-50"
+ },
+ {
+ "title": "$50K to $75K",
+ "value": "upto-75"
+ },
+ {
+ "title": "$75K to $100K",
+ "value": "upto-100"
+ },
+ {
+ "title": "More than $100K",
+ "value": "above-100"
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'slide-radiogroup'",
+ "fieldName": "details.appDefinition.sampleSlideRadioGroup",
+ "description": "How much budget do you have?",
+ "validationError": "Please provide value for sample radio group question"
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g. links to documents or existing applications)"
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": false,
+ "isAddOn": true,
+ "createdAt": "2019-03-04T07:25:53.000Z",
+ "updatedAt": "2020-01-22T13:22:42.561Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 9,
+ "name": "caas-intake",
+ "productKey": "caas_intake",
+ "category": "generic",
+ "subCategory": "generic",
+ "icon": "product-app-app",
+ "brief": "CaaS",
+ "details": "CaaS",
+ "aliases": [
+ "caas-intake",
+ "caas",
+ "caas_intake"
+ ],
+ "template": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "caas-intake",
+ "required": true,
+ "description": "Welcome to your own private Gig Crowd",
+ "subSections": [
+ {
+ "id": "projectName",
+ "type": "project-name",
+ "title": "Project Name",
+ "hidden": true,
+ "required": true,
+ "fieldName": "name",
+ "description": "",
+ "validationError": "Please provide a name to your project"
+ },
+ {
+ "id": "questions",
+ "type": "questions",
+ "title": "Questions",
+ "required": true,
+ "hideTitle": true,
+ "questions": [
+ {
+ "id": "projectInfo",
+ "type": "textbox",
+ "title": "Description",
+ "hidden": true,
+ "fieldName": "description",
+ "description": "Brief describe your application",
+ "validations": "isRequired,minLength:160",
+ "validationErrors": {
+ "minLength": "Please enter at least 160 characters",
+ "isRequired": "Please describe your application."
+ }
+ },
+ {
+ "icon": "question",
+ "type": "textbox",
+ "title": "How many full time resources do you need?",
+ "hidden": true,
+ "required": true,
+ "fieldName": "details.resources.total",
+ "description": "",
+ "validationError": "Please enter number of resources"
+ },
+ {
+ "icon": "question",
+ "type": "slide-radiogroup",
+ "title": "How many months do you need the resource for",
+ "hidden": true,
+ "options": [
+ {
+ "title": "1",
+ "value": "1"
+ },
+ {
+ "title": "2",
+ "value": "2"
+ },
+ {
+ "title": "3",
+ "value": "3"
+ },
+ {
+ "title": "4",
+ "value": "4"
+ },
+ {
+ "title": "5",
+ "value": "5"
+ },
+ {
+ "title": "6",
+ "value": "6"
+ },
+ {
+ "title": "7",
+ "value": "7"
+ },
+ {
+ "title": "8",
+ "value": "8"
+ },
+ {
+ "title": "9",
+ "value": "9"
+ },
+ {
+ "title": "10",
+ "value": "10"
+ },
+ {
+ "title": "11",
+ "value": "11"
+ },
+ {
+ "title": "12",
+ "value": "12"
+ }
+ ],
+ "required": true,
+ "fieldName": "details.resources.months",
+ "description": "",
+ "validationError": "Please select one"
+ },
+ {
+ "icon": "question",
+ "type": "checkbox-group",
+ "title": "What skills do you need?",
+ "hidden": true,
+ "options": [
+ {
+ "label": "iOS",
+ "value": "ios"
+ },
+ {
+ "label": "Data Science",
+ "value": "data-sci"
+ },
+ {
+ "label": "Android",
+ "value": "android"
+ },
+ {
+ "label": "java",
+ "value": "java"
+ },
+ {
+ "label": ".NET",
+ "value": "dotnet"
+ },
+ {
+ "label": "NodeJS",
+ "value": "node"
+ },
+ {
+ "label": "Javascript",
+ "value": "javascript"
+ },
+ {
+ "label": "ReactJS",
+ "value": "react"
+ },
+ {
+ "label": "AngularJS",
+ "value": "angular"
+ }
+ ],
+ "fieldName": "details.resources.skills",
+ "description": ""
+ },
+ {
+ "icon": "question",
+ "type": "slide-radiogroup",
+ "title": "What is the typical hourly rate you are paying?",
+ "hidden": true,
+ "options": [
+ {
+ "title": "Under $30",
+ "value": "under30"
+ },
+ {
+ "title": "Under $60",
+ "value": "under60"
+ },
+ {
+ "title": "Under $80",
+ "value": "under80"
+ },
+ {
+ "title": "Under $100",
+ "value": "under100"
+ },
+ {
+ "title": "Under $125",
+ "value": "under125"
+ },
+ {
+ "title": "Under $150",
+ "value": "under150"
+ },
+ {
+ "title": "Over $150",
+ "value": "over150"
+ }
+ ],
+ "fieldName": "details.resources.hourlyrate",
+ "description": ""
+ },
+ {
+ "icon": "question",
+ "type": "slide-radiogroup",
+ "title": "What language would you like to interact with the team?",
+ "hidden": true,
+ "options": [
+ {
+ "title": "English",
+ "value": "english"
+ },
+ {
+ "title": "Spanish",
+ "value": "spanish"
+ },
+ {
+ "title": "German",
+ "value": "german"
+ },
+ {
+ "title": "Japanese",
+ "value": "japanese"
+ },
+ {
+ "title": "Other",
+ "value": "other"
+ }
+ ],
+ "fieldName": "details.resources.hourlyrate",
+ "description": ""
+ },
+ {
+ "type": "textbox",
+ "title": "Project Tools you utilize for interacting with developers",
+ "hidden": true,
+ "fieldName": "details.resources.tooling",
+ "description": "Please List all project tools you normally interact with"
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "notes",
+ "type": "notes",
+ "title": "Additional Notes",
+ "hidden": true,
+ "fieldName": "details.appDefinition.notes",
+ "description": "Please detail any other additional information. After completing this form, you'll be able to add additional information about your code base"
+ }
+ ]
+ },
+ {
+ "id": "optionals",
+ "title": "Code base",
+ "required": false,
+ "description": "Please provide us access to your codebase below or contact Topcoder through your dashboard.",
+ "subSections": [
+ {
+ "id": "additional",
+ "type": "questions",
+ "title": "Codebase questions",
+ "required": false,
+ "questions": [
+ {
+ "icon": "question",
+ "type": "textbox",
+ "title": "Please provide a URL to your code base repository",
+ "fieldName": "details.security.codeURL",
+ "description": "(if you prefer you can also upload your code below)"
+ },
+ {
+ "icon": "question",
+ "type": "textbox",
+ "title": "Please provide Topcoder with any additional information about accessing your code base",
+ "fieldName": "details.security.additionalInfo",
+ "description": ""
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "files",
+ "type": "files",
+ "title": "Files",
+ "category": "product",
+ "required": false,
+ "fieldName": "attachments",
+ "description": ""
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": true,
+ "isAddOn": false,
+ "createdAt": "2018-06-02T14:23:13.000Z",
+ "updatedAt": "2020-01-22T13:22:42.561Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 17,
+ "name": "Other Design",
+ "productKey": "generic_design",
+ "category": "generic",
+ "subCategory": "generic--NEW",
+ "icon": "product-design-other",
+ "brief": "other designs",
+ "details": "Get help with other types of design",
+ "aliases": [
+ "generic-design",
+ "generic_design"
+ ],
+ "template": {
+ "sections": [
+ {
+ "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",
+ "type": "project-name",
+ "title": "Project Name",
+ "hidden": true,
+ "required": true,
+ "fieldName": "name",
+ "description": "",
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "id": "projectInfo",
+ "type": "notes",
+ "title": "Project Info",
+ "hidden": true,
+ "required": true,
+ "fieldName": "description",
+ "description": "Description"
+ },
+ {
+ "id": "questions",
+ "type": "questions",
+ "title": "Questions",
+ "required": true,
+ "questions": [
+ {
+ "icon": "question",
+ "type": "see-attached-textbox",
+ "title": "What is the goal of your application? How will people use it?",
+ "hidden": true,
+ "fieldName": "details.appDefinition.goal",
+ "description": "Describe your objectives for creating this application"
+ },
+ {
+ "icon": "question",
+ "type": "see-attached-textbox",
+ "title": "Who are the users of your application? ",
+ "hidden": true,
+ "fieldName": "details.appDefinition.users",
+ "description": "Describe the roles and needs of your target users"
+ },
+ {
+ "icon": "question",
+ "type": "see-attached-features",
+ "title": "Feature requirements",
+ "fieldName": "details.appDefinition.features",
+ "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."
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "hidden": true,
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications, budget or timing constraints)"
+ },
+ {
+ "id": "files",
+ "type": "files",
+ "title": "Files",
+ "category": "product",
+ "required": false,
+ "fieldName": "attachments",
+ "description": ""
+ }
+ ]
+ },
+ {
+ "id": "designSpecification",
+ "title": "Design Specification",
+ "required": false,
+ "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",
+ "type": "questions",
+ "title": "Questions",
+ "required": false,
+ "questions": [
+ {
+ "icon": "question",
+ "type": "tiled-radio-group",
+ "title": "What font style do you prefer? (Pick one)",
+ "options": [
+ {
+ "desc": "formal, old style",
+ "icon": "icon-tc-spec-type-serif",
+ "title": "Serif",
+ "value": "serif",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "clean, modern, informal",
+ "icon": "icon-tc-spec-type-sans-serif",
+ "title": "Sans Serif",
+ "value": "sanSerif",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ }
+ ],
+ "fieldName": "details.designSpecification.fontStyle",
+ "description": "The typography used in your designs will fit within these broad font styles"
+ },
+ {
+ "icon": "question",
+ "type": "colors",
+ "title": "What colors do you like? (Select all that apply)",
+ "fieldName": "details.designSpecification.colors",
+ "description": "Your preferred colors will be used to guide the shading in your designs",
+ "defaultColors": []
+ },
+ {
+ "icon": "question",
+ "type": "tiled-radio-group",
+ "title": "What icon style do you prefer? (Pick one)",
+ "options": [
+ {
+ "desc": "playful",
+ "icon": "icon-tc-spec-icon-type-color-home",
+ "title": "Flat Color",
+ "value": "flatColor",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "modern",
+ "icon": "icon-tc-spec-icon-type-outline-home",
+ "title": "Thin Line",
+ "value": "thinLine",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "classic",
+ "icon": "icon-tc-spec-icon-type-glyph-home",
+ "title": "Solid Line",
+ "value": "solidLine",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ }
+ ],
+ "fieldName": "details.designSpecification.iconStyle",
+ "description": "Icons within your designs will follow these styles"
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "required": false,
+ "fieldName": "details.designSpecification.notes",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications, budget or timing constraints)"
+ }
+ ]
+ },
+ {
+ "id": "devSpecification",
+ "title": "Development Specification",
+ "required": false,
+ "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.",
+ "subSections": [
+ {
+ "id": "questions",
+ "type": "questions",
+ "title": "Questions",
+ "required": false,
+ "questions": [
+ {
+ "icon": "question",
+ "type": "checkbox-group",
+ "title": "How should your application be built?",
+ "options": [
+ {
+ "label": "iOS",
+ "value": "ios"
+ },
+ {
+ "label": "Android",
+ "value": "android"
+ },
+ {
+ "label": "Web",
+ "value": "web"
+ },
+ {
+ "label": "Hybrid",
+ "value": "hybrid"
+ }
+ ],
+ "fieldName": "details.devSpecification.platform",
+ "description": "Choose the operating system/platform for your application"
+ },
+ {
+ "icon": "question",
+ "type": "radio-group",
+ "title": "Is offline access required for your application?",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "true"
+ },
+ {
+ "label": "No",
+ "value": "false"
+ }
+ ],
+ "fieldName": "details.devSpecification.offlineAccess",
+ "description": "Do your users need to use the application when they are unable to connect to the internet?"
+ },
+ {
+ "icon": "question",
+ "type": "radio-group",
+ "title": "What level of security is needed for your application?",
+ "options": [
+ {
+ "label": "Standard - Nothing to do here",
+ "value": "standard"
+ },
+ {
+ "label": "Enhanced",
+ "value": "enhanced"
+ },
+ {
+ "label": "Maximum",
+ "value": "maximumm"
+ }
+ ],
+ "fieldName": "details.devSpecification.securityLevel",
+ "description": "Do you expect to be storing or transmitting personal or sensitive information?"
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "required": false,
+ "fieldName": "details.devSpecification.notes",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications, budget or timing constraints)"
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": true,
+ "isAddOn": false,
+ "createdAt": "2018-06-02T15:48:23.000Z",
+ "updatedAt": "2020-01-22T13:22:42.562Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 18,
+ "name": "Real World Testing",
+ "productKey": "real_world_testing",
+ "category": "generic",
+ "subCategory": "generic",
+ "icon": "product-qa-crowd-testing",
+ "brief": "TBD",
+ "details": "Exploratory Testing, Cross browser-device Testing",
+ "aliases": [
+ "real-world-testing",
+ "real_world_testing"
+ ],
+ "template": {
+ "sections": [
+ {
+ "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",
+ "type": "project-name",
+ "title": "Project Name",
+ "hidden": true,
+ "required": true,
+ "fieldName": "name",
+ "description": "",
+ "validationError": "Please provide a name to your project"
+ },
+ {
+ "id": "questions",
+ "type": "questions",
+ "title": "Questions",
+ "required": true,
+ "hideTitle": true,
+ "questions": [
+ {
+ "icon": "question",
+ "type": "tiled-radio-group",
+ "title": "What kind of crowd testing are you interested in?",
+ "hidden": true,
+ "options": [
+ {
+ "desc": "",
+ "icon": "icon-test-unstructured",
+ "price": 6315,
+ "title": "Unstructured",
+ "value": "unstructured",
+ "iconOptions": {
+ "fill": "#00000",
+ "filePath": "icon-test-unstructured"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-test-structured",
+ "price": 6351,
+ "title": "Structured",
+ "value": "structured",
+ "iconOptions": {
+ "fill": "#00000",
+ "filePath": "icon-test-structured"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-dont-know",
+ "title": "Do not know",
+ "value": "dontKnow",
+ "iconOptions": {
+ "fill": "#00000",
+ "filePath": "icon-dont-know"
+ }
+ }
+ ],
+ "required": true,
+ "fieldName": "details.appDefinition.testType",
+ "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.",
+ "validationError": "Please let us know what kind of testing you would like to execute"
+ },
+ {
+ "icon": "question",
+ "type": "radio-group",
+ "title": "Do you have test cases written?",
+ "hidden": true,
+ "options": [
+ {
+ "label": "Yes I have test cases.",
+ "value": "true"
+ },
+ {
+ "label": "No I do not have test cases.",
+ "value": "false"
+ }
+ ],
+ "required": true,
+ "fieldName": "details.appDefinition.expectedHours",
+ "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!",
+ "validationError": "Please let us know if you have test cases."
+ },
+ {
+ "id": "projectInfo",
+ "type": "textbox",
+ "title": "Description",
+ "hidden": true,
+ "fieldName": "description",
+ "description": "Brief Description",
+ "validations": "isRequired,minLength:160",
+ "validationErrors": {
+ "minLength": "Please enter at least 160 characters",
+ "isRequired": "Please provide a description"
+ }
+ },
+ {
+ "icon": "question",
+ "type": "textbox",
+ "title": "Please tell us about your users.",
+ "hidden": true,
+ "fieldName": "details.appDefinition.userInfo",
+ "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."
+ },
+ {
+ "icon": "question",
+ "type": "tiled-radio-group",
+ "title": "Which is your primary device target?",
+ "hidden": true,
+ "options": [
+ {
+ "desc": "iOS, Android, Hybrid",
+ "icon": "icon-tech-outline-mobile",
+ "title": "Phone",
+ "value": "phone",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "iOS, Android, Hybrid",
+ "icon": "icon-tech-outline-tablet",
+ "title": "Tablet",
+ "value": "tablet",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "all OS",
+ "icon": "icon-tech-outline-desktop",
+ "title": "Desktop",
+ "value": "desktop",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "Watch OS, Android Wear",
+ "icon": "icon-tech-outline-watch-apple",
+ "title": "Wearable",
+ "value": "wearable",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ }
+ ],
+ "fieldName": "details.appDefinition.primaryTarget",
+ "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."
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "hidden": true,
+ "fieldName": "details.appDefinition.notes",
+ "description": "Please enter any additional information like requirements and/or test cases. After creating your project you will be able to upload files."
+ }
+ ]
+ },
+ {
+ "id": "testingNeeds",
+ "title": "Testing Needs",
+ "required": false,
+ "description": "Please answer these additional questions to better help us understand your needs.",
+ "subSections": [
+ {
+ "id": "scope",
+ "type": "questions",
+ "title": "Scope",
+ "required": false,
+ "questions": [
+ {
+ "id": "testingNeeds.description",
+ "icon": "question",
+ "type": "textbox",
+ "title": "Please describe your website and/or application.",
+ "fieldName": "details.testingNeeds.description",
+ "description": ""
+ },
+ {
+ "id": "testingNeeds.inScope",
+ "icon": "question",
+ "type": "textbox",
+ "title": "Please describe which features or components are in-scope in this testing effort.",
+ "fieldName": "details.testingNeeds.inScope",
+ "description": ""
+ },
+ {
+ "id": "testingNeeds.outOfScope",
+ "icon": "question",
+ "type": "textbox",
+ "title": "Are any features or components out of scope? If yes, please describe.",
+ "fieldName": "details.testingNeeds.outOfScope",
+ "description": ""
+ },
+ {
+ "id": "testingNeeds.duration",
+ "icon": "question",
+ "type": "textbox",
+ "title": "Do you have a specific timeline for testing? If so, please provide approximate start and end dates.",
+ "fieldName": "details.testingNeeds.duration",
+ "description": ""
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "testerDetails",
+ "type": "questions",
+ "title": "Tester Details",
+ "required": false,
+ "questions": [
+ {
+ "id": "testerDetails.demographics",
+ "icon": "question",
+ "type": "textbox",
+ "title": "Do you have preferred demographics you would like to target?",
+ "fieldName": "details.testerDetails.demographics",
+ "description": ""
+ },
+ {
+ "id": "testerDetails.geographies",
+ "icon": "question",
+ "type": "textbox",
+ "title": "Would you like to target any specific geographies?",
+ "fieldName": "details.testerDetails.geographies",
+ "description": ""
+ },
+ {
+ "id": "testerDetails.skills",
+ "icon": "question",
+ "type": "textbox",
+ "title": "Are any specific skills required to test your application? If so, please list them.",
+ "fieldName": "details.testerDetails.skills",
+ "description": ""
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "testEnvironment",
+ "type": "questions",
+ "title": "Testing Enviroment",
+ "required": false,
+ "questions": [
+ {
+ "id": "testEnvironment.environmentDetails",
+ "icon": "question",
+ "type": "textbox",
+ "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.",
+ "fieldName": "details.testEnvironment.environmentDetails",
+ "description": ""
+ },
+ {
+ "id": "testEnvironment.assets",
+ "icon": "question",
+ "type": "textbox",
+ "title": "Are any test assets available? For exmaple: test plan, test scenario, test scripts, test data.",
+ "fieldName": "details.testEnvironment.assets",
+ "description": ""
+ },
+ {
+ "id": "testEnvironment.other",
+ "icon": "question",
+ "type": "textbox",
+ "title": "Are there any other specific details related to the environment you can share?",
+ "fieldName": "details.testEnvironment.otherInformation",
+ "description": ""
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "targetApplication",
+ "type": "questions",
+ "title": "Target Application",
+ "required": false,
+ "questions": [
+ {
+ "id": "targetApplication.description",
+ "icon": "question",
+ "type": "textbox",
+ "title": "Please describe your application.",
+ "fieldName": "details.targetApplication.description",
+ "description": ""
+ },
+ {
+ "id": "targetApplication.platform",
+ "icon": "question",
+ "type": "textbox",
+ "title": "Please list all platforms the application should be tested on.",
+ "fieldName": "details.targetApplication.platform",
+ "description": ""
+ },
+ {
+ "id": "targetApplication.training",
+ "icon": "question",
+ "type": "textbox",
+ "title": "Does the application require training to utilize it properly? If so, are you able to provide these inputs?",
+ "fieldName": "details.targetApplication.training",
+ "description": ""
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "cyclePreferences",
+ "type": "questions",
+ "title": "Test Cycle Preferences",
+ "required": false,
+ "questions": [
+ {
+ "id": "preferences.suggestions",
+ "icon": "question",
+ "type": "textbox",
+ "title": "Would you like usability suggestions included in the issue report?",
+ "fieldName": "details.cyclePreferences.usabilitySuggestions",
+ "description": ""
+ },
+ {
+ "id": "preferences.omissions",
+ "icon": "question",
+ "type": "textbox",
+ "title": "Are there any types of defects you would like ommitted from issue reports?",
+ "fieldName": "details.cyclePreferences.omissions",
+ "description": ""
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "files",
+ "type": "files",
+ "title": "Files",
+ "category": "product",
+ "required": false,
+ "fieldName": "attachments",
+ "description": ""
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": true,
+ "isAddOn": false,
+ "createdAt": "2018-06-13T08:59:35.000Z",
+ "updatedAt": "2020-01-22T13:22:42.562Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 1,
+ "name": "Website Development",
+ "productKey": "website_development",
+ "category": "development",
+ "subCategory": "test13",
+ "icon": "http://example.com/icon-new.ico",
+ "brief": "Websites",
+ "details": "Build responsive or regular websites",
+ "aliases": [
+ "website",
+ "website_development"
+ ],
+ "template": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "Website Development",
+ "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",
+ "type": "project-name",
+ "title": "Project Name",
+ "hidden": true,
+ "required": true,
+ "fieldName": "name",
+ "description": "",
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "id": "questions",
+ "type": "questions",
+ "title": "Questions",
+ "required": true,
+ "hideTitle": true,
+ "questions": [
+ {
+ "icon": "question",
+ "type": "tiled-radio-group",
+ "title": "Which is your primary device target?",
+ "hidden": true,
+ "options": [
+ {
+ "desc": "iOS, Android, Hybrid",
+ "icon": "IconTechOutlineMobile",
+ "title": "Phone",
+ "value": "phone",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "iOS, Android, Hybrid",
+ "icon": "IconTechOutlineTablet",
+ "title": "Tablet",
+ "value": "tablet",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "all OS",
+ "icon": "IconTechOutlineDesktop",
+ "title": "Desktop",
+ "value": "desktop",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "Watch OS, Android Wear",
+ "icon": "IconTechOutlineWatchApple",
+ "title": "Wearable",
+ "value": "wearable",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ }
+ ],
+ "fieldName": "details.appDefinition.primaryTarget",
+ "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."
+ },
+ {
+ "id": "projectInfo",
+ "type": "textbox",
+ "title": "Description",
+ "hidden": true,
+ "fieldName": "description",
+ "description": "Brief Description",
+ "validations": "isRequired,minLength:160",
+ "validationErrors": {
+ "minLength": "Please enter at least 160 characters",
+ "isRequired": "Please provide a description"
+ }
+ },
+ {
+ "icon": "question",
+ "type": "see-attached-textbox",
+ "title": "What is the goal of your application? How will people use it?",
+ "hidden": true,
+ "fieldName": "details.appDefinition.goal",
+ "description": "Describe your objectives for creating this application"
+ },
+ {
+ "icon": "question",
+ "type": "see-attached-textbox",
+ "title": "Who are the users of your application? ",
+ "hidden": true,
+ "fieldName": "details.appDefinition.users",
+ "description": "Describe the roles and needs of your target users"
+ },
+ {
+ "icon": "question",
+ "type": "see-attached-features",
+ "title": "Feature requirements",
+ "fieldName": "details.appDefinition.features",
+ "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."
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "hidden": true,
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)"
+ },
+ {
+ "id": "files",
+ "type": "files",
+ "title": "Files",
+ "category": "product",
+ "required": false,
+ "fieldName": "attachments",
+ "description": ""
+ }
+ ]
+ },
+ {
+ "id": "designSpecification",
+ "title": "Design Specification",
+ "required": false,
+ "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",
+ "type": "questions",
+ "title": "Questions",
+ "required": false,
+ "questions": [
+ {
+ "icon": "question",
+ "type": "tiled-radio-group",
+ "title": "What font style do you prefer? (Pick one)",
+ "options": [
+ {
+ "desc": "formal, old style",
+ "icon": "IconTcSpecTypeSerif",
+ "title": "Serif",
+ "value": "serif",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "clean, modern, informal",
+ "icon": "IconTcSpecTypeSansSerif",
+ "title": "Sans Serif",
+ "value": "sanSerif",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ }
+ ],
+ "fieldName": "details.designSpecification.fontStyle",
+ "description": "The typography used in your designs will fit within these broad font styles"
+ },
+ {
+ "icon": "question",
+ "type": "colors",
+ "title": "What colors do you like? (Select all that apply)",
+ "fieldName": "details.designSpecification.colors",
+ "description": "Your preferred colors will be used to guide the shading in your designs",
+ "defaultColors": []
+ },
+ {
+ "icon": "question",
+ "type": "tiled-radio-group",
+ "title": "What icon style do you prefer? (Pick one)",
+ "options": [
+ {
+ "desc": "playful",
+ "icon": "IconTcSpecIconTypeColorHome",
+ "title": "Flat Color",
+ "value": "flatColor",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "modern",
+ "icon": "IconTcSpecIconTypeOutlineHome",
+ "title": "Thin Line",
+ "value": "thinLine",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "classic",
+ "icon": "IconTcSpecIconTypeGlyphHome",
+ "title": "Solid Line",
+ "value": "solidLine",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ }
+ ],
+ "fieldName": "details.designSpecification.iconStyle",
+ "description": "Icons within your designs will follow these styles"
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "required": false,
+ "fieldName": "details.designSpecification.notes",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications, budget or timing constraints)"
+ }
+ ]
+ },
+ {
+ "id": "devSpecification",
+ "title": "Development Specification",
+ "required": false,
+ "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.",
+ "subSections": [
+ {
+ "id": "questions",
+ "type": "questions",
+ "title": "Questions",
+ "required": false,
+ "questions": [
+ {
+ "icon": "question",
+ "type": "checkbox-group",
+ "title": "How should your application be built?",
+ "options": [
+ {
+ "label": "iOS",
+ "value": "ios"
+ },
+ {
+ "label": "Android",
+ "value": "android"
+ },
+ {
+ "label": "Web",
+ "value": "web"
+ },
+ {
+ "label": "Hybrid",
+ "value": "hybrid"
+ }
+ ],
+ "fieldName": "details.devSpecification.platform",
+ "description": "Choose the operating system/platform for your application"
+ },
+ {
+ "icon": "question",
+ "type": "radio-group",
+ "title": "Is offline access required for your application?",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "true"
+ },
+ {
+ "label": "No",
+ "value": "false"
+ }
+ ],
+ "fieldName": "details.devSpecification.offlineAccess",
+ "description": "Do your users need to use the application when they are unable to connect to the internet?"
+ },
+ {
+ "icon": "question",
+ "type": "radio-group",
+ "title": "What level of security is needed for your application?",
+ "options": [
+ {
+ "label": "Standard - Nothing to do here",
+ "value": "standard"
+ },
+ {
+ "label": "Enhanced",
+ "value": "enhanced"
+ },
+ {
+ "label": "Maximum",
+ "value": "maximumm"
+ }
+ ],
+ "fieldName": "details.devSpecification.securityLevel",
+ "description": "Do you expect to be storing or transmitting personal or sensitive information?"
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "required": false,
+ "fieldName": "details.devSpecification.notes",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications, budget or timing constraints)"
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": true,
+ "isAddOn": true,
+ "createdAt": "2018-05-29T13:52:09.000Z",
+ "updatedAt": "2020-01-22T13:22:42.565Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 60,
+ "name": "Dev/QA add-on 3 (non-generic)",
+ "productKey": "gtest-dev-qa-add-on-3",
+ "category": "test-product-category",
+ "subCategory": "test-product-category",
+ "icon": "../../assets/icons/product-design-wireframes",
+ "brief": "brief",
+ "details": "details",
+ "aliases": [
+ "gtest-dev-qa-add-on-3"
+ ],
+ "template": {},
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": false,
+ "isAddOn": true,
+ "createdAt": "2018-12-26T12:09:15.000Z",
+ "updatedAt": "2020-01-22T13:22:42.566Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 12,
+ "name": "Computer Vision",
+ "productKey": "computer_vision",
+ "category": "generic",
+ "subCategory": "generic",
+ "icon": "product-qa-crowd-testing",
+ "brief": "TBD",
+ "details": "Work with images to recognize patterns, compute correspondences, etc",
+ "aliases": [
+ "computer-vision",
+ "computer_vision"
+ ],
+ "template": {
+ "sections": [
+ {
+ "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",
+ "type": "project-name",
+ "title": "Project Name",
+ "hidden": true,
+ "required": true,
+ "fieldName": "name",
+ "description": "",
+ "validationError": "Please provide a name to your project"
+ },
+ {
+ "id": "questions",
+ "type": "questions",
+ "title": "Questions",
+ "required": true,
+ "hideTitle": true,
+ "questions": [
+ {
+ "id": "projectInfo",
+ "type": "textbox",
+ "title": "Objectives",
+ "hidden": true,
+ "fieldName": "description",
+ "description": "Brief Description of your objectives",
+ "validations": "isRequired,minLength:160",
+ "validationErrors": {
+ "minLength": "Please enter at least 160 characters",
+ "isRequired": "Please provide your objectives"
+ }
+ },
+ {
+ "icon": "question",
+ "type": "radio-group",
+ "title": "Do you have ground truth defined?",
+ "hidden": true,
+ "options": [
+ {
+ "label": "Yes",
+ "value": "true"
+ },
+ {
+ "label": "No",
+ "value": "false"
+ }
+ ],
+ "required": true,
+ "fieldName": "details.vision.groundtruth",
+ "description": "",
+ "validationError": "Please select one"
+ },
+ {
+ "icon": "question",
+ "type": "textbox",
+ "title": "Describe your ground truth?",
+ "hidden": true,
+ "required": true,
+ "fieldName": "details.vision.groundtruthDesc",
+ "description": "(if applicable)",
+ "validationError": "Please tell us about your ground truth"
+ },
+ {
+ "icon": "question",
+ "type": "textbox",
+ "title": "Describe your data set",
+ "hidden": true,
+ "required": true,
+ "fieldName": "details.vision.dataDesc",
+ "description": "(if applicable)",
+ "validationError": "Please tell us about your data set"
+ },
+ {
+ "icon": "question",
+ "type": "textbox",
+ "title": "Approximately how large is your data set in MB, GB, TB?",
+ "hidden": true,
+ "required": true,
+ "fieldName": "details.vision.datasetSize",
+ "description": "",
+ "validationError": "Please tell us the size of your data set"
+ },
+ {
+ "icon": "question",
+ "type": "textbox",
+ "title": "Approximately how many images are in your data set?",
+ "hidden": true,
+ "required": true,
+ "fieldName": "details.vision.imageSet",
+ "description": "",
+ "validationError": "Please tell us roughly the number of images in your set"
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "notes",
+ "type": "notes",
+ "title": "Additional Notes",
+ "hidden": true,
+ "fieldName": "details.appDefinition.notes",
+ "description": "Please detail any other additional information"
+ },
+ {
+ "id": "files",
+ "type": "files",
+ "title": "Files",
+ "category": "product",
+ "required": false,
+ "fieldName": "attachments",
+ "description": ""
+ }
+ ]
+ },
+ {
+ "id": "optionals",
+ "title": "Additional Questions",
+ "required": false,
+ "description": "Please complete these optional questions.",
+ "subSections": [
+ {
+ "id": "additional",
+ "type": "questions",
+ "title": "Additional Questions",
+ "required": false,
+ "questions": [
+ {
+ "icon": "question",
+ "type": "textbox",
+ "title": "Please provide a URL to your data",
+ "fieldName": "details.dataURL",
+ "description": ""
+ },
+ {
+ "icon": "question",
+ "type": "textbox",
+ "title": "Please describe the performance of your existing software",
+ "fieldName": "details.performanceInfo",
+ "description": ""
+ },
+ {
+ "icon": "question",
+ "type": "radio-group",
+ "title": "Do you anticipate allowing contestants to use external data?",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "Yes"
+ },
+ {
+ "label": "No",
+ "value": "No"
+ },
+ {
+ "label": "Unsure",
+ "value": "Unsure"
+ }
+ ],
+ "fieldName": "details.externalDataUsage",
+ "description": ""
+ },
+ {
+ "icon": "question",
+ "type": "checkbox-group",
+ "title": "If you have already thought of a scoring method, please indicate them here",
+ "options": [
+ {
+ "label": "F1/Dice",
+ "value": "F1/Dice"
+ },
+ {
+ "label": "Jaccard Index",
+ "value": "Jaccard Index"
+ },
+ {
+ "label": "Harmonic Mean",
+ "value": "Harmonic Mean"
+ }
+ ],
+ "fieldName": "details.externalDataUsage",
+ "description": ""
+ },
+ {
+ "icon": "question",
+ "type": "textbox",
+ "title": "If scoring method was other, please provide your approach",
+ "fieldName": "details.otherScoringInfo",
+ "description": ""
+ }
+ ],
+ "description": ""
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": true,
+ "isAddOn": false,
+ "createdAt": "2018-06-02T15:31:38.000Z",
+ "updatedAt": "2020-01-22T13:22:42.567Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 19,
+ "name": "Front-end",
+ "productKey": "frontend_dev",
+ "category": "test-product-category",
+ "subCategory": "test-product",
+ "icon": "../../assets/icons/product-dev-front-end-dev.svg",
+ "brief": "Front end development",
+ "details": "Translate your designs into Web or Mobile front-end",
+ "aliases": [
+ "frontend-development",
+ "frontend_dev"
+ ],
+ "template": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "Front-end",
+ "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",
+ "type": "project-name",
+ "title": "Project Name",
+ "hidden": true,
+ "required": true,
+ "fieldName": "name",
+ "description": "",
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "id": "questions",
+ "type": "questions",
+ "title": "Questions",
+ "required": true,
+ "hideTitle": true,
+ "questions": [
+ {
+ "icon": "question",
+ "type": "tiled-radio-group",
+ "title": "Which is your primary device target?",
+ "hidden": true,
+ "options": [
+ {
+ "desc": "iOS, Android, Hybrid",
+ "icon": "IconTechOutlineMobile",
+ "title": "Phone",
+ "value": "phone",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "iOS, Android, Hybrid",
+ "icon": "IconTechOutlineTablet",
+ "title": "Tablet",
+ "value": "tablet",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "all OS",
+ "icon": "IconTechOutlineDesktop",
+ "title": "Desktop",
+ "value": "desktop",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "Watch OS, Android Wear",
+ "icon": "IconTechOutlineWatchApple",
+ "title": "Wearable",
+ "value": "wearable",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ }
+ ],
+ "fieldName": "details.appDefinition.primaryTarget",
+ "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."
+ },
+ {
+ "id": "projectInfo",
+ "type": "textbox",
+ "title": "Description",
+ "hidden": true,
+ "fieldName": "description",
+ "description": "Brief Description",
+ "validations": "isRequired,minLength:160",
+ "validationErrors": {
+ "minLength": "Please enter at least 160 characters",
+ "isRequired": "Please provide a description"
+ }
+ },
+ {
+ "icon": "question",
+ "type": "see-attached-textbox",
+ "title": "What is the goal of your application? How will people use it?",
+ "hidden": true,
+ "fieldName": "details.appDefinition.goal",
+ "description": "Describe your objectives for creating this application"
+ },
+ {
+ "icon": "question",
+ "type": "see-attached-textbox",
+ "title": "Who are the users of your application? ",
+ "hidden": true,
+ "fieldName": "details.appDefinition.users",
+ "description": "Describe the roles and needs of your target users"
+ },
+ {
+ "icon": "question",
+ "type": "numberinputpositive",
+ "title": "What is your project budget?",
+ "fieldName": "details.appDefinition.budget",
+ "description": "Project budget in USD, please enter 0 if you don't have one"
+ },
+ {
+ "icon": "question",
+ "type": "slide-radiogroup",
+ "title": "How precise is your budget?",
+ "options": [
+ {
+ "title": "Its a wild guess",
+ "value": "guess"
+ },
+ {
+ "title": "I have a rough idea",
+ "value": "ballpark"
+ },
+ {
+ "title": "Precise to the penny",
+ "value": "exact"
+ }
+ ],
+ "fieldName": "details.appDefinition.budgetType",
+ "description": ""
+ },
+ {
+ "icon": "question",
+ "type": "slide-radiogroup",
+ "title": "When do you want to get started?",
+ "options": [
+ {
+ "title": "ASAP",
+ "value": "asap"
+ },
+ {
+ "title": "1-2 months",
+ "value": "1-2 months"
+ },
+ {
+ "title": "2+ months",
+ "value": "2-plus-months"
+ },
+ {
+ "title": "I'm just browsing",
+ "value": "estimating"
+ }
+ ],
+ "fieldName": "details.appDefinition.whenToStart",
+ "description": ""
+ },
+ {
+ "icon": "question",
+ "type": "slide-radiogroup",
+ "title": "Deadline",
+ "options": [
+ {
+ "title": "2 weeks",
+ "value": "2-weeks"
+ },
+ {
+ "title": "1-2 months",
+ "value": "1-2-months"
+ },
+ {
+ "title": "2+ months",
+ "value": "2-plus-months"
+ },
+ {
+ "title": "I'm just browsing",
+ "value": "estimating"
+ }
+ ],
+ "fieldName": "details.appDefinition.deadline",
+ "description": ""
+ },
+ {
+ "icon": "question",
+ "type": "see-attached-features",
+ "title": "Feature requirements",
+ "fieldName": "details.appDefinition.features",
+ "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."
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "hidden": true,
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)"
+ },
+ {
+ "id": "files",
+ "type": "files",
+ "title": "Files",
+ "category": "product",
+ "required": false,
+ "fieldName": "attachments",
+ "description": ""
+ }
+ ]
+ },
+ {
+ "id": "designSpecification",
+ "title": "Design Specification",
+ "required": false,
+ "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",
+ "type": "questions",
+ "title": "Questions",
+ "required": false,
+ "questions": [
+ {
+ "icon": "question",
+ "type": "tiled-radio-group",
+ "title": "What font style do you prefer? (Pick one)",
+ "options": [
+ {
+ "desc": "formal, old style",
+ "icon": "IconTcSpecTypeSerif",
+ "title": "Serif",
+ "value": "serif",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "clean, modern, informal",
+ "icon": "IconTcSpecTypeSansSerif",
+ "title": "Sans Serif",
+ "value": "sanSerif",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ }
+ ],
+ "fieldName": "details.designSpecification.fontStyle",
+ "description": "The typography used in your designs will fit within these broad font styles"
+ },
+ {
+ "icon": "question",
+ "type": "colors",
+ "title": "What colors do you like? (Select all that apply)",
+ "fieldName": "details.designSpecification.colors",
+ "description": "Your preferred colors will be used to guide the shading in your designs",
+ "defaultColors": []
+ },
+ {
+ "icon": "question",
+ "type": "tiled-radio-group",
+ "title": "What icon style do you prefer? (Pick one)",
+ "options": [
+ {
+ "desc": "playful",
+ "icon": "IconTcSpecIconTypeColorHome",
+ "title": "Flat Color",
+ "value": "flatColor",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "modern",
+ "icon": "IconTcSpecIconTypeOutlineHome",
+ "title": "Thin Line",
+ "value": "thinLine",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "classic",
+ "icon": "IconTcSpecIconTypeGlyphHome",
+ "title": "Solid Line",
+ "value": "solidLine",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ }
+ ],
+ "fieldName": "details.designSpecification.iconStyle",
+ "description": "Icons within your designs will follow these styles"
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "required": false,
+ "fieldName": "details.designSpecification.notes",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications, budget or timing constraints)"
+ }
+ ]
+ },
+ {
+ "id": "devSpecification",
+ "title": "Development Specification",
+ "required": false,
+ "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.",
+ "subSections": [
+ {
+ "id": "questions",
+ "type": "questions",
+ "title": "Questions",
+ "required": false,
+ "questions": [
+ {
+ "icon": "question",
+ "type": "checkbox-group",
+ "title": "How should your application be built?",
+ "options": [
+ {
+ "label": "iOS",
+ "value": "ios"
+ },
+ {
+ "label": "Android",
+ "value": "android"
+ },
+ {
+ "label": "Web",
+ "value": "web"
+ },
+ {
+ "label": "Hybrid",
+ "value": "hybrid"
+ }
+ ],
+ "fieldName": "details.devSpecification.platform",
+ "description": "Choose the operating system/platform for your application"
+ },
+ {
+ "icon": "question",
+ "type": "radio-group",
+ "title": "Is offline access required for your application?",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "true"
+ },
+ {
+ "label": "No",
+ "value": "false"
+ }
+ ],
+ "fieldName": "details.devSpecification.offlineAccess",
+ "description": "Do your users need to use the application when they are unable to connect to the internet?"
+ },
+ {
+ "icon": "question",
+ "type": "radio-group",
+ "title": "What level of security is needed for your application?",
+ "options": [
+ {
+ "label": "Standard - Nothing to do here",
+ "value": "standard"
+ },
+ {
+ "label": "Enhanced",
+ "value": "enhanced"
+ },
+ {
+ "label": "Maximum",
+ "value": "maximumm"
+ }
+ ],
+ "fieldName": "details.devSpecification.securityLevel",
+ "description": "Do you expect to be storing or transmitting personal or sensitive information?"
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "required": false,
+ "fieldName": "details.devSpecification.notes",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications, budget or timing constraints)"
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": true,
+ "isAddOn": false,
+ "createdAt": "2018-06-21T12:27:49.000Z",
+ "updatedAt": "2020-01-22T13:22:42.568Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 30,
+ "name": "QA Iteration",
+ "productKey": "qa-iteration",
+ "category": "qa",
+ "subCategory": "quality_assurance",
+ "icon": "product-qa-crowd-testing",
+ "brief": "QA phase",
+ "details": "QA iteration",
+ "aliases": [
+ "qa-iteration",
+ "qa_iteration"
+ ],
+ "template": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "QA Iteration",
+ "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": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "hidden": true,
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)"
+ },
+ {
+ "id": "files",
+ "type": "files",
+ "title": "Files",
+ "category": "product",
+ "required": false,
+ "fieldName": "attachments",
+ "description": ""
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": false,
+ "isAddOn": false,
+ "createdAt": "2018-08-10T12:06:26.000Z",
+ "updatedAt": "2020-01-22T13:22:42.569Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 58,
+ "name": "Dev/QA add-on 1",
+ "productKey": "generic-dev-qa-add-on-1",
+ "category": "generic",
+ "subCategory": "test-product-category",
+ "icon": "../../assets/icons/product-design-wireframes",
+ "brief": "brief",
+ "details": "details",
+ "aliases": [
+ "generic-dev-qa-add-on-1"
+ ],
+ "template": {},
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": false,
+ "isAddOn": true,
+ "createdAt": "2018-12-26T12:08:42.000Z",
+ "updatedAt": "2020-01-22T13:22:42.565Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 31,
+ "name": "RUX Iteration",
+ "productKey": "rux-iteration",
+ "category": "design",
+ "subCategory": "visual_design",
+ "icon": "product-design-other",
+ "brief": "RUX Iteration",
+ "details": "RUX Iteration",
+ "aliases": [
+ "rux-iteration",
+ "rux_iteration"
+ ],
+ "template": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "RUX Iteration",
+ "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": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "hidden": true,
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)"
+ },
+ {
+ "id": "files",
+ "type": "files",
+ "title": "Files",
+ "category": "product",
+ "required": false,
+ "fieldName": "attachments",
+ "description": ""
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": false,
+ "isAddOn": false,
+ "createdAt": "2018-08-10T12:07:59.000Z",
+ "updatedAt": "2020-01-22T13:22:42.569Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 168,
+ "name": "Web Design",
+ "productKey": "challenge-WEB_DESIGNS",
+ "category": "design",
+ "subCategory": "challenge",
+ "icon": "challenge-WEB_DESIGNS",
+ "brief": "Web Design",
+ "details": "Web Design",
+ "aliases": [
+ "challenge-web_designs"
+ ],
+ "template": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "Sample Project",
+ "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",
+ "required": true,
+ "validationError": "Please let us know consumers of your application",
+ "title": "What type of question you want to see next?",
+ "description": "Description for the radio button type question",
+ "type": "radio-group",
+ "fieldName": "details.appDefinition.questionType",
+ "options": [
+ {
+ "value": "checkbox-group",
+ "label": "Checkbox Group"
+ },
+ {
+ "value": "slide-radiogroup",
+ "label": "Slide Radio Group"
+ },
+ {
+ "value": "tiled-radio-group",
+ "label": "Tiled Radio Group"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "required": true,
+ "validationError": "Validation error for tiled radio group question",
+ "title": "Sample tiled radio group question?",
+ "description": "Description for tiled radio group question",
+ "fieldName": "details.appDefinition.sampleTiledRadioGroup",
+ "type": "tiled-radio-group",
+ "condition": "details.appDefinition.questionType == 'tiled-radio-group'",
+ "options": [
+ {
+ "value": "value1",
+ "title": "Value 1",
+ "icon": "icon-test-unstructured",
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "desc": ""
+ },
+ {
+ "value": "value2",
+ "title": "Value 2",
+ "icon": "icon-test-structured",
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "desc": ""
+ },
+ {
+ "value": "value3",
+ "title": "Value 3",
+ "icon": "icon-dont-know",
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "desc": ""
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Sample Checkbox group type question",
+ "description": "Description for checkbox group type question",
+ "fieldName": "details.appDefinition.sampleCheckboxGroup",
+ "type": "checkbox-group",
+ "condition": "details.appDefinition.questionType == 'checkbox-group'",
+ "options": [
+ {
+ "value": "value1",
+ "label": "Value 1"
+ },
+ {
+ "value": "value2",
+ "label": "Value 2"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "description": "How much budget do you have?",
+ "title": "Sample Slide Radio Group type question",
+ "fieldName": "details.appDefinition.sampleSlideRadioGroup",
+ "type": "slide-radiogroup",
+ "condition": "details.appDefinition.questionType == '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 value for sample radio group question"
+ }
+ ]
+ },
+ {
+ "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"
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": false,
+ "isAddOn": false,
+ "createdAt": "2019-08-06T06:03:29.000Z",
+ "updatedAt": "2020-01-22T13:22:42.558Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 160,
+ "name": "Additional API Development",
+ "productKey": "additional-api-development",
+ "category": "api",
+ "subCategory": "api_and_integrations",
+ "icon": "api-development",
+ "brief": "Additional API Development",
+ "details": "Indicate the additional number of APIs you need developed",
+ "aliases": [
+ "additional-api-development"
+ ],
+ "template": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "Sample Project",
+ "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",
+ "type": "project-name",
+ "title": "Project Name",
+ "required": true,
+ "fieldName": "name",
+ "description": "",
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "id": "questions",
+ "type": "questions",
+ "title": "Questions",
+ "required": true,
+ "hideTitle": true,
+ "questions": [
+ {
+ "id": "projectInfo",
+ "type": "textbox",
+ "title": "Description",
+ "fieldName": "description",
+ "description": "Brief Description",
+ "validations": "isRequired,minLength:160",
+ "validationErrors": {
+ "minLength": "Please enter at least 160 characters",
+ "isRequired": "Please provide a description"
+ }
+ },
+ {
+ "icon": "question",
+ "type": "radio-group",
+ "title": "What type of question you want to see next?",
+ "options": [
+ {
+ "label": "Checkbox Group",
+ "value": "checkbox-group"
+ },
+ {
+ "label": "Slide Radio Group",
+ "value": "slide-radiogroup"
+ },
+ {
+ "label": "Tiled Radio Group",
+ "value": "tiled-radio-group"
+ }
+ ],
+ "required": true,
+ "fieldName": "details.appDefinition.questionType",
+ "description": "Description for the radio button type question",
+ "validationError": "Please let us know consumers of your application"
+ },
+ {
+ "icon": "question",
+ "type": "tiled-radio-group",
+ "title": "Sample tiled radio group question?",
+ "options": [
+ {
+ "desc": "",
+ "icon": "icon-test-unstructured",
+ "title": "Value 1",
+ "value": "value1",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-test-structured",
+ "title": "Value 2",
+ "value": "value2",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-dont-know",
+ "title": "Value 3",
+ "value": "value3",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'tiled-radio-group'",
+ "fieldName": "details.appDefinition.sampleTiledRadioGroup",
+ "description": "Description for tiled radio group question",
+ "validationError": "Validation error for tiled radio group question"
+ },
+ {
+ "icon": "question",
+ "type": "checkbox-group",
+ "title": "Sample Checkbox group type question",
+ "options": [
+ {
+ "label": "Value 1",
+ "value": "value1"
+ },
+ {
+ "label": "Value 2",
+ "value": "value2"
+ }
+ ],
+ "condition": "details.appDefinition.questionType == 'checkbox-group'",
+ "fieldName": "details.appDefinition.sampleCheckboxGroup",
+ "description": "Description for checkbox group type question"
+ },
+ {
+ "icon": "question",
+ "type": "slide-radiogroup",
+ "title": "Sample Slide Radio Group type question",
+ "options": [
+ {
+ "title": "Under $25K ",
+ "value": "upto-25"
+ },
+ {
+ "title": "$25K to $50K",
+ "value": "upto-50"
+ },
+ {
+ "title": "$50K to $75K",
+ "value": "upto-75"
+ },
+ {
+ "title": "$75K to $100K",
+ "value": "upto-100"
+ },
+ {
+ "title": "More than $100K",
+ "value": "above-100"
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'slide-radiogroup'",
+ "fieldName": "details.appDefinition.sampleSlideRadioGroup",
+ "description": "How much budget do you have?",
+ "validationError": "Please provide value for sample radio group question"
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g. links to documents or existing applications)"
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": false,
+ "isAddOn": true,
+ "createdAt": "2019-05-29T09:55:14.000Z",
+ "updatedAt": "2020-01-22T13:22:42.569Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 28,
+ "name": "Development Iteration (4 Milestones)",
+ "productKey": "development-iteration-4-milestones",
+ "category": "development",
+ "subCategory": "app_dev",
+ "icon": "product-dev-other.svg",
+ "brief": "4 Milestones",
+ "details": "Development iteration with 4 milestones",
+ "aliases": [
+ "development-iteration-4-milestones",
+ "development_iteration_4_milestones"
+ ],
+ "template": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "Development Iteration (4 Milestones)",
+ "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": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "hidden": true,
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)"
+ },
+ {
+ "id": "files",
+ "type": "files",
+ "title": "Files",
+ "category": "product",
+ "required": false,
+ "fieldName": "attachments",
+ "description": ""
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": false,
+ "isAddOn": true,
+ "createdAt": "2018-08-09T12:30:14.000Z",
+ "updatedAt": "2020-01-22T13:22:42.567Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 59,
+ "name": "Dev/QA add-on 2",
+ "productKey": "generic-dev-qa-add-on-2",
+ "category": "generic",
+ "subCategory": "test-product-category",
+ "icon": "../../assets/icons/product-design-wireframes",
+ "brief": "brief",
+ "details": "details",
+ "aliases": [
+ "generic-dev-qa-add-on-2"
+ ],
+ "template": {},
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": false,
+ "isAddOn": true,
+ "createdAt": "2018-12-26T12:08:56.000Z",
+ "updatedAt": "2020-01-22T13:22:42.564Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 10,
+ "name": "Watson Chatbot",
+ "productKey": "watson_chatbot",
+ "category": "generic",
+ "subCategory": "generic",
+ "icon": "product-chatbot-watson",
+ "brief": "Watson Chatbot",
+ "details": "Build Chatbot using IBM Watson",
+ "aliases": [
+ "watson_chatbot",
+ "watson-chatbot"
+ ],
+ "template": {
+ "sections": [
+ {
+ "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",
+ "type": "project-name",
+ "title": "Project Name",
+ "hidden": true,
+ "required": true,
+ "fieldName": "name",
+ "description": "",
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "id": "questions",
+ "type": "questions",
+ "title": "Questions",
+ "required": true,
+ "hideTitle": true,
+ "questions": [
+ {
+ "id": "projectInfo",
+ "type": "textbox",
+ "title": "Description",
+ "hidden": true,
+ "fieldName": "description",
+ "description": "Brief Description",
+ "validations": "isRequired,minLength:160",
+ "validationErrors": {
+ "minLength": "Please enter at least 160 characters",
+ "isRequired": "Please provide a description"
+ }
+ },
+ {
+ "icon": "question",
+ "type": "radio-group",
+ "title": "Do you have an existing IBM Cloud (formerly IBM Bluemix) account?",
+ "hidden": true,
+ "options": [
+ {
+ "label": "Yes",
+ "value": "true"
+ },
+ {
+ "label": "No",
+ "value": "false"
+ }
+ ],
+ "required": true,
+ "fieldName": "details.appDefinition.hasBluemixAccount",
+ "description": ""
+ },
+ {
+ "icon": "question",
+ "type": "radio-group",
+ "title": "Does your organization currently have a chatbot?",
+ "hidden": true,
+ "options": [
+ {
+ "label": "Yes",
+ "value": "true"
+ },
+ {
+ "label": "No",
+ "value": "false"
+ }
+ ],
+ "required": true,
+ "fieldName": "details.appDefinition.hasChatbot",
+ "description": ""
+ },
+ {
+ "icon": "question",
+ "type": "textbox",
+ "title": "If yes, can you provide some brief specifics about your current chatbot?",
+ "hidden": true,
+ "fieldName": "details.appDefinition.existingChatbotDesc",
+ "description": ""
+ },
+ {
+ "icon": "question",
+ "type": "checkbox-group",
+ "title": "What capabilities does the chatbot need to support?",
+ "hidden": true,
+ "options": [
+ {
+ "label": "Order Management",
+ "value": "order_management"
+ },
+ {
+ "label": "Information",
+ "value": "information"
+ },
+ {
+ "label": "Help",
+ "value": "help"
+ },
+ {
+ "label": "Complaints",
+ "value": "complaints"
+ },
+ {
+ "label": "Billing",
+ "value": "billing"
+ },
+ {
+ "label": "Account Management",
+ "value": "account_management"
+ },
+ {
+ "label": "Custom (please explain in the Notes)",
+ "value": "custom"
+ }
+ ],
+ "fieldName": "details.appDefinition.capabilities",
+ "description": ""
+ },
+ {
+ "icon": "question",
+ "type": "textbox",
+ "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.",
+ "hidden": true,
+ "fieldName": "details.appDefinition.integrationSystems",
+ "description": ""
+ },
+ {
+ "icon": "question",
+ "type": "textbox",
+ "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).",
+ "hidden": true,
+ "fieldName": "details.appDefinition.existingAgentScripts",
+ "description": ""
+ },
+ {
+ "icon": "question",
+ "type": "textbox",
+ "title": "Are you planning to transfer conversations to human agents? If so, please list the agents’ communication tools (e.g., Slack, LiveAgent, Intercom, etc.).",
+ "hidden": true,
+ "fieldName": "details.appDefinition.transferToHumanAgents",
+ "description": ""
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "hidden": true,
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)"
+ },
+ {
+ "id": "files",
+ "type": "files",
+ "title": "Files",
+ "category": "product",
+ "required": false,
+ "fieldName": "attachments",
+ "description": ""
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": true,
+ "isAddOn": false,
+ "createdAt": "2018-06-02T15:26:29.000Z",
+ "updatedAt": "2020-01-22T13:22:42.570Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 25,
+ "name": "Design Iteration (short)",
+ "productKey": "design-iteration-2-milestones",
+ "category": "design",
+ "subCategory": "visual_design",
+ "icon": "product-design-app-visual",
+ "brief": "2 Milestones",
+ "details": "Design work with final review",
+ "aliases": [
+ "design-iteration-2-milestones",
+ "design_iteration_2_milestones"
+ ],
+ "template": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "Design Iteration (2 Milestones)",
+ "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": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "hidden": true,
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)"
+ },
+ {
+ "id": "files",
+ "type": "files",
+ "title": "Files",
+ "category": "product",
+ "required": false,
+ "fieldName": "attachments",
+ "description": ""
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": false,
+ "isAddOn": false,
+ "createdAt": "2018-08-08T14:50:21.000Z",
+ "updatedAt": "2020-01-22T13:22:42.570Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 24,
+ "name": "Salesforce Accelerator",
+ "productKey": "sfdc_testing",
+ "category": "generic",
+ "subCategory": "generic",
+ "icon": "product-qa-sfdc-accelerator",
+ "brief": "TBD",
+ "details": "SalesForce Testing, Cross browser-device Testing",
+ "aliases": [
+ "sfdc_testing",
+ "sfdc-testing"
+ ],
+ "template": {
+ "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. *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",
+ "type": "project-name",
+ "title": "Project Name",
+ "hidden": true,
+ "required": true,
+ "fieldName": "name",
+ "description": "",
+ "validationError": "Please provide a name to your project"
+ },
+ {
+ "id": "questions",
+ "type": "questions",
+ "title": "Questions",
+ "required": true,
+ "hideTitle": true,
+ "questions": [
+ {
+ "id": "projectInfo",
+ "type": "textbox",
+ "title": "Description",
+ "hidden": true,
+ "fieldName": "description",
+ "description": "Brief description of your project, Salesforce.com implementation testing objectives",
+ "validations": "isRequired,minLength:160",
+ "validationErrors": {
+ "minLength": "Please enter at least 160 characters",
+ "isRequired": "Please provide a description"
+ }
+ },
+ {
+ "icon": "question",
+ "type": "checkbox-group",
+ "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)",
+ "hidden": true,
+ "options": [
+ {
+ "label": "Manual Test packs + Business Models + Automation scripts",
+ "value": "pack_one"
+ },
+ {
+ "label": "License for AssureNXT and Tosca for 2 months",
+ "value": "pack_two"
+ },
+ {
+ "label": "Customization services to fit the pre-built assets to your specific use cases",
+ "value": "pack_three"
+ }
+ ],
+ "required": true,
+ "fieldName": "details.appDefinition.components",
+ "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",
+ "validationError": "Please provide the required options"
+ },
+ {
+ "icon": "question",
+ "type": "checkbox-group",
+ "title": "Select the functionalities which are applicable for your Salesforce.com Implementation ( 1 or multiple from the 10 listed below)",
+ "hidden": true,
+ "options": [
+ {
+ "label": "Sales Cloud - Campaign",
+ "value": "sales_cloud_campaign"
+ },
+ {
+ "label": "Lead",
+ "value": "lead"
+ },
+ {
+ "label": "Account",
+ "value": "account"
+ },
+ {
+ "label": "Contact",
+ "value": "contact"
+ },
+ {
+ "label": "Opportunity",
+ "value": "opportunity"
+ },
+ {
+ "label": "Quote",
+ "value": "quote"
+ },
+ {
+ "label": "Contract & Order Management",
+ "value": "contract_and_order"
+ },
+ {
+ "label": "Product & Price Book and End to End Processes & Misc Functions (Activites Chatter Reports & Dashboards)",
+ "value": "product_price"
+ },
+ {
+ "label": "Service Cloud – Case Management",
+ "value": "service_cloud_case_management"
+ }
+ ],
+ "fieldName": "details.appDefinition.functionalities",
+ "description": ""
+ },
+ {
+ "icon": "question",
+ "type": "radio-group",
+ "title": "Are you using the Lightning Experience?",
+ "hidden": true,
+ "options": [
+ {
+ "label": "Yes",
+ "value": "Yes"
+ },
+ {
+ "label": "No",
+ "value": "No"
+ },
+ {
+ "label": "I Don't Know",
+ "value": "Neither"
+ }
+ ],
+ "required": true,
+ "fieldName": "details.appDefinition.lightningExperience.value",
+ "description": ""
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "hidden": true,
+ "fieldName": "details.appDefinition.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."
+ },
+ {
+ "id": "files",
+ "type": "files",
+ "title": "Files",
+ "category": "product",
+ "required": false,
+ "fieldName": "attachments",
+ "description": ""
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": true,
+ "isAddOn": false,
+ "createdAt": "2018-07-06T07:37:46.000Z",
+ "updatedAt": "2020-01-22T13:22:42.566Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 29,
+ "name": "Development Iteration (5 Milestones)",
+ "productKey": "development-iteration-5-milestones",
+ "category": "test-product-category",
+ "subCategory": "test13",
+ "icon": "product-dev-other.svg",
+ "brief": "5 Milestones",
+ "details": "Development iteration with 5 milestones",
+ "aliases": [
+ "development-iteration-5-milestones",
+ "development_iteration_5_milestones"
+ ],
+ "template": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "Development Iteration (5 Milestones)",
+ "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": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "hidden": true,
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)"
+ },
+ {
+ "id": "files",
+ "type": "files",
+ "title": "Files",
+ "category": "product",
+ "required": false,
+ "fieldName": "attachments",
+ "description": ""
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": false,
+ "isAddOn": false,
+ "createdAt": "2018-08-09T12:30:38.000Z",
+ "updatedAt": "2020-01-22T13:22:42.571Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 26,
+ "name": "Design Iteration (long)",
+ "productKey": "design-iteration-3-milestones",
+ "category": "design",
+ "subCategory": "visual_design",
+ "icon": "product-design-app-visual",
+ "brief": "3 Milestones",
+ "details": "Design work with checkpoint and final review",
+ "aliases": [
+ "design-iteration-3-milestones",
+ "design_iteration_3_milestones"
+ ],
+ "template": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "Design Iteration (3 Milestones)",
+ "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": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "hidden": true,
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)"
+ },
+ {
+ "id": "files",
+ "type": "files",
+ "title": "Files",
+ "category": "product",
+ "required": false,
+ "fieldName": "attachments",
+ "description": ""
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": false,
+ "isAddOn": false,
+ "createdAt": "2018-08-08T14:56:42.000Z",
+ "updatedAt": "2020-01-22T13:22:42.571Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 27,
+ "name": "Development Iteration (3 Milestones)",
+ "productKey": "development-iteration-3-milestones",
+ "category": "development",
+ "subCategory": "app_dev",
+ "icon": "product-dev-other.svg",
+ "brief": "3 Milestones",
+ "details": "Development iteration with 3 milestones",
+ "aliases": [
+ "development-iteration-3-milestones",
+ "development_iteration_3_milestones"
+ ],
+ "template": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "Development Iteration (3 Milestones)",
+ "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": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "hidden": true,
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)"
+ },
+ {
+ "id": "files",
+ "type": "files",
+ "title": "Files",
+ "category": "product",
+ "required": false,
+ "fieldName": "attachments",
+ "description": ""
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": false,
+ "isAddOn": false,
+ "createdAt": "2018-08-09T12:29:36.000Z",
+ "updatedAt": "2020-01-22T13:22:42.572Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 86,
+ "name": "Mobile Enterprise Security Iteration",
+ "productKey": "mobile-enterprise-security",
+ "category": "development",
+ "subCategory": "security",
+ "icon": "../../assets/icons/product-dev-integration.svg",
+ "brief": "Mobile Enterprise Security Iteration",
+ "details": "Encrypt data on device and server, be able to remotely wipe a device cache, prevent decompiling of source code, etc. Requirements per project need to be specified.",
+ "aliases": [
+ "mobile-enterprise-security"
+ ],
+ "template": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "Sample Project",
+ "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",
+ "type": "project-name",
+ "title": "Project Name",
+ "required": true,
+ "fieldName": "name",
+ "description": "",
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "id": "questions",
+ "type": "questions",
+ "title": "Questions",
+ "required": true,
+ "hideTitle": true,
+ "questions": [
+ {
+ "id": "projectInfo",
+ "type": "textbox",
+ "title": "Description",
+ "fieldName": "description",
+ "description": "Brief Description",
+ "validations": "isRequired,minLength:160",
+ "validationErrors": {
+ "minLength": "Please enter at least 160 characters",
+ "isRequired": "Please provide a description"
+ }
+ },
+ {
+ "icon": "question",
+ "type": "radio-group",
+ "title": "What type of question you want to see next?",
+ "options": [
+ {
+ "label": "Checkbox Group",
+ "value": "checkbox-group"
+ },
+ {
+ "label": "Slide Radio Group",
+ "value": "slide-radiogroup"
+ },
+ {
+ "label": "Tiled Radio Group",
+ "value": "tiled-radio-group"
+ }
+ ],
+ "required": true,
+ "fieldName": "details.appDefinition.questionType",
+ "description": "Description for the radio button type question",
+ "validationError": "Please let us know consumers of your application"
+ },
+ {
+ "icon": "question",
+ "type": "tiled-radio-group",
+ "title": "Sample tiled radio group question?",
+ "options": [
+ {
+ "desc": "",
+ "icon": "icon-test-unstructured",
+ "title": "Value 1",
+ "value": "value1",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-test-structured",
+ "title": "Value 2",
+ "value": "value2",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-dont-know",
+ "title": "Value 3",
+ "value": "value3",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'tiled-radio-group'",
+ "fieldName": "details.appDefinition.sampleTiledRadioGroup",
+ "description": "Description for tiled radio group question",
+ "validationError": "Validation error for tiled radio group question"
+ },
+ {
+ "icon": "question",
+ "type": "checkbox-group",
+ "title": "Sample Checkbox group type question",
+ "options": [
+ {
+ "label": "Value 1",
+ "value": "value1"
+ },
+ {
+ "label": "Value 2",
+ "value": "value2"
+ }
+ ],
+ "condition": "details.appDefinition.questionType == 'checkbox-group'",
+ "fieldName": "details.appDefinition.sampleCheckboxGroup",
+ "description": "Description for checkbox group type question"
+ },
+ {
+ "icon": "question",
+ "type": "slide-radiogroup",
+ "title": "Sample Slide Radio Group type question",
+ "options": [
+ {
+ "title": "Under $25K ",
+ "value": "upto-25"
+ },
+ {
+ "title": "$25K to $50K",
+ "value": "upto-50"
+ },
+ {
+ "title": "$50K to $75K",
+ "value": "upto-75"
+ },
+ {
+ "title": "$75K to $100K",
+ "value": "upto-100"
+ },
+ {
+ "title": "More than $100K",
+ "value": "above-100"
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'slide-radiogroup'",
+ "fieldName": "details.appDefinition.sampleSlideRadioGroup",
+ "description": "How much budget do you have?",
+ "validationError": "Please provide value for sample radio group question"
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g. links to documents or existing applications)"
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": false,
+ "isAddOn": true,
+ "createdAt": "2019-03-04T07:16:48.000Z",
+ "updatedAt": "2020-01-22T13:22:42.572Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 20,
+ "name": "Back-end & API",
+ "productKey": "api_dev",
+ "category": "generic",
+ "subCategory": "generic",
+ "icon": "../../assets/icons/product-dev-integration.svg",
+ "brief": "Back-end & API",
+ "details": "Build the server, DB, and API for your app",
+ "aliases": [
+ "api-development",
+ "api_dev"
+ ],
+ "template": {
+ "sections": [
+ {
+ "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",
+ "type": "project-name",
+ "title": "Project Name",
+ "hidden": true,
+ "required": true,
+ "fieldName": "name",
+ "description": "",
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "id": "questions",
+ "type": "questions",
+ "title": "Questions",
+ "required": true,
+ "hideTitle": true,
+ "questions": [
+ {
+ "icon": "question",
+ "type": "tiled-radio-group",
+ "title": "Which is your primary device target?",
+ "hidden": true,
+ "options": [
+ {
+ "desc": "iOS, Android, Hybrid",
+ "icon": "IconTechOutlineMobile",
+ "title": "Phone",
+ "value": "phone",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "iOS, Android, Hybrid",
+ "icon": "IconTechOutlineTablet",
+ "title": "Tablet",
+ "value": "tablet",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "all OS",
+ "icon": "IconTechOutlineDesktop",
+ "title": "Desktop",
+ "value": "desktop",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "Watch OS, Android Wear",
+ "icon": "IconTechOutlineWatchApple",
+ "title": "Wearable",
+ "value": "wearable",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ }
+ ],
+ "fieldName": "details.appDefinition.primaryTarget",
+ "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."
+ },
+ {
+ "id": "projectInfo",
+ "type": "textbox",
+ "title": "Description",
+ "hidden": true,
+ "fieldName": "description",
+ "description": "Brief Description",
+ "validations": "isRequired,minLength:160",
+ "validationErrors": {
+ "minLength": "Please enter at least 160 characters",
+ "isRequired": "Please provide a description"
+ }
+ },
+ {
+ "icon": "question",
+ "type": "see-attached-textbox",
+ "title": "What is the goal of your application? How will people use it?",
+ "hidden": true,
+ "fieldName": "details.appDefinition.goal",
+ "description": "Describe your objectives for creating this application"
+ },
+ {
+ "icon": "question",
+ "type": "see-attached-textbox",
+ "title": "Who are the users of your application? ",
+ "hidden": true,
+ "fieldName": "details.appDefinition.users",
+ "description": "Describe the roles and needs of your target users"
+ },
+ {
+ "icon": "question",
+ "type": "numberinputpositive",
+ "title": "What is your project budget?",
+ "fieldName": "details.appDefinition.budget",
+ "description": "Project budget in USD, please enter 0 if you don't have one"
+ },
+ {
+ "icon": "question",
+ "type": "slide-radiogroup",
+ "title": "How precise is your budget?",
+ "options": [
+ {
+ "title": "Its a wild guess",
+ "value": "guess"
+ },
+ {
+ "title": "I have a rough idea",
+ "value": "ballpark"
+ },
+ {
+ "title": "Precise to the penny",
+ "value": "exact"
+ }
+ ],
+ "fieldName": "details.appDefinition.budgetType",
+ "description": ""
+ },
+ {
+ "icon": "question",
+ "type": "slide-radiogroup",
+ "title": "When do you want to get started?",
+ "options": [
+ {
+ "title": "ASAP",
+ "value": "asap"
+ },
+ {
+ "title": "1-2 months",
+ "value": "1-2 months"
+ },
+ {
+ "title": "2+ months",
+ "value": "2-plus-months"
+ },
+ {
+ "title": "I'm just browsing",
+ "value": "estimating"
+ }
+ ],
+ "fieldName": "details.appDefinition.whenToStart",
+ "description": ""
+ },
+ {
+ "icon": "question",
+ "type": "slide-radiogroup",
+ "title": "Deadline",
+ "options": [
+ {
+ "title": "2 weeks",
+ "value": "2-weeks"
+ },
+ {
+ "title": "1-2 months",
+ "value": "1-2-months"
+ },
+ {
+ "title": "2+ months",
+ "value": "2-plus-months"
+ },
+ {
+ "title": "I'm just browsing",
+ "value": "estimating"
+ }
+ ],
+ "fieldName": "details.appDefinition.deadline",
+ "description": ""
+ },
+ {
+ "icon": "question",
+ "type": "see-attached-features",
+ "title": "Feature requirements",
+ "fieldName": "details.appDefinition.features",
+ "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."
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "hidden": true,
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)"
+ },
+ {
+ "id": "files",
+ "type": "files",
+ "title": "Files",
+ "category": "product",
+ "required": false,
+ "fieldName": "attachments",
+ "description": ""
+ }
+ ]
+ },
+ {
+ "id": "designSpecification",
+ "title": "Design Specification",
+ "required": false,
+ "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",
+ "type": "questions",
+ "title": "Questions",
+ "required": false,
+ "questions": [
+ {
+ "icon": "question",
+ "type": "tiled-radio-group",
+ "title": "What font style do you prefer? (Pick one)",
+ "options": [
+ {
+ "desc": "formal, old style",
+ "icon": "IconTcSpecTypeSerif",
+ "title": "Serif",
+ "value": "serif",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "clean, modern, informal",
+ "icon": "IconTcSpecTypeSansSerif",
+ "title": "Sans Serif",
+ "value": "sanSerif",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ }
+ ],
+ "fieldName": "details.designSpecification.fontStyle",
+ "description": "The typography used in your designs will fit within these broad font styles"
+ },
+ {
+ "icon": "question",
+ "type": "colors",
+ "title": "What colors do you like? (Select all that apply)",
+ "fieldName": "details.designSpecification.colors",
+ "description": "Your preferred colors will be used to guide the shading in your designs",
+ "defaultColors": []
+ },
+ {
+ "icon": "question",
+ "type": "tiled-radio-group",
+ "title": "What icon style do you prefer? (Pick one)",
+ "options": [
+ {
+ "desc": "playful",
+ "icon": "IconTcSpecIconTypeColorHome",
+ "title": "Flat Color",
+ "value": "flatColor",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "modern",
+ "icon": "IconTcSpecIconTypeOutlineHome",
+ "title": "Thin Line",
+ "value": "thinLine",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "classic",
+ "icon": "IconTcSpecIconTypeGlyphHome",
+ "title": "Solid Line",
+ "value": "solidLine",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ }
+ ],
+ "fieldName": "details.designSpecification.iconStyle",
+ "description": "Icons within your designs will follow these styles"
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "required": false,
+ "fieldName": "details.designSpecification.notes",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications, budget or timing constraints)"
+ }
+ ]
+ },
+ {
+ "id": "devSpecification",
+ "title": "Development Specification",
+ "required": false,
+ "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.",
+ "subSections": [
+ {
+ "id": "questions",
+ "type": "questions",
+ "title": "Questions",
+ "required": false,
+ "questions": [
+ {
+ "icon": "question",
+ "type": "checkbox-group",
+ "title": "How should your application be built?",
+ "options": [
+ {
+ "label": "iOS",
+ "value": "ios"
+ },
+ {
+ "label": "Android",
+ "value": "android"
+ },
+ {
+ "label": "Web",
+ "value": "web"
+ },
+ {
+ "label": "Hybrid",
+ "value": "hybrid"
+ }
+ ],
+ "fieldName": "details.devSpecification.platform",
+ "description": "Choose the operating system/platform for your application"
+ },
+ {
+ "icon": "question",
+ "type": "radio-group",
+ "title": "Is offline access required for your application?",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "true"
+ },
+ {
+ "label": "No",
+ "value": "false"
+ }
+ ],
+ "fieldName": "details.devSpecification.offlineAccess",
+ "description": "Do your users need to use the application when they are unable to connect to the internet?"
+ },
+ {
+ "icon": "question",
+ "type": "radio-group",
+ "title": "What level of security is needed for your application?",
+ "options": [
+ {
+ "label": "Standard - Nothing to do here",
+ "value": "standard"
+ },
+ {
+ "label": "Enhanced",
+ "value": "enhanced"
+ },
+ {
+ "label": "Maximum",
+ "value": "maximumm"
+ }
+ ],
+ "fieldName": "details.devSpecification.securityLevel",
+ "description": "Do you expect to be storing or transmitting personal or sensitive information?"
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "required": false,
+ "fieldName": "details.devSpecification.notes",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications, budget or timing constraints)"
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": true,
+ "isAddOn": false,
+ "createdAt": "2018-06-21T12:32:47.000Z",
+ "updatedAt": "2020-01-22T13:22:42.568Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 73,
+ "name": "Offline Capability",
+ "productKey": "offline-capability",
+ "category": "development",
+ "subCategory": "general_features",
+ "icon": "../../assets/icons/product-dev-integration.svg",
+ "brief": "Offline Capability",
+ "details": "Enable users to use your application features offline and persist data locally so it can be synced with the server periodically.",
+ "aliases": [
+ "offline-capability"
+ ],
+ "template": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "Sample Project",
+ "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",
+ "type": "project-name",
+ "title": "Project Name",
+ "required": true,
+ "fieldName": "name",
+ "description": "",
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "id": "questions",
+ "type": "questions",
+ "title": "Questions",
+ "required": true,
+ "hideTitle": true,
+ "questions": [
+ {
+ "id": "projectInfo",
+ "type": "textbox",
+ "title": "Description",
+ "fieldName": "description",
+ "description": "Brief Description",
+ "validations": "isRequired,minLength:160",
+ "validationErrors": {
+ "minLength": "Please enter at least 160 characters",
+ "isRequired": "Please provide a description"
+ }
+ },
+ {
+ "icon": "question",
+ "type": "radio-group",
+ "title": "What type of question you want to see next?",
+ "options": [
+ {
+ "label": "Checkbox Group",
+ "value": "checkbox-group"
+ },
+ {
+ "label": "Slide Radio Group",
+ "value": "slide-radiogroup"
+ },
+ {
+ "label": "Tiled Radio Group",
+ "value": "tiled-radio-group"
+ }
+ ],
+ "required": true,
+ "fieldName": "details.appDefinition.questionType",
+ "description": "Description for the radio button type question",
+ "validationError": "Please let us know consumers of your application"
+ },
+ {
+ "icon": "question",
+ "type": "tiled-radio-group",
+ "title": "Sample tiled radio group question?",
+ "options": [
+ {
+ "desc": "",
+ "icon": "icon-test-unstructured",
+ "title": "Value 1",
+ "value": "value1",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-test-structured",
+ "title": "Value 2",
+ "value": "value2",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-dont-know",
+ "title": "Value 3",
+ "value": "value3",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'tiled-radio-group'",
+ "fieldName": "details.appDefinition.sampleTiledRadioGroup",
+ "description": "Description for tiled radio group question",
+ "validationError": "Validation error for tiled radio group question"
+ },
+ {
+ "icon": "question",
+ "type": "checkbox-group",
+ "title": "Sample Checkbox group type question",
+ "options": [
+ {
+ "label": "Value 1",
+ "value": "value1"
+ },
+ {
+ "label": "Value 2",
+ "value": "value2"
+ }
+ ],
+ "condition": "details.appDefinition.questionType == 'checkbox-group'",
+ "fieldName": "details.appDefinition.sampleCheckboxGroup",
+ "description": "Description for checkbox group type question"
+ },
+ {
+ "icon": "question",
+ "type": "slide-radiogroup",
+ "title": "Sample Slide Radio Group type question",
+ "options": [
+ {
+ "title": "Under $25K ",
+ "value": "upto-25"
+ },
+ {
+ "title": "$25K to $50K",
+ "value": "upto-50"
+ },
+ {
+ "title": "$50K to $75K",
+ "value": "upto-75"
+ },
+ {
+ "title": "$75K to $100K",
+ "value": "upto-100"
+ },
+ {
+ "title": "More than $100K",
+ "value": "above-100"
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'slide-radiogroup'",
+ "fieldName": "details.appDefinition.sampleSlideRadioGroup",
+ "description": "How much budget do you have?",
+ "validationError": "Please provide value for sample radio group question"
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g. links to documents or existing applications)"
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": false,
+ "isAddOn": true,
+ "createdAt": "2019-03-04T07:05:05.000Z",
+ "updatedAt": "2020-01-22T13:22:42.573Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 8,
+ "name": "topgear-dev",
+ "productKey": "topgear_dev",
+ "category": "design",
+ "subCategory": "DESIGN",
+ "icon": "product-app-app",
+ "brief": "Topgear",
+ "details": "Topgear",
+ "aliases": [
+ "topgear-dev"
+ ],
+ "template": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "topgear-dev",
+ "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",
+ "type": "project-name",
+ "title": "Project Name",
+ "hidden": true,
+ "required": true,
+ "fieldName": "name",
+ "description": "",
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "id": "questions",
+ "type": "questions",
+ "title": "Questions",
+ "required": true,
+ "hideTitle": true,
+ "questions": [
+ {
+ "id": "projectInfo",
+ "type": "textbox",
+ "title": "Description",
+ "hidden": true,
+ "fieldName": "description",
+ "description": "Brief Description",
+ "validations": "isRequired,minLength:160",
+ "validationErrors": {
+ "minLength": "Please enter at least 160 characters",
+ "isRequired": "Please provide a description"
+ }
+ },
+ {
+ "icon": "question",
+ "type": "textbox",
+ "title": "DU",
+ "hidden": true,
+ "fieldName": "details.appDefinition.goal.du",
+ "description": ""
+ },
+ {
+ "icon": "question",
+ "type": "textbox",
+ "title": "Project Code",
+ "hidden": true,
+ "fieldName": "details.appDefinition.users.projectCode"
+ },
+ {
+ "icon": "question",
+ "type": "textbox",
+ "title": "Cost Center code",
+ "hidden": true,
+ "fieldName": "details.appDefinition.users.cost_center"
+ },
+ {
+ "icon": "question",
+ "type": "textbox",
+ "title": "Part of NG3",
+ "hidden": true,
+ "fieldName": "details.appDefinition.users.ng3"
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "files",
+ "type": "files",
+ "title": "Files",
+ "category": "product",
+ "required": false,
+ "fieldName": "attachments",
+ "description": ""
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": true,
+ "isAddOn": false,
+ "createdAt": "2018-06-02T14:18:52.000Z",
+ "updatedAt": "2020-01-22T13:22:42.573Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 66,
+ "name": "Zeplin Handoff",
+ "productKey": "zeplin-app-handoff",
+ "category": "design",
+ "subCategory": "deployment",
+ "icon": "../../assets/icons/product-design-wireframes",
+ "brief": "Zeplin App Handoff",
+ "details": "All downloadable and CSS design deliverables can be handed off using Zeplin, which will prepare them for development.",
+ "aliases": [
+ "zeplin-app-handoff"
+ ],
+ "template": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "Sample Project",
+ "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",
+ "type": "project-name",
+ "title": "Project Name",
+ "required": true,
+ "fieldName": "name",
+ "description": "",
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "id": "questions",
+ "type": "questions",
+ "title": "Questions",
+ "required": true,
+ "hideTitle": true,
+ "questions": [
+ {
+ "id": "projectInfo",
+ "type": "textbox",
+ "title": "Description",
+ "fieldName": "description",
+ "description": "Brief Description",
+ "validations": "isRequired,minLength:160",
+ "validationErrors": {
+ "minLength": "Please enter at least 160 characters",
+ "isRequired": "Please provide a description"
+ }
+ },
+ {
+ "icon": "question",
+ "type": "radio-group",
+ "title": "What type of question you want to see next?",
+ "options": [
+ {
+ "label": "Checkbox Group",
+ "value": "checkbox-group"
+ },
+ {
+ "label": "Slide Radio Group",
+ "value": "slide-radiogroup"
+ },
+ {
+ "label": "Tiled Radio Group",
+ "value": "tiled-radio-group"
+ }
+ ],
+ "required": true,
+ "fieldName": "details.appDefinition.questionType",
+ "description": "Description for the radio button type question",
+ "validationError": "Please let us know consumers of your application"
+ },
+ {
+ "icon": "question",
+ "type": "tiled-radio-group",
+ "title": "Sample tiled radio group question?",
+ "options": [
+ {
+ "desc": "",
+ "icon": "icon-test-unstructured",
+ "title": "Value 1",
+ "value": "value1",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-test-structured",
+ "title": "Value 2",
+ "value": "value2",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-dont-know",
+ "title": "Value 3",
+ "value": "value3",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'tiled-radio-group'",
+ "fieldName": "details.appDefinition.sampleTiledRadioGroup",
+ "description": "Description for tiled radio group question",
+ "validationError": "Validation error for tiled radio group question"
+ },
+ {
+ "icon": "question",
+ "type": "checkbox-group",
+ "title": "Sample Checkbox group type question",
+ "options": [
+ {
+ "label": "Value 1",
+ "value": "value1"
+ },
+ {
+ "label": "Value 2",
+ "value": "value2"
+ }
+ ],
+ "condition": "details.appDefinition.questionType == 'checkbox-group'",
+ "fieldName": "details.appDefinition.sampleCheckboxGroup",
+ "description": "Description for checkbox group type question"
+ },
+ {
+ "icon": "question",
+ "type": "slide-radiogroup",
+ "title": "Sample Slide Radio Group type question",
+ "options": [
+ {
+ "title": "Under $25K ",
+ "value": "upto-25"
+ },
+ {
+ "title": "$25K to $50K",
+ "value": "upto-50"
+ },
+ {
+ "title": "$50K to $75K",
+ "value": "upto-75"
+ },
+ {
+ "title": "$75K to $100K",
+ "value": "upto-100"
+ },
+ {
+ "title": "More than $100K",
+ "value": "above-100"
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'slide-radiogroup'",
+ "fieldName": "details.appDefinition.sampleSlideRadioGroup",
+ "description": "How much budget do you have?",
+ "validationError": "Please provide value for sample radio group question"
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g. links to documents or existing applications)"
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": false,
+ "isAddOn": true,
+ "createdAt": "2019-03-04T06:27:22.000Z",
+ "updatedAt": "2020-01-22T13:22:42.574Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 39,
+ "name": "App",
+ "productKey": "application_development",
+ "category": "generic",
+ "subCategory": "generic",
+ "icon": "product-app-app",
+ "brief": "Apps",
+ "details": "Build apps for mobile, web, or wearables",
+ "aliases": [
+ "app",
+ "application_development"
+ ],
+ "template": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "App",
+ "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",
+ "type": "project-name",
+ "title": "Project Name",
+ "hidden": true,
+ "required": true,
+ "fieldName": "name",
+ "description": "",
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "id": "questions",
+ "type": "questions",
+ "title": "Questions",
+ "required": true,
+ "hideTitle": true,
+ "questions": [
+ {
+ "icon": "question",
+ "type": "tiled-radio-group",
+ "title": "Which is your primary device target?",
+ "hidden": true,
+ "options": [
+ {
+ "desc": "iOS, Android, Hybrid",
+ "icon": "icon-tech-outline-mobile",
+ "title": "Phone",
+ "value": "phone",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "iOS, Android, Hybrid",
+ "icon": "icon-tech-outline-tablet",
+ "title": "Tablet",
+ "value": "tablet",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "all OS",
+ "icon": "icon-tech-outline-desktop",
+ "title": "Desktop",
+ "value": "desktop",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "Watch OS, Android Wear",
+ "icon": "icon-tech-outline-watch-apple",
+ "title": "Wearable",
+ "value": "wearable",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ }
+ ],
+ "fieldName": "details.appDefinition.primaryTarget",
+ "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."
+ },
+ {
+ "id": "projectInfo",
+ "type": "textbox",
+ "title": "Description",
+ "hidden": true,
+ "fieldName": "description",
+ "description": "Brief Description",
+ "validations": "isRequired,minLength:160",
+ "validationErrors": {
+ "minLength": "Please enter at least 160 characters",
+ "isRequired": "Please provide a description"
+ }
+ },
+ {
+ "icon": "question",
+ "type": "see-attached-textbox",
+ "title": "What is the goal of your application? How will people use it?",
+ "hidden": true,
+ "fieldName": "details.appDefinition.goal",
+ "description": "Describe your objectives for creating this application"
+ },
+ {
+ "icon": "question",
+ "type": "see-attached-textbox",
+ "title": "Who are the users of your application? ",
+ "hidden": true,
+ "fieldName": "details.appDefinition.users",
+ "description": "Describe the roles and needs of your target users"
+ },
+ {
+ "icon": "question",
+ "type": "numberinputpositive",
+ "title": "What is your project budget?",
+ "fieldName": "details.appDefinition.budget",
+ "description": "Project budget in USD, please enter 0 if you don't have one"
+ },
+ {
+ "icon": "question",
+ "type": "slide-radiogroup",
+ "title": "How precise is your budget?",
+ "options": [
+ {
+ "title": "Its a wild guess",
+ "value": "guess"
+ },
+ {
+ "title": "I have a rough idea",
+ "value": "ballpark"
+ },
+ {
+ "title": "Precise to the penny",
+ "value": "exact"
+ }
+ ],
+ "fieldName": "details.appDefinition.budgetType",
+ "description": ""
+ },
+ {
+ "icon": "question",
+ "type": "slide-radiogroup",
+ "title": "When do you want to get started?",
+ "options": [
+ {
+ "title": "ASAP",
+ "value": "asap"
+ },
+ {
+ "title": "1-2 months",
+ "value": "1-2 months"
+ },
+ {
+ "title": "2+ months",
+ "value": "2-plus-months"
+ },
+ {
+ "title": "I'm just browsing",
+ "value": "estimating"
+ }
+ ],
+ "fieldName": "details.appDefinition.whenToStart",
+ "description": ""
+ },
+ {
+ "icon": "question",
+ "type": "slide-radiogroup",
+ "title": "Deadline",
+ "options": [
+ {
+ "title": "2 weeks",
+ "value": "2-weeks"
+ },
+ {
+ "title": "1-2 months",
+ "value": "1-2-months"
+ },
+ {
+ "title": "2+ months",
+ "value": "2-plus-months"
+ },
+ {
+ "title": "I'm just browsing",
+ "value": "estimating"
+ }
+ ],
+ "fieldName": "details.appDefinition.deadline",
+ "description": ""
+ },
+ {
+ "icon": "question",
+ "type": "see-attached-features",
+ "title": "Feature requirements",
+ "fieldName": "details.appDefinition.features",
+ "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."
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "hidden": true,
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)"
+ },
+ {
+ "id": "files",
+ "type": "files",
+ "title": "Files",
+ "category": "product",
+ "required": false,
+ "fieldName": "attachments",
+ "description": ""
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": true,
+ "isAddOn": false,
+ "createdAt": "2018-12-07T07:31:43.000Z",
+ "updatedAt": "2020-01-22T13:22:42.574Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 2,
+ "name": "Wireframes",
+ "productKey": "wireframes",
+ "category": "design",
+ "subCategory": "design",
+ "icon": "../../assets/icons/product-design-wireframes",
+ "brief": "10-15 screens",
+ "details": "Plan and explore the navigation and structure of your app",
+ "aliases": [
+ "wireframes"
+ ],
+ "template": {
+ "sections": [
+ {
+ "id": "appScreens",
+ "title": "App Screens",
+ "required": true,
+ "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",
+ "type": "screens",
+ "title": "Screens",
+ "required": true,
+ "fieldName": "details.appScreens.screens",
+ "hideTitle": true,
+ "questions": [
+ {
+ "icon": "question",
+ "type": "textinput",
+ "title": "Screen name",
+ "required": true,
+ "fieldName": "name",
+ "description": "Describe your objectives for creating this application",
+ "validations": "isRequired",
+ "validationError": "Screen name cannot be blank"
+ },
+ {
+ "icon": "question",
+ "type": "textbox",
+ "title": "What are the things the user can do on this screen?",
+ "required": true,
+ "fieldName": "description",
+ "description": "What are the important features/capabilities that the screen provides to your end users?",
+ "validations": "isRequired",
+ "validationError": "Answer cannot be blank"
+ },
+ {
+ "icon": "question",
+ "type": "select-dropdown",
+ "title": "Screen importance",
+ "options": [
+ {
+ "title": "1",
+ "value": 1
+ },
+ {
+ "title": "2",
+ "value": 2
+ },
+ {
+ "title": "3",
+ "value": 3
+ },
+ {
+ "title": "4",
+ "value": 4
+ },
+ {
+ "title": "5",
+ "value": 5
+ },
+ {
+ "title": "6",
+ "value": 6
+ },
+ {
+ "title": "7",
+ "value": 7
+ },
+ {
+ "title": "8",
+ "value": 8
+ },
+ {
+ "title": "9",
+ "value": 9
+ },
+ {
+ "title": "10",
+ "value": 10
+ }
+ ],
+ "required": true,
+ "fieldName": "importanceLevel",
+ "description": "Pick how important is this screen for your project from 1 to 10"
+ }
+ ],
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications, budget or timing constraints)"
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": false,
+ "isAddOn": false,
+ "createdAt": "2018-05-31T05:46:49.000Z",
+ "updatedAt": "2020-01-22T13:22:42.575Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 70,
+ "name": "Responsive UI Prototype",
+ "productKey": "responsive-ui-prototype",
+ "category": "design",
+ "subCategory": "design",
+ "icon": "../../assets/icons/product-design-wireframes",
+ "brief": "Responsive UI Prototype",
+ "details": "Create a responsive HTML, CSS, and JavaScript UI prototype for your application that will render on desktops, tablets and mobile devices prior to creating production-ready designs to validate current requirements or identify gaps.",
+ "aliases": [
+ "responsive-ui-prototype"
+ ],
+ "template": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "Sample Project",
+ "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",
+ "type": "project-name",
+ "title": "Project Name",
+ "required": true,
+ "fieldName": "name",
+ "description": "",
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "id": "questions",
+ "type": "questions",
+ "title": "Questions",
+ "required": true,
+ "hideTitle": true,
+ "questions": [
+ {
+ "id": "projectInfo",
+ "type": "textbox",
+ "title": "Description",
+ "fieldName": "description",
+ "description": "Brief Description",
+ "validations": "isRequired,minLength:160",
+ "validationErrors": {
+ "minLength": "Please enter at least 160 characters",
+ "isRequired": "Please provide a description"
+ }
+ },
+ {
+ "icon": "question",
+ "type": "radio-group",
+ "title": "What type of question you want to see next?",
+ "options": [
+ {
+ "label": "Checkbox Group",
+ "value": "checkbox-group"
+ },
+ {
+ "label": "Slide Radio Group",
+ "value": "slide-radiogroup"
+ },
+ {
+ "label": "Tiled Radio Group",
+ "value": "tiled-radio-group"
+ }
+ ],
+ "required": true,
+ "fieldName": "details.appDefinition.questionType",
+ "description": "Description for the radio button type question",
+ "validationError": "Please let us know consumers of your application"
+ },
+ {
+ "icon": "question",
+ "type": "tiled-radio-group",
+ "title": "Sample tiled radio group question?",
+ "options": [
+ {
+ "desc": "",
+ "icon": "icon-test-unstructured",
+ "title": "Value 1",
+ "value": "value1",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-test-structured",
+ "title": "Value 2",
+ "value": "value2",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-dont-know",
+ "title": "Value 3",
+ "value": "value3",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'tiled-radio-group'",
+ "fieldName": "details.appDefinition.sampleTiledRadioGroup",
+ "description": "Description for tiled radio group question",
+ "validationError": "Validation error for tiled radio group question"
+ },
+ {
+ "icon": "question",
+ "type": "checkbox-group",
+ "title": "Sample Checkbox group type question",
+ "options": [
+ {
+ "label": "Value 1",
+ "value": "value1"
+ },
+ {
+ "label": "Value 2",
+ "value": "value2"
+ }
+ ],
+ "condition": "details.appDefinition.questionType == 'checkbox-group'",
+ "fieldName": "details.appDefinition.sampleCheckboxGroup",
+ "description": "Description for checkbox group type question"
+ },
+ {
+ "icon": "question",
+ "type": "slide-radiogroup",
+ "title": "Sample Slide Radio Group type question",
+ "options": [
+ {
+ "title": "Under $25K ",
+ "value": "upto-25"
+ },
+ {
+ "title": "$25K to $50K",
+ "value": "upto-50"
+ },
+ {
+ "title": "$50K to $75K",
+ "value": "upto-75"
+ },
+ {
+ "title": "$75K to $100K",
+ "value": "upto-100"
+ },
+ {
+ "title": "More than $100K",
+ "value": "above-100"
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'slide-radiogroup'",
+ "fieldName": "details.appDefinition.sampleSlideRadioGroup",
+ "description": "How much budget do you have?",
+ "validationError": "Please provide value for sample radio group question"
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g. links to documents or existing applications)"
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": false,
+ "isAddOn": true,
+ "createdAt": "2019-03-04T06:50:02.000Z",
+ "updatedAt": "2020-01-22T13:22:42.575Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 67,
+ "name": "Design Direction",
+ "productKey": "design-direction",
+ "category": "design",
+ "subCategory": "ideation",
+ "icon": "../../assets/icons/product-design-wireframes",
+ "brief": "Ideation",
+ "details": "Let Topcoder set your design project up for success by first partnering to put-together requirements documentation, quick wireframes, user profiles, or sitemaps, which can be used by the Community to deliver the final designs you need.",
+ "aliases": [
+ "ideation"
+ ],
+ "template": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "Sample Project",
+ "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",
+ "type": "project-name",
+ "title": "Project Name",
+ "required": true,
+ "fieldName": "name",
+ "description": "",
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "id": "questions",
+ "type": "questions",
+ "title": "Questions",
+ "required": true,
+ "hideTitle": true,
+ "questions": [
+ {
+ "id": "projectInfo",
+ "type": "textbox",
+ "title": "Description",
+ "fieldName": "description",
+ "description": "Brief Description",
+ "validations": "isRequired,minLength:160",
+ "validationErrors": {
+ "minLength": "Please enter at least 160 characters",
+ "isRequired": "Please provide a description"
+ }
+ },
+ {
+ "icon": "question",
+ "type": "radio-group",
+ "title": "What type of question you want to see next?",
+ "options": [
+ {
+ "label": "Checkbox Group",
+ "value": "checkbox-group"
+ },
+ {
+ "label": "Slide Radio Group",
+ "value": "slide-radiogroup"
+ },
+ {
+ "label": "Tiled Radio Group",
+ "value": "tiled-radio-group"
+ }
+ ],
+ "required": true,
+ "fieldName": "details.appDefinition.questionType",
+ "description": "Description for the radio button type question",
+ "validationError": "Please let us know consumers of your application"
+ },
+ {
+ "icon": "question",
+ "type": "tiled-radio-group",
+ "title": "Sample tiled radio group question?",
+ "options": [
+ {
+ "desc": "",
+ "icon": "icon-test-unstructured",
+ "title": "Value 1",
+ "value": "value1",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-test-structured",
+ "title": "Value 2",
+ "value": "value2",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-dont-know",
+ "title": "Value 3",
+ "value": "value3",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'tiled-radio-group'",
+ "fieldName": "details.appDefinition.sampleTiledRadioGroup",
+ "description": "Description for tiled radio group question",
+ "validationError": "Validation error for tiled radio group question"
+ },
+ {
+ "icon": "question",
+ "type": "checkbox-group",
+ "title": "Sample Checkbox group type question",
+ "options": [
+ {
+ "label": "Value 1",
+ "value": "value1"
+ },
+ {
+ "label": "Value 2",
+ "value": "value2"
+ }
+ ],
+ "condition": "details.appDefinition.questionType == 'checkbox-group'",
+ "fieldName": "details.appDefinition.sampleCheckboxGroup",
+ "description": "Description for checkbox group type question"
+ },
+ {
+ "icon": "question",
+ "type": "slide-radiogroup",
+ "title": "Sample Slide Radio Group type question",
+ "options": [
+ {
+ "title": "Under $25K ",
+ "value": "upto-25"
+ },
+ {
+ "title": "$25K to $50K",
+ "value": "upto-50"
+ },
+ {
+ "title": "$50K to $75K",
+ "value": "upto-75"
+ },
+ {
+ "title": "$75K to $100K",
+ "value": "upto-100"
+ },
+ {
+ "title": "More than $100K",
+ "value": "above-100"
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'slide-radiogroup'",
+ "fieldName": "details.appDefinition.sampleSlideRadioGroup",
+ "description": "How much budget do you have?",
+ "validationError": "Please provide value for sample radio group question"
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g. links to documents or existing applications)"
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": false,
+ "isAddOn": true,
+ "createdAt": "2019-03-04T06:29:03.000Z",
+ "updatedAt": "2020-01-22T13:22:42.576Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 161,
+ "name": "Additional API Integrations",
+ "productKey": "additional-api-integration",
+ "category": "api",
+ "subCategory": "api_and_integrations",
+ "icon": "additional-api-integration",
+ "brief": "Additional API Integration",
+ "details": "Indicate the additional number of APIs you need integrated",
+ "aliases": [
+ "additional-api-integration"
+ ],
+ "template": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "Sample Project",
+ "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",
+ "type": "project-name",
+ "title": "Project Name",
+ "required": true,
+ "fieldName": "name",
+ "description": "",
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "id": "questions",
+ "type": "questions",
+ "title": "Questions",
+ "required": true,
+ "hideTitle": true,
+ "questions": [
+ {
+ "id": "projectInfo",
+ "type": "textbox",
+ "title": "Description",
+ "fieldName": "description",
+ "description": "Brief Description",
+ "validations": "isRequired,minLength:160",
+ "validationErrors": {
+ "minLength": "Please enter at least 160 characters",
+ "isRequired": "Please provide a description"
+ }
+ },
+ {
+ "icon": "question",
+ "type": "radio-group",
+ "title": "What type of question you want to see next?",
+ "options": [
+ {
+ "label": "Checkbox Group",
+ "value": "checkbox-group"
+ },
+ {
+ "label": "Slide Radio Group",
+ "value": "slide-radiogroup"
+ },
+ {
+ "label": "Tiled Radio Group",
+ "value": "tiled-radio-group"
+ }
+ ],
+ "required": true,
+ "fieldName": "details.appDefinition.questionType",
+ "description": "Description for the radio button type question",
+ "validationError": "Please let us know consumers of your application"
+ },
+ {
+ "icon": "question",
+ "type": "tiled-radio-group",
+ "title": "Sample tiled radio group question?",
+ "options": [
+ {
+ "desc": "",
+ "icon": "icon-test-unstructured",
+ "title": "Value 1",
+ "value": "value1",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-test-structured",
+ "title": "Value 2",
+ "value": "value2",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-dont-know",
+ "title": "Value 3",
+ "value": "value3",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'tiled-radio-group'",
+ "fieldName": "details.appDefinition.sampleTiledRadioGroup",
+ "description": "Description for tiled radio group question",
+ "validationError": "Validation error for tiled radio group question"
+ },
+ {
+ "icon": "question",
+ "type": "checkbox-group",
+ "title": "Sample Checkbox group type question",
+ "options": [
+ {
+ "label": "Value 1",
+ "value": "value1"
+ },
+ {
+ "label": "Value 2",
+ "value": "value2"
+ }
+ ],
+ "condition": "details.appDefinition.questionType == 'checkbox-group'",
+ "fieldName": "details.appDefinition.sampleCheckboxGroup",
+ "description": "Description for checkbox group type question"
+ },
+ {
+ "icon": "question",
+ "type": "slide-radiogroup",
+ "title": "Sample Slide Radio Group type question",
+ "options": [
+ {
+ "title": "Under $25K ",
+ "value": "upto-25"
+ },
+ {
+ "title": "$25K to $50K",
+ "value": "upto-50"
+ },
+ {
+ "title": "$50K to $75K",
+ "value": "upto-75"
+ },
+ {
+ "title": "$75K to $100K",
+ "value": "upto-100"
+ },
+ {
+ "title": "More than $100K",
+ "value": "above-100"
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'slide-radiogroup'",
+ "fieldName": "details.appDefinition.sampleSlideRadioGroup",
+ "description": "How much budget do you have?",
+ "validationError": "Please provide value for sample radio group question"
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g. links to documents or existing applications)"
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": false,
+ "isAddOn": true,
+ "createdAt": "2019-05-29T09:57:52.000Z",
+ "updatedAt": "2020-01-22T13:22:42.572Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 72,
+ "name": "API Development",
+ "productKey": "api-development",
+ "category": "development",
+ "subCategory": "api_and_integrations",
+ "icon": "../../assets/icons/product-dev-integration.svg",
+ "brief": "API Development",
+ "details": "Develop an API for your application.",
+ "aliases": [
+ "api-development"
+ ],
+ "template": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "Sample Project",
+ "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",
+ "type": "project-name",
+ "title": "Project Name",
+ "required": true,
+ "fieldName": "name",
+ "description": "",
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "id": "questions",
+ "type": "questions",
+ "title": "Questions",
+ "required": true,
+ "hideTitle": true,
+ "questions": [
+ {
+ "id": "projectInfo",
+ "type": "textbox",
+ "title": "Description",
+ "fieldName": "description",
+ "description": "Brief Description",
+ "validations": "isRequired,minLength:160",
+ "validationErrors": {
+ "minLength": "Please enter at least 160 characters",
+ "isRequired": "Please provide a description"
+ }
+ },
+ {
+ "icon": "question",
+ "type": "radio-group",
+ "title": "What type of question you want to see next?",
+ "options": [
+ {
+ "label": "Checkbox Group",
+ "value": "checkbox-group"
+ },
+ {
+ "label": "Slide Radio Group",
+ "value": "slide-radiogroup"
+ },
+ {
+ "label": "Tiled Radio Group",
+ "value": "tiled-radio-group"
+ }
+ ],
+ "required": true,
+ "fieldName": "details.appDefinition.questionType",
+ "description": "Description for the radio button type question",
+ "validationError": "Please let us know consumers of your application"
+ },
+ {
+ "icon": "question",
+ "type": "tiled-radio-group",
+ "title": "Sample tiled radio group question?",
+ "options": [
+ {
+ "desc": "",
+ "icon": "icon-test-unstructured",
+ "title": "Value 1",
+ "value": "value1",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-test-structured",
+ "title": "Value 2",
+ "value": "value2",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-dont-know",
+ "title": "Value 3",
+ "value": "value3",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'tiled-radio-group'",
+ "fieldName": "details.appDefinition.sampleTiledRadioGroup",
+ "description": "Description for tiled radio group question",
+ "validationError": "Validation error for tiled radio group question"
+ },
+ {
+ "icon": "question",
+ "type": "checkbox-group",
+ "title": "Sample Checkbox group type question",
+ "options": [
+ {
+ "label": "Value 1",
+ "value": "value1"
+ },
+ {
+ "label": "Value 2",
+ "value": "value2"
+ }
+ ],
+ "condition": "details.appDefinition.questionType == 'checkbox-group'",
+ "fieldName": "details.appDefinition.sampleCheckboxGroup",
+ "description": "Description for checkbox group type question"
+ },
+ {
+ "icon": "question",
+ "type": "slide-radiogroup",
+ "title": "Sample Slide Radio Group type question",
+ "options": [
+ {
+ "title": "Under $25K ",
+ "value": "upto-25"
+ },
+ {
+ "title": "$25K to $50K",
+ "value": "upto-50"
+ },
+ {
+ "title": "$50K to $75K",
+ "value": "upto-75"
+ },
+ {
+ "title": "$75K to $100K",
+ "value": "upto-100"
+ },
+ {
+ "title": "More than $100K",
+ "value": "above-100"
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'slide-radiogroup'",
+ "fieldName": "details.appDefinition.sampleSlideRadioGroup",
+ "description": "How much budget do you have?",
+ "validationError": "Please provide value for sample radio group question"
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g. links to documents or existing applications)"
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": false,
+ "isAddOn": true,
+ "createdAt": "2019-03-04T06:58:01.000Z",
+ "updatedAt": "2020-01-22T13:22:42.576Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 74,
+ "name": "Minimal Battery Usage Implementation",
+ "productKey": "min-battery-use-impl",
+ "category": "development",
+ "subCategory": "general_features",
+ "icon": "../../assets/icons/product-dev-integration.svg",
+ "brief": "Minimal Battery",
+ "details": "Optimize your application to use minimal network bandwidth and battery usage.",
+ "aliases": [
+ "min-battery-use-impl"
+ ],
+ "template": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "Sample Project",
+ "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",
+ "type": "project-name",
+ "title": "Project Name",
+ "required": true,
+ "fieldName": "name",
+ "description": "",
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "id": "questions",
+ "type": "questions",
+ "title": "Questions",
+ "required": true,
+ "hideTitle": true,
+ "questions": [
+ {
+ "id": "projectInfo",
+ "type": "textbox",
+ "title": "Description",
+ "fieldName": "description",
+ "description": "Brief Description",
+ "validations": "isRequired,minLength:160",
+ "validationErrors": {
+ "minLength": "Please enter at least 160 characters",
+ "isRequired": "Please provide a description"
+ }
+ },
+ {
+ "icon": "question",
+ "type": "radio-group",
+ "title": "What type of question you want to see next?",
+ "options": [
+ {
+ "label": "Checkbox Group",
+ "value": "checkbox-group"
+ },
+ {
+ "label": "Slide Radio Group",
+ "value": "slide-radiogroup"
+ },
+ {
+ "label": "Tiled Radio Group",
+ "value": "tiled-radio-group"
+ }
+ ],
+ "required": true,
+ "fieldName": "details.appDefinition.questionType",
+ "description": "Description for the radio button type question",
+ "validationError": "Please let us know consumers of your application"
+ },
+ {
+ "icon": "question",
+ "type": "tiled-radio-group",
+ "title": "Sample tiled radio group question?",
+ "options": [
+ {
+ "desc": "",
+ "icon": "icon-test-unstructured",
+ "title": "Value 1",
+ "value": "value1",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-test-structured",
+ "title": "Value 2",
+ "value": "value2",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-dont-know",
+ "title": "Value 3",
+ "value": "value3",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'tiled-radio-group'",
+ "fieldName": "details.appDefinition.sampleTiledRadioGroup",
+ "description": "Description for tiled radio group question",
+ "validationError": "Validation error for tiled radio group question"
+ },
+ {
+ "icon": "question",
+ "type": "checkbox-group",
+ "title": "Sample Checkbox group type question",
+ "options": [
+ {
+ "label": "Value 1",
+ "value": "value1"
+ },
+ {
+ "label": "Value 2",
+ "value": "value2"
+ }
+ ],
+ "condition": "details.appDefinition.questionType == 'checkbox-group'",
+ "fieldName": "details.appDefinition.sampleCheckboxGroup",
+ "description": "Description for checkbox group type question"
+ },
+ {
+ "icon": "question",
+ "type": "slide-radiogroup",
+ "title": "Sample Slide Radio Group type question",
+ "options": [
+ {
+ "title": "Under $25K ",
+ "value": "upto-25"
+ },
+ {
+ "title": "$25K to $50K",
+ "value": "upto-50"
+ },
+ {
+ "title": "$50K to $75K",
+ "value": "upto-75"
+ },
+ {
+ "title": "$75K to $100K",
+ "value": "upto-100"
+ },
+ {
+ "title": "More than $100K",
+ "value": "above-100"
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'slide-radiogroup'",
+ "fieldName": "details.appDefinition.sampleSlideRadioGroup",
+ "description": "How much budget do you have?",
+ "validationError": "Please provide value for sample radio group question"
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g. links to documents or existing applications)"
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": false,
+ "isAddOn": true,
+ "createdAt": "2019-03-04T07:06:28.000Z",
+ "updatedAt": "2020-01-22T13:22:42.583Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 75,
+ "name": "Email (SMTP Server) Setup",
+ "productKey": "smtp-server-setup",
+ "category": "development",
+ "subCategory": "general_features",
+ "icon": "../../assets/icons/product-dev-integration.svg",
+ "brief": "Email (SMTP Server) Setup",
+ "details": "Develop a configured SMTP server to provide email notifications from your application.",
+ "aliases": [
+ "smtp-server-setup"
+ ],
+ "template": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "Sample Project",
+ "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",
+ "type": "project-name",
+ "title": "Project Name",
+ "required": true,
+ "fieldName": "name",
+ "description": "",
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "id": "questions",
+ "type": "questions",
+ "title": "Questions",
+ "required": true,
+ "hideTitle": true,
+ "questions": [
+ {
+ "id": "projectInfo",
+ "type": "textbox",
+ "title": "Description",
+ "fieldName": "description",
+ "description": "Brief Description",
+ "validations": "isRequired,minLength:160",
+ "validationErrors": {
+ "minLength": "Please enter at least 160 characters",
+ "isRequired": "Please provide a description"
+ }
+ },
+ {
+ "icon": "question",
+ "type": "radio-group",
+ "title": "What type of question you want to see next?",
+ "options": [
+ {
+ "label": "Checkbox Group",
+ "value": "checkbox-group"
+ },
+ {
+ "label": "Slide Radio Group",
+ "value": "slide-radiogroup"
+ },
+ {
+ "label": "Tiled Radio Group",
+ "value": "tiled-radio-group"
+ }
+ ],
+ "required": true,
+ "fieldName": "details.appDefinition.questionType",
+ "description": "Description for the radio button type question",
+ "validationError": "Please let us know consumers of your application"
+ },
+ {
+ "icon": "question",
+ "type": "tiled-radio-group",
+ "title": "Sample tiled radio group question?",
+ "options": [
+ {
+ "desc": "",
+ "icon": "icon-test-unstructured",
+ "title": "Value 1",
+ "value": "value1",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-test-structured",
+ "title": "Value 2",
+ "value": "value2",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-dont-know",
+ "title": "Value 3",
+ "value": "value3",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'tiled-radio-group'",
+ "fieldName": "details.appDefinition.sampleTiledRadioGroup",
+ "description": "Description for tiled radio group question",
+ "validationError": "Validation error for tiled radio group question"
+ },
+ {
+ "icon": "question",
+ "type": "checkbox-group",
+ "title": "Sample Checkbox group type question",
+ "options": [
+ {
+ "label": "Value 1",
+ "value": "value1"
+ },
+ {
+ "label": "Value 2",
+ "value": "value2"
+ }
+ ],
+ "condition": "details.appDefinition.questionType == 'checkbox-group'",
+ "fieldName": "details.appDefinition.sampleCheckboxGroup",
+ "description": "Description for checkbox group type question"
+ },
+ {
+ "icon": "question",
+ "type": "slide-radiogroup",
+ "title": "Sample Slide Radio Group type question",
+ "options": [
+ {
+ "title": "Under $25K ",
+ "value": "upto-25"
+ },
+ {
+ "title": "$25K to $50K",
+ "value": "upto-50"
+ },
+ {
+ "title": "$50K to $75K",
+ "value": "upto-75"
+ },
+ {
+ "title": "$75K to $100K",
+ "value": "upto-100"
+ },
+ {
+ "title": "More than $100K",
+ "value": "above-100"
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'slide-radiogroup'",
+ "fieldName": "details.appDefinition.sampleSlideRadioGroup",
+ "description": "How much budget do you have?",
+ "validationError": "Please provide value for sample radio group question"
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g. links to documents or existing applications)"
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": false,
+ "isAddOn": true,
+ "createdAt": "2019-03-04T07:07:08.000Z",
+ "updatedAt": "2020-01-22T13:22:42.689Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 76,
+ "name": "Backend Development",
+ "productKey": "backend-development",
+ "category": "development",
+ "subCategory": "general_features",
+ "icon": "../../assets/icons/product-dev-integration.svg",
+ "brief": "Backend Development",
+ "details": "Commonly used to develop the backend of existing applications to support front-end enhancements.",
+ "aliases": [
+ "backend-development"
+ ],
+ "template": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "Sample Project",
+ "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",
+ "type": "project-name",
+ "title": "Project Name",
+ "required": true,
+ "fieldName": "name",
+ "description": "",
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "id": "questions",
+ "type": "questions",
+ "title": "Questions",
+ "required": true,
+ "hideTitle": true,
+ "questions": [
+ {
+ "id": "projectInfo",
+ "type": "textbox",
+ "title": "Description",
+ "fieldName": "description",
+ "description": "Brief Description",
+ "validations": "isRequired,minLength:160",
+ "validationErrors": {
+ "minLength": "Please enter at least 160 characters",
+ "isRequired": "Please provide a description"
+ }
+ },
+ {
+ "icon": "question",
+ "type": "radio-group",
+ "title": "What type of question you want to see next?",
+ "options": [
+ {
+ "label": "Checkbox Group",
+ "value": "checkbox-group"
+ },
+ {
+ "label": "Slide Radio Group",
+ "value": "slide-radiogroup"
+ },
+ {
+ "label": "Tiled Radio Group",
+ "value": "tiled-radio-group"
+ }
+ ],
+ "required": true,
+ "fieldName": "details.appDefinition.questionType",
+ "description": "Description for the radio button type question",
+ "validationError": "Please let us know consumers of your application"
+ },
+ {
+ "icon": "question",
+ "type": "tiled-radio-group",
+ "title": "Sample tiled radio group question?",
+ "options": [
+ {
+ "desc": "",
+ "icon": "icon-test-unstructured",
+ "title": "Value 1",
+ "value": "value1",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-test-structured",
+ "title": "Value 2",
+ "value": "value2",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-dont-know",
+ "title": "Value 3",
+ "value": "value3",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'tiled-radio-group'",
+ "fieldName": "details.appDefinition.sampleTiledRadioGroup",
+ "description": "Description for tiled radio group question",
+ "validationError": "Validation error for tiled radio group question"
+ },
+ {
+ "icon": "question",
+ "type": "checkbox-group",
+ "title": "Sample Checkbox group type question",
+ "options": [
+ {
+ "label": "Value 1",
+ "value": "value1"
+ },
+ {
+ "label": "Value 2",
+ "value": "value2"
+ }
+ ],
+ "condition": "details.appDefinition.questionType == 'checkbox-group'",
+ "fieldName": "details.appDefinition.sampleCheckboxGroup",
+ "description": "Description for checkbox group type question"
+ },
+ {
+ "icon": "question",
+ "type": "slide-radiogroup",
+ "title": "Sample Slide Radio Group type question",
+ "options": [
+ {
+ "title": "Under $25K ",
+ "value": "upto-25"
+ },
+ {
+ "title": "$25K to $50K",
+ "value": "upto-50"
+ },
+ {
+ "title": "$50K to $75K",
+ "value": "upto-75"
+ },
+ {
+ "title": "$75K to $100K",
+ "value": "upto-100"
+ },
+ {
+ "title": "More than $100K",
+ "value": "above-100"
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'slide-radiogroup'",
+ "fieldName": "details.appDefinition.sampleSlideRadioGroup",
+ "description": "How much budget do you have?",
+ "validationError": "Please provide value for sample radio group question"
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g. links to documents or existing applications)"
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": false,
+ "isAddOn": true,
+ "createdAt": "2019-03-04T07:08:02.000Z",
+ "updatedAt": "2020-01-22T13:22:42.730Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 77,
+ "name": "Responsive Design Implementation",
+ "productKey": "resp-design-impl",
+ "category": "development",
+ "subCategory": "general_features",
+ "icon": "../../assets/icons/product-dev-integration.svg",
+ "brief": "Responsive Design Implementation",
+ "details": "Implementation of Bootstrap, Material Design, Polymer or equivalent to support responsive design.",
+ "aliases": [
+ "resp-design-impl"
+ ],
+ "template": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "Sample Project",
+ "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",
+ "type": "project-name",
+ "title": "Project Name",
+ "required": true,
+ "fieldName": "name",
+ "description": "",
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "id": "questions",
+ "type": "questions",
+ "title": "Questions",
+ "required": true,
+ "hideTitle": true,
+ "questions": [
+ {
+ "id": "projectInfo",
+ "type": "textbox",
+ "title": "Description",
+ "fieldName": "description",
+ "description": "Brief Description",
+ "validations": "isRequired,minLength:160",
+ "validationErrors": {
+ "minLength": "Please enter at least 160 characters",
+ "isRequired": "Please provide a description"
+ }
+ },
+ {
+ "icon": "question",
+ "type": "radio-group",
+ "title": "What type of question you want to see next?",
+ "options": [
+ {
+ "label": "Checkbox Group",
+ "value": "checkbox-group"
+ },
+ {
+ "label": "Slide Radio Group",
+ "value": "slide-radiogroup"
+ },
+ {
+ "label": "Tiled Radio Group",
+ "value": "tiled-radio-group"
+ }
+ ],
+ "required": true,
+ "fieldName": "details.appDefinition.questionType",
+ "description": "Description for the radio button type question",
+ "validationError": "Please let us know consumers of your application"
+ },
+ {
+ "icon": "question",
+ "type": "tiled-radio-group",
+ "title": "Sample tiled radio group question?",
+ "options": [
+ {
+ "desc": "",
+ "icon": "icon-test-unstructured",
+ "title": "Value 1",
+ "value": "value1",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-test-structured",
+ "title": "Value 2",
+ "value": "value2",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-dont-know",
+ "title": "Value 3",
+ "value": "value3",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'tiled-radio-group'",
+ "fieldName": "details.appDefinition.sampleTiledRadioGroup",
+ "description": "Description for tiled radio group question",
+ "validationError": "Validation error for tiled radio group question"
+ },
+ {
+ "icon": "question",
+ "type": "checkbox-group",
+ "title": "Sample Checkbox group type question",
+ "options": [
+ {
+ "label": "Value 1",
+ "value": "value1"
+ },
+ {
+ "label": "Value 2",
+ "value": "value2"
+ }
+ ],
+ "condition": "details.appDefinition.questionType == 'checkbox-group'",
+ "fieldName": "details.appDefinition.sampleCheckboxGroup",
+ "description": "Description for checkbox group type question"
+ },
+ {
+ "icon": "question",
+ "type": "slide-radiogroup",
+ "title": "Sample Slide Radio Group type question",
+ "options": [
+ {
+ "title": "Under $25K ",
+ "value": "upto-25"
+ },
+ {
+ "title": "$25K to $50K",
+ "value": "upto-50"
+ },
+ {
+ "title": "$50K to $75K",
+ "value": "upto-75"
+ },
+ {
+ "title": "$75K to $100K",
+ "value": "upto-100"
+ },
+ {
+ "title": "More than $100K",
+ "value": "above-100"
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'slide-radiogroup'",
+ "fieldName": "details.appDefinition.sampleSlideRadioGroup",
+ "description": "How much budget do you have?",
+ "validationError": "Please provide value for sample radio group question"
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g. links to documents or existing applications)"
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": false,
+ "isAddOn": true,
+ "createdAt": "2019-03-04T07:08:50.000Z",
+ "updatedAt": "2020-01-22T13:22:42.731Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 82,
+ "name": "SSO Integration",
+ "productKey": "sso-integration",
+ "category": "development",
+ "subCategory": "api_and_integrations",
+ "icon": "../../assets/icons/product-dev-integration.svg",
+ "brief": "SSO Integration",
+ "details": "Integrate your application with your enterprise single sign-on capability.",
+ "aliases": [
+ "sso-integration"
+ ],
+ "template": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "Sample Project",
+ "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",
+ "type": "project-name",
+ "title": "Project Name",
+ "required": true,
+ "fieldName": "name",
+ "description": "",
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "id": "questions",
+ "type": "questions",
+ "title": "Questions",
+ "required": true,
+ "hideTitle": true,
+ "questions": [
+ {
+ "id": "projectInfo",
+ "type": "textbox",
+ "title": "Description",
+ "fieldName": "description",
+ "description": "Brief Description",
+ "validations": "isRequired,minLength:160",
+ "validationErrors": {
+ "minLength": "Please enter at least 160 characters",
+ "isRequired": "Please provide a description"
+ }
+ },
+ {
+ "icon": "question",
+ "type": "radio-group",
+ "title": "What type of question you want to see next?",
+ "options": [
+ {
+ "label": "Checkbox Group",
+ "value": "checkbox-group"
+ },
+ {
+ "label": "Slide Radio Group",
+ "value": "slide-radiogroup"
+ },
+ {
+ "label": "Tiled Radio Group",
+ "value": "tiled-radio-group"
+ }
+ ],
+ "required": true,
+ "fieldName": "details.appDefinition.questionType",
+ "description": "Description for the radio button type question",
+ "validationError": "Please let us know consumers of your application"
+ },
+ {
+ "icon": "question",
+ "type": "tiled-radio-group",
+ "title": "Sample tiled radio group question?",
+ "options": [
+ {
+ "desc": "",
+ "icon": "icon-test-unstructured",
+ "title": "Value 1",
+ "value": "value1",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-test-structured",
+ "title": "Value 2",
+ "value": "value2",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-dont-know",
+ "title": "Value 3",
+ "value": "value3",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'tiled-radio-group'",
+ "fieldName": "details.appDefinition.sampleTiledRadioGroup",
+ "description": "Description for tiled radio group question",
+ "validationError": "Validation error for tiled radio group question"
+ },
+ {
+ "icon": "question",
+ "type": "checkbox-group",
+ "title": "Sample Checkbox group type question",
+ "options": [
+ {
+ "label": "Value 1",
+ "value": "value1"
+ },
+ {
+ "label": "Value 2",
+ "value": "value2"
+ }
+ ],
+ "condition": "details.appDefinition.questionType == 'checkbox-group'",
+ "fieldName": "details.appDefinition.sampleCheckboxGroup",
+ "description": "Description for checkbox group type question"
+ },
+ {
+ "icon": "question",
+ "type": "slide-radiogroup",
+ "title": "Sample Slide Radio Group type question",
+ "options": [
+ {
+ "title": "Under $25K ",
+ "value": "upto-25"
+ },
+ {
+ "title": "$25K to $50K",
+ "value": "upto-50"
+ },
+ {
+ "title": "$50K to $75K",
+ "value": "upto-75"
+ },
+ {
+ "title": "$75K to $100K",
+ "value": "upto-100"
+ },
+ {
+ "title": "More than $100K",
+ "value": "above-100"
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'slide-radiogroup'",
+ "fieldName": "details.appDefinition.sampleSlideRadioGroup",
+ "description": "How much budget do you have?",
+ "validationError": "Please provide value for sample radio group question"
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g. links to documents or existing applications)"
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": false,
+ "isAddOn": true,
+ "createdAt": "2019-03-04T07:13:35.000Z",
+ "updatedAt": "2020-01-22T13:22:42.731Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 85,
+ "name": "Social Media Integration",
+ "productKey": "social-media-integration",
+ "category": "development",
+ "subCategory": "api_and_integrations",
+ "icon": "../../assets/icons/product-dev-integration.svg",
+ "brief": "Social Media Integration",
+ "details": "Integrate your application with social media providers, such as Facebook, Instagram, Twitter, Google +, etc.",
+ "aliases": [
+ "social-media-integration"
+ ],
+ "template": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "Sample Project",
+ "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",
+ "type": "project-name",
+ "title": "Project Name",
+ "required": true,
+ "fieldName": "name",
+ "description": "",
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "id": "questions",
+ "type": "questions",
+ "title": "Questions",
+ "required": true,
+ "hideTitle": true,
+ "questions": [
+ {
+ "id": "projectInfo",
+ "type": "textbox",
+ "title": "Description",
+ "fieldName": "description",
+ "description": "Brief Description",
+ "validations": "isRequired,minLength:160",
+ "validationErrors": {
+ "minLength": "Please enter at least 160 characters",
+ "isRequired": "Please provide a description"
+ }
+ },
+ {
+ "icon": "question",
+ "type": "radio-group",
+ "title": "What type of question you want to see next?",
+ "options": [
+ {
+ "label": "Checkbox Group",
+ "value": "checkbox-group"
+ },
+ {
+ "label": "Slide Radio Group",
+ "value": "slide-radiogroup"
+ },
+ {
+ "label": "Tiled Radio Group",
+ "value": "tiled-radio-group"
+ }
+ ],
+ "required": true,
+ "fieldName": "details.appDefinition.questionType",
+ "description": "Description for the radio button type question",
+ "validationError": "Please let us know consumers of your application"
+ },
+ {
+ "icon": "question",
+ "type": "tiled-radio-group",
+ "title": "Sample tiled radio group question?",
+ "options": [
+ {
+ "desc": "",
+ "icon": "icon-test-unstructured",
+ "title": "Value 1",
+ "value": "value1",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-test-structured",
+ "title": "Value 2",
+ "value": "value2",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-dont-know",
+ "title": "Value 3",
+ "value": "value3",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'tiled-radio-group'",
+ "fieldName": "details.appDefinition.sampleTiledRadioGroup",
+ "description": "Description for tiled radio group question",
+ "validationError": "Validation error for tiled radio group question"
+ },
+ {
+ "icon": "question",
+ "type": "checkbox-group",
+ "title": "Sample Checkbox group type question",
+ "options": [
+ {
+ "label": "Value 1",
+ "value": "value1"
+ },
+ {
+ "label": "Value 2",
+ "value": "value2"
+ }
+ ],
+ "condition": "details.appDefinition.questionType == 'checkbox-group'",
+ "fieldName": "details.appDefinition.sampleCheckboxGroup",
+ "description": "Description for checkbox group type question"
+ },
+ {
+ "icon": "question",
+ "type": "slide-radiogroup",
+ "title": "Sample Slide Radio Group type question",
+ "options": [
+ {
+ "title": "Under $25K ",
+ "value": "upto-25"
+ },
+ {
+ "title": "$25K to $50K",
+ "value": "upto-50"
+ },
+ {
+ "title": "$50K to $75K",
+ "value": "upto-75"
+ },
+ {
+ "title": "$75K to $100K",
+ "value": "upto-100"
+ },
+ {
+ "title": "More than $100K",
+ "value": "above-100"
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'slide-radiogroup'",
+ "fieldName": "details.appDefinition.sampleSlideRadioGroup",
+ "description": "How much budget do you have?",
+ "validationError": "Please provide value for sample radio group question"
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g. links to documents or existing applications)"
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": false,
+ "isAddOn": true,
+ "createdAt": "2019-03-04T07:15:29.000Z",
+ "updatedAt": "2020-01-22T13:22:42.731Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 84,
+ "name": "SMS Gateway Integration",
+ "productKey": "sms-gateway-integration",
+ "category": "development",
+ "subCategory": "api_and_integrations",
+ "icon": "../../assets/icons/product-dev-integration.svg",
+ "brief": "SMS Gateway Integration",
+ "details": "Integrate your application with an external SMS gateway provider.",
+ "aliases": [
+ "sms-gateway-integration"
+ ],
+ "template": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "Sample Project",
+ "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",
+ "type": "project-name",
+ "title": "Project Name",
+ "required": true,
+ "fieldName": "name",
+ "description": "",
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "id": "questions",
+ "type": "questions",
+ "title": "Questions",
+ "required": true,
+ "hideTitle": true,
+ "questions": [
+ {
+ "id": "projectInfo",
+ "type": "textbox",
+ "title": "Description",
+ "fieldName": "description",
+ "description": "Brief Description",
+ "validations": "isRequired,minLength:160",
+ "validationErrors": {
+ "minLength": "Please enter at least 160 characters",
+ "isRequired": "Please provide a description"
+ }
+ },
+ {
+ "icon": "question",
+ "type": "radio-group",
+ "title": "What type of question you want to see next?",
+ "options": [
+ {
+ "label": "Checkbox Group",
+ "value": "checkbox-group"
+ },
+ {
+ "label": "Slide Radio Group",
+ "value": "slide-radiogroup"
+ },
+ {
+ "label": "Tiled Radio Group",
+ "value": "tiled-radio-group"
+ }
+ ],
+ "required": true,
+ "fieldName": "details.appDefinition.questionType",
+ "description": "Description for the radio button type question",
+ "validationError": "Please let us know consumers of your application"
+ },
+ {
+ "icon": "question",
+ "type": "tiled-radio-group",
+ "title": "Sample tiled radio group question?",
+ "options": [
+ {
+ "desc": "",
+ "icon": "icon-test-unstructured",
+ "title": "Value 1",
+ "value": "value1",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-test-structured",
+ "title": "Value 2",
+ "value": "value2",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-dont-know",
+ "title": "Value 3",
+ "value": "value3",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'tiled-radio-group'",
+ "fieldName": "details.appDefinition.sampleTiledRadioGroup",
+ "description": "Description for tiled radio group question",
+ "validationError": "Validation error for tiled radio group question"
+ },
+ {
+ "icon": "question",
+ "type": "checkbox-group",
+ "title": "Sample Checkbox group type question",
+ "options": [
+ {
+ "label": "Value 1",
+ "value": "value1"
+ },
+ {
+ "label": "Value 2",
+ "value": "value2"
+ }
+ ],
+ "condition": "details.appDefinition.questionType == 'checkbox-group'",
+ "fieldName": "details.appDefinition.sampleCheckboxGroup",
+ "description": "Description for checkbox group type question"
+ },
+ {
+ "icon": "question",
+ "type": "slide-radiogroup",
+ "title": "Sample Slide Radio Group type question",
+ "options": [
+ {
+ "title": "Under $25K ",
+ "value": "upto-25"
+ },
+ {
+ "title": "$25K to $50K",
+ "value": "upto-50"
+ },
+ {
+ "title": "$50K to $75K",
+ "value": "upto-75"
+ },
+ {
+ "title": "$75K to $100K",
+ "value": "upto-100"
+ },
+ {
+ "title": "More than $100K",
+ "value": "above-100"
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'slide-radiogroup'",
+ "fieldName": "details.appDefinition.sampleSlideRadioGroup",
+ "description": "How much budget do you have?",
+ "validationError": "Please provide value for sample radio group question"
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g. links to documents or existing applications)"
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": false,
+ "isAddOn": true,
+ "createdAt": "2019-03-04T07:14:54.000Z",
+ "updatedAt": "2020-01-22T13:22:42.731Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 88,
+ "name": "Blackduck License scanning",
+ "productKey": "blackduck-scanning",
+ "category": "development",
+ "subCategory": "security",
+ "icon": "../../assets/icons/product-dev-integration.svg",
+ "brief": "Blackduck License scanning",
+ "details": "Leverage Blackduck’s open-sourced compliance report for an unlimited number of reports for up to 3 months.",
+ "aliases": [
+ "blackduck-scanning"
+ ],
+ "template": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "Sample Project",
+ "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",
+ "type": "project-name",
+ "title": "Project Name",
+ "required": true,
+ "fieldName": "name",
+ "description": "",
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "id": "questions",
+ "type": "questions",
+ "title": "Questions",
+ "required": true,
+ "hideTitle": true,
+ "questions": [
+ {
+ "id": "projectInfo",
+ "type": "textbox",
+ "title": "Description",
+ "fieldName": "description",
+ "description": "Brief Description",
+ "validations": "isRequired,minLength:160",
+ "validationErrors": {
+ "minLength": "Please enter at least 160 characters",
+ "isRequired": "Please provide a description"
+ }
+ },
+ {
+ "icon": "question",
+ "type": "radio-group",
+ "title": "What type of question you want to see next?",
+ "options": [
+ {
+ "label": "Checkbox Group",
+ "value": "checkbox-group"
+ },
+ {
+ "label": "Slide Radio Group",
+ "value": "slide-radiogroup"
+ },
+ {
+ "label": "Tiled Radio Group",
+ "value": "tiled-radio-group"
+ }
+ ],
+ "required": true,
+ "fieldName": "details.appDefinition.questionType",
+ "description": "Description for the radio button type question",
+ "validationError": "Please let us know consumers of your application"
+ },
+ {
+ "icon": "question",
+ "type": "tiled-radio-group",
+ "title": "Sample tiled radio group question?",
+ "options": [
+ {
+ "desc": "",
+ "icon": "icon-test-unstructured",
+ "title": "Value 1",
+ "value": "value1",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-test-structured",
+ "title": "Value 2",
+ "value": "value2",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-dont-know",
+ "title": "Value 3",
+ "value": "value3",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'tiled-radio-group'",
+ "fieldName": "details.appDefinition.sampleTiledRadioGroup",
+ "description": "Description for tiled radio group question",
+ "validationError": "Validation error for tiled radio group question"
+ },
+ {
+ "icon": "question",
+ "type": "checkbox-group",
+ "title": "Sample Checkbox group type question",
+ "options": [
+ {
+ "label": "Value 1",
+ "value": "value1"
+ },
+ {
+ "label": "Value 2",
+ "value": "value2"
+ }
+ ],
+ "condition": "details.appDefinition.questionType == 'checkbox-group'",
+ "fieldName": "details.appDefinition.sampleCheckboxGroup",
+ "description": "Description for checkbox group type question"
+ },
+ {
+ "icon": "question",
+ "type": "slide-radiogroup",
+ "title": "Sample Slide Radio Group type question",
+ "options": [
+ {
+ "title": "Under $25K ",
+ "value": "upto-25"
+ },
+ {
+ "title": "$25K to $50K",
+ "value": "upto-50"
+ },
+ {
+ "title": "$50K to $75K",
+ "value": "upto-75"
+ },
+ {
+ "title": "$75K to $100K",
+ "value": "upto-100"
+ },
+ {
+ "title": "More than $100K",
+ "value": "above-100"
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'slide-radiogroup'",
+ "fieldName": "details.appDefinition.sampleSlideRadioGroup",
+ "description": "How much budget do you have?",
+ "validationError": "Please provide value for sample radio group question"
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g. links to documents or existing applications)"
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": false,
+ "isAddOn": true,
+ "createdAt": "2019-03-04T07:21:45.000Z",
+ "updatedAt": "2020-01-22T13:22:42.732Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 81,
+ "name": "Google Analytics Implementation",
+ "productKey": "google-analytics-impl",
+ "category": "development",
+ "subCategory": "general_features",
+ "icon": "../../assets/icons/product-dev-integration.svg",
+ "brief": "Google Analytics Implementation",
+ "details": "Implement Google Analytics to track and monitor user interactions on your application.",
+ "aliases": [
+ "google-analytics-impl"
+ ],
+ "template": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "Sample Project",
+ "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",
+ "type": "project-name",
+ "title": "Project Name",
+ "required": true,
+ "fieldName": "name",
+ "description": "",
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "id": "questions",
+ "type": "questions",
+ "title": "Questions",
+ "required": true,
+ "hideTitle": true,
+ "questions": [
+ {
+ "id": "projectInfo",
+ "type": "textbox",
+ "title": "Description",
+ "fieldName": "description",
+ "description": "Brief Description",
+ "validations": "isRequired,minLength:160",
+ "validationErrors": {
+ "minLength": "Please enter at least 160 characters",
+ "isRequired": "Please provide a description"
+ }
+ },
+ {
+ "icon": "question",
+ "type": "radio-group",
+ "title": "What type of question you want to see next?",
+ "options": [
+ {
+ "label": "Checkbox Group",
+ "value": "checkbox-group"
+ },
+ {
+ "label": "Slide Radio Group",
+ "value": "slide-radiogroup"
+ },
+ {
+ "label": "Tiled Radio Group",
+ "value": "tiled-radio-group"
+ }
+ ],
+ "required": true,
+ "fieldName": "details.appDefinition.questionType",
+ "description": "Description for the radio button type question",
+ "validationError": "Please let us know consumers of your application"
+ },
+ {
+ "icon": "question",
+ "type": "tiled-radio-group",
+ "title": "Sample tiled radio group question?",
+ "options": [
+ {
+ "desc": "",
+ "icon": "icon-test-unstructured",
+ "title": "Value 1",
+ "value": "value1",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-test-structured",
+ "title": "Value 2",
+ "value": "value2",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-dont-know",
+ "title": "Value 3",
+ "value": "value3",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'tiled-radio-group'",
+ "fieldName": "details.appDefinition.sampleTiledRadioGroup",
+ "description": "Description for tiled radio group question",
+ "validationError": "Validation error for tiled radio group question"
+ },
+ {
+ "icon": "question",
+ "type": "checkbox-group",
+ "title": "Sample Checkbox group type question",
+ "options": [
+ {
+ "label": "Value 1",
+ "value": "value1"
+ },
+ {
+ "label": "Value 2",
+ "value": "value2"
+ }
+ ],
+ "condition": "details.appDefinition.questionType == 'checkbox-group'",
+ "fieldName": "details.appDefinition.sampleCheckboxGroup",
+ "description": "Description for checkbox group type question"
+ },
+ {
+ "icon": "question",
+ "type": "slide-radiogroup",
+ "title": "Sample Slide Radio Group type question",
+ "options": [
+ {
+ "title": "Under $25K ",
+ "value": "upto-25"
+ },
+ {
+ "title": "$25K to $50K",
+ "value": "upto-50"
+ },
+ {
+ "title": "$50K to $75K",
+ "value": "upto-75"
+ },
+ {
+ "title": "$75K to $100K",
+ "value": "upto-100"
+ },
+ {
+ "title": "More than $100K",
+ "value": "above-100"
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'slide-radiogroup'",
+ "fieldName": "details.appDefinition.sampleSlideRadioGroup",
+ "description": "How much budget do you have?",
+ "validationError": "Please provide value for sample radio group question"
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g. links to documents or existing applications)"
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": false,
+ "isAddOn": true,
+ "createdAt": "2019-03-04T07:12:52.000Z",
+ "updatedAt": "2020-01-22T13:22:42.731Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 80,
+ "name": "Containerized Code",
+ "productKey": "containerized-code",
+ "category": "development",
+ "subCategory": "general_features",
+ "icon": "../../assets/icons/product-dev-integration.svg",
+ "brief": "Containerized Code",
+ "details": "Containerization of the code base using Docker for easy and efficient deployment and maintenance.",
+ "aliases": [
+ "containerized-code"
+ ],
+ "template": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "Sample Project",
+ "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",
+ "type": "project-name",
+ "title": "Project Name",
+ "required": true,
+ "fieldName": "name",
+ "description": "",
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "id": "questions",
+ "type": "questions",
+ "title": "Questions",
+ "required": true,
+ "hideTitle": true,
+ "questions": [
+ {
+ "id": "projectInfo",
+ "type": "textbox",
+ "title": "Description",
+ "fieldName": "description",
+ "description": "Brief Description",
+ "validations": "isRequired,minLength:160",
+ "validationErrors": {
+ "minLength": "Please enter at least 160 characters",
+ "isRequired": "Please provide a description"
+ }
+ },
+ {
+ "icon": "question",
+ "type": "radio-group",
+ "title": "What type of question you want to see next?",
+ "options": [
+ {
+ "label": "Checkbox Group",
+ "value": "checkbox-group"
+ },
+ {
+ "label": "Slide Radio Group",
+ "value": "slide-radiogroup"
+ },
+ {
+ "label": "Tiled Radio Group",
+ "value": "tiled-radio-group"
+ }
+ ],
+ "required": true,
+ "fieldName": "details.appDefinition.questionType",
+ "description": "Description for the radio button type question",
+ "validationError": "Please let us know consumers of your application"
+ },
+ {
+ "icon": "question",
+ "type": "tiled-radio-group",
+ "title": "Sample tiled radio group question?",
+ "options": [
+ {
+ "desc": "",
+ "icon": "icon-test-unstructured",
+ "title": "Value 1",
+ "value": "value1",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-test-structured",
+ "title": "Value 2",
+ "value": "value2",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-dont-know",
+ "title": "Value 3",
+ "value": "value3",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'tiled-radio-group'",
+ "fieldName": "details.appDefinition.sampleTiledRadioGroup",
+ "description": "Description for tiled radio group question",
+ "validationError": "Validation error for tiled radio group question"
+ },
+ {
+ "icon": "question",
+ "type": "checkbox-group",
+ "title": "Sample Checkbox group type question",
+ "options": [
+ {
+ "label": "Value 1",
+ "value": "value1"
+ },
+ {
+ "label": "Value 2",
+ "value": "value2"
+ }
+ ],
+ "condition": "details.appDefinition.questionType == 'checkbox-group'",
+ "fieldName": "details.appDefinition.sampleCheckboxGroup",
+ "description": "Description for checkbox group type question"
+ },
+ {
+ "icon": "question",
+ "type": "slide-radiogroup",
+ "title": "Sample Slide Radio Group type question",
+ "options": [
+ {
+ "title": "Under $25K ",
+ "value": "upto-25"
+ },
+ {
+ "title": "$25K to $50K",
+ "value": "upto-50"
+ },
+ {
+ "title": "$50K to $75K",
+ "value": "upto-75"
+ },
+ {
+ "title": "$75K to $100K",
+ "value": "upto-100"
+ },
+ {
+ "title": "More than $100K",
+ "value": "above-100"
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'slide-radiogroup'",
+ "fieldName": "details.appDefinition.sampleSlideRadioGroup",
+ "description": "How much budget do you have?",
+ "validationError": "Please provide value for sample radio group question"
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g. links to documents or existing applications)"
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": false,
+ "isAddOn": true,
+ "createdAt": "2019-03-04T07:12:12.000Z",
+ "updatedAt": "2020-01-22T13:22:42.732Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 79,
+ "name": "Location Based Services",
+ "productKey": "location-based-services",
+ "category": "development",
+ "subCategory": "general_features",
+ "icon": "../../assets/icons/product-dev-integration.svg",
+ "brief": "Location Based Services",
+ "details": "Support location-based features by tracking your users geographic location.",
+ "aliases": [
+ "location-based-services"
+ ],
+ "template": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "Sample Project",
+ "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",
+ "type": "project-name",
+ "title": "Project Name",
+ "required": true,
+ "fieldName": "name",
+ "description": "",
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "id": "questions",
+ "type": "questions",
+ "title": "Questions",
+ "required": true,
+ "hideTitle": true,
+ "questions": [
+ {
+ "id": "projectInfo",
+ "type": "textbox",
+ "title": "Description",
+ "fieldName": "description",
+ "description": "Brief Description",
+ "validations": "isRequired,minLength:160",
+ "validationErrors": {
+ "minLength": "Please enter at least 160 characters",
+ "isRequired": "Please provide a description"
+ }
+ },
+ {
+ "icon": "question",
+ "type": "radio-group",
+ "title": "What type of question you want to see next?",
+ "options": [
+ {
+ "label": "Checkbox Group",
+ "value": "checkbox-group"
+ },
+ {
+ "label": "Slide Radio Group",
+ "value": "slide-radiogroup"
+ },
+ {
+ "label": "Tiled Radio Group",
+ "value": "tiled-radio-group"
+ }
+ ],
+ "required": true,
+ "fieldName": "details.appDefinition.questionType",
+ "description": "Description for the radio button type question",
+ "validationError": "Please let us know consumers of your application"
+ },
+ {
+ "icon": "question",
+ "type": "tiled-radio-group",
+ "title": "Sample tiled radio group question?",
+ "options": [
+ {
+ "desc": "",
+ "icon": "icon-test-unstructured",
+ "title": "Value 1",
+ "value": "value1",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-test-structured",
+ "title": "Value 2",
+ "value": "value2",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-dont-know",
+ "title": "Value 3",
+ "value": "value3",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'tiled-radio-group'",
+ "fieldName": "details.appDefinition.sampleTiledRadioGroup",
+ "description": "Description for tiled radio group question",
+ "validationError": "Validation error for tiled radio group question"
+ },
+ {
+ "icon": "question",
+ "type": "checkbox-group",
+ "title": "Sample Checkbox group type question",
+ "options": [
+ {
+ "label": "Value 1",
+ "value": "value1"
+ },
+ {
+ "label": "Value 2",
+ "value": "value2"
+ }
+ ],
+ "condition": "details.appDefinition.questionType == 'checkbox-group'",
+ "fieldName": "details.appDefinition.sampleCheckboxGroup",
+ "description": "Description for checkbox group type question"
+ },
+ {
+ "icon": "question",
+ "type": "slide-radiogroup",
+ "title": "Sample Slide Radio Group type question",
+ "options": [
+ {
+ "title": "Under $25K ",
+ "value": "upto-25"
+ },
+ {
+ "title": "$25K to $50K",
+ "value": "upto-50"
+ },
+ {
+ "title": "$50K to $75K",
+ "value": "upto-75"
+ },
+ {
+ "title": "$75K to $100K",
+ "value": "upto-100"
+ },
+ {
+ "title": "More than $100K",
+ "value": "above-100"
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'slide-radiogroup'",
+ "fieldName": "details.appDefinition.sampleSlideRadioGroup",
+ "description": "How much budget do you have?",
+ "validationError": "Please provide value for sample radio group question"
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g. links to documents or existing applications)"
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": false,
+ "isAddOn": true,
+ "createdAt": "2019-03-04T07:10:46.000Z",
+ "updatedAt": "2020-01-22T13:22:42.732Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 87,
+ "name": "Checkmarx Security/Vulnerability Code Scanning",
+ "productKey": "checkmarx-scanning",
+ "category": "development",
+ "subCategory": "security",
+ "icon": "../../assets/icons/product-dev-integration.svg",
+ "brief": "Checkmarx Scanning",
+ "details": "Leverage Checkmarx’s standard security and code coverage report for an unlimited number of reports for up to 3 months.",
+ "aliases": [
+ "checkmarx-scanning"
+ ],
+ "template": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "Sample Project",
+ "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",
+ "type": "project-name",
+ "title": "Project Name",
+ "required": true,
+ "fieldName": "name",
+ "description": "",
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "id": "questions",
+ "type": "questions",
+ "title": "Questions",
+ "required": true,
+ "hideTitle": true,
+ "questions": [
+ {
+ "id": "projectInfo",
+ "type": "textbox",
+ "title": "Description",
+ "fieldName": "description",
+ "description": "Brief Description",
+ "validations": "isRequired,minLength:160",
+ "validationErrors": {
+ "minLength": "Please enter at least 160 characters",
+ "isRequired": "Please provide a description"
+ }
+ },
+ {
+ "icon": "question",
+ "type": "radio-group",
+ "title": "What type of question you want to see next?",
+ "options": [
+ {
+ "label": "Checkbox Group",
+ "value": "checkbox-group"
+ },
+ {
+ "label": "Slide Radio Group",
+ "value": "slide-radiogroup"
+ },
+ {
+ "label": "Tiled Radio Group",
+ "value": "tiled-radio-group"
+ }
+ ],
+ "required": true,
+ "fieldName": "details.appDefinition.questionType",
+ "description": "Description for the radio button type question",
+ "validationError": "Please let us know consumers of your application"
+ },
+ {
+ "icon": "question",
+ "type": "tiled-radio-group",
+ "title": "Sample tiled radio group question?",
+ "options": [
+ {
+ "desc": "",
+ "icon": "icon-test-unstructured",
+ "title": "Value 1",
+ "value": "value1",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-test-structured",
+ "title": "Value 2",
+ "value": "value2",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-dont-know",
+ "title": "Value 3",
+ "value": "value3",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'tiled-radio-group'",
+ "fieldName": "details.appDefinition.sampleTiledRadioGroup",
+ "description": "Description for tiled radio group question",
+ "validationError": "Validation error for tiled radio group question"
+ },
+ {
+ "icon": "question",
+ "type": "checkbox-group",
+ "title": "Sample Checkbox group type question",
+ "options": [
+ {
+ "label": "Value 1",
+ "value": "value1"
+ },
+ {
+ "label": "Value 2",
+ "value": "value2"
+ }
+ ],
+ "condition": "details.appDefinition.questionType == 'checkbox-group'",
+ "fieldName": "details.appDefinition.sampleCheckboxGroup",
+ "description": "Description for checkbox group type question"
+ },
+ {
+ "icon": "question",
+ "type": "slide-radiogroup",
+ "title": "Sample Slide Radio Group type question",
+ "options": [
+ {
+ "title": "Under $25K ",
+ "value": "upto-25"
+ },
+ {
+ "title": "$25K to $50K",
+ "value": "upto-50"
+ },
+ {
+ "title": "$50K to $75K",
+ "value": "upto-75"
+ },
+ {
+ "title": "$75K to $100K",
+ "value": "upto-100"
+ },
+ {
+ "title": "More than $100K",
+ "value": "above-100"
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'slide-radiogroup'",
+ "fieldName": "details.appDefinition.sampleSlideRadioGroup",
+ "description": "How much budget do you have?",
+ "validationError": "Please provide value for sample radio group question"
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g. links to documents or existing applications)"
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": false,
+ "isAddOn": true,
+ "createdAt": "2019-03-04T07:21:09.000Z",
+ "updatedAt": "2020-01-22T13:22:42.732Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 91,
+ "name": "Performance Testing Cycle",
+ "productKey": "performance-testing-cycle",
+ "category": "development",
+ "subCategory": "testing",
+ "icon": "product-qa-crowd-testing",
+ "brief": "Performance Testing Cycle",
+ "details": "Performance Testing Cycle",
+ "aliases": [
+ "performance-testing-cycle"
+ ],
+ "template": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "Sample Project",
+ "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",
+ "type": "project-name",
+ "title": "Project Name",
+ "required": true,
+ "fieldName": "name",
+ "description": "",
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "id": "questions",
+ "type": "questions",
+ "title": "Questions",
+ "required": true,
+ "hideTitle": true,
+ "questions": [
+ {
+ "id": "projectInfo",
+ "type": "textbox",
+ "title": "Description",
+ "fieldName": "description",
+ "description": "Brief Description",
+ "validations": "isRequired,minLength:160",
+ "validationErrors": {
+ "minLength": "Please enter at least 160 characters",
+ "isRequired": "Please provide a description"
+ }
+ },
+ {
+ "icon": "question",
+ "type": "radio-group",
+ "title": "What type of question you want to see next?",
+ "options": [
+ {
+ "label": "Checkbox Group",
+ "value": "checkbox-group"
+ },
+ {
+ "label": "Slide Radio Group",
+ "value": "slide-radiogroup"
+ },
+ {
+ "label": "Tiled Radio Group",
+ "value": "tiled-radio-group"
+ }
+ ],
+ "required": true,
+ "fieldName": "details.appDefinition.questionType",
+ "description": "Description for the radio button type question",
+ "validationError": "Please let us know consumers of your application"
+ },
+ {
+ "icon": "question",
+ "type": "tiled-radio-group",
+ "title": "Sample tiled radio group question?",
+ "options": [
+ {
+ "desc": "",
+ "icon": "icon-test-unstructured",
+ "title": "Value 1",
+ "value": "value1",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-test-structured",
+ "title": "Value 2",
+ "value": "value2",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-dont-know",
+ "title": "Value 3",
+ "value": "value3",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'tiled-radio-group'",
+ "fieldName": "details.appDefinition.sampleTiledRadioGroup",
+ "description": "Description for tiled radio group question",
+ "validationError": "Validation error for tiled radio group question"
+ },
+ {
+ "icon": "question",
+ "type": "checkbox-group",
+ "title": "Sample Checkbox group type question",
+ "options": [
+ {
+ "label": "Value 1",
+ "value": "value1"
+ },
+ {
+ "label": "Value 2",
+ "value": "value2"
+ }
+ ],
+ "condition": "details.appDefinition.questionType == 'checkbox-group'",
+ "fieldName": "details.appDefinition.sampleCheckboxGroup",
+ "description": "Description for checkbox group type question"
+ },
+ {
+ "icon": "question",
+ "type": "slide-radiogroup",
+ "title": "Sample Slide Radio Group type question",
+ "options": [
+ {
+ "title": "Under $25K ",
+ "value": "upto-25"
+ },
+ {
+ "title": "$25K to $50K",
+ "value": "upto-50"
+ },
+ {
+ "title": "$50K to $75K",
+ "value": "upto-75"
+ },
+ {
+ "title": "$75K to $100K",
+ "value": "upto-100"
+ },
+ {
+ "title": "More than $100K",
+ "value": "above-100"
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'slide-radiogroup'",
+ "fieldName": "details.appDefinition.sampleSlideRadioGroup",
+ "description": "How much budget do you have?",
+ "validationError": "Please provide value for sample radio group question"
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g. links to documents or existing applications)"
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": false,
+ "isAddOn": true,
+ "createdAt": "2019-03-04T07:26:39.000Z",
+ "updatedAt": "2020-01-22T13:22:42.733Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 89,
+ "name": "Continuous Integration / Continuous Deployment",
+ "productKey": "continuous-integration-deployment",
+ "category": "development",
+ "subCategory": "general_features",
+ "icon": "../../assets/icons/product-dev-integration.svg",
+ "brief": "CI/CD",
+ "details": "Engage with Topcoder using CI/CD processes to establish a development pipeline.",
+ "aliases": [
+ "continuous-integration-deployment"
+ ],
+ "template": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "Sample Project",
+ "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",
+ "type": "project-name",
+ "title": "Project Name",
+ "required": true,
+ "fieldName": "name",
+ "description": "",
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "id": "questions",
+ "type": "questions",
+ "title": "Questions",
+ "required": true,
+ "hideTitle": true,
+ "questions": [
+ {
+ "id": "projectInfo",
+ "type": "textbox",
+ "title": "Description",
+ "fieldName": "description",
+ "description": "Brief Description",
+ "validations": "isRequired,minLength:160",
+ "validationErrors": {
+ "minLength": "Please enter at least 160 characters",
+ "isRequired": "Please provide a description"
+ }
+ },
+ {
+ "icon": "question",
+ "type": "radio-group",
+ "title": "What type of question you want to see next?",
+ "options": [
+ {
+ "label": "Checkbox Group",
+ "value": "checkbox-group"
+ },
+ {
+ "label": "Slide Radio Group",
+ "value": "slide-radiogroup"
+ },
+ {
+ "label": "Tiled Radio Group",
+ "value": "tiled-radio-group"
+ }
+ ],
+ "required": true,
+ "fieldName": "details.appDefinition.questionType",
+ "description": "Description for the radio button type question",
+ "validationError": "Please let us know consumers of your application"
+ },
+ {
+ "icon": "question",
+ "type": "tiled-radio-group",
+ "title": "Sample tiled radio group question?",
+ "options": [
+ {
+ "desc": "",
+ "icon": "icon-test-unstructured",
+ "title": "Value 1",
+ "value": "value1",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-test-structured",
+ "title": "Value 2",
+ "value": "value2",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-dont-know",
+ "title": "Value 3",
+ "value": "value3",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'tiled-radio-group'",
+ "fieldName": "details.appDefinition.sampleTiledRadioGroup",
+ "description": "Description for tiled radio group question",
+ "validationError": "Validation error for tiled radio group question"
+ },
+ {
+ "icon": "question",
+ "type": "checkbox-group",
+ "title": "Sample Checkbox group type question",
+ "options": [
+ {
+ "label": "Value 1",
+ "value": "value1"
+ },
+ {
+ "label": "Value 2",
+ "value": "value2"
+ }
+ ],
+ "condition": "details.appDefinition.questionType == 'checkbox-group'",
+ "fieldName": "details.appDefinition.sampleCheckboxGroup",
+ "description": "Description for checkbox group type question"
+ },
+ {
+ "icon": "question",
+ "type": "slide-radiogroup",
+ "title": "Sample Slide Radio Group type question",
+ "options": [
+ {
+ "title": "Under $25K ",
+ "value": "upto-25"
+ },
+ {
+ "title": "$25K to $50K",
+ "value": "upto-50"
+ },
+ {
+ "title": "$50K to $75K",
+ "value": "upto-75"
+ },
+ {
+ "title": "$75K to $100K",
+ "value": "upto-100"
+ },
+ {
+ "title": "More than $100K",
+ "value": "above-100"
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'slide-radiogroup'",
+ "fieldName": "details.appDefinition.sampleSlideRadioGroup",
+ "description": "How much budget do you have?",
+ "validationError": "Please provide value for sample radio group question"
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g. links to documents or existing applications)"
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": false,
+ "isAddOn": true,
+ "createdAt": "2019-03-04T07:22:24.000Z",
+ "updatedAt": "2020-01-22T13:22:42.732Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 94,
+ "name": "API Integration",
+ "productKey": "api-integration",
+ "category": "development",
+ "subCategory": "api_and_integrations",
+ "icon": "../../assets/icons/product-dev-integration.svg",
+ "brief": "API Integration",
+ "details": "Integrate an API to your application.",
+ "aliases": [
+ "api-integration"
+ ],
+ "template": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "Sample Project",
+ "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",
+ "type": "project-name",
+ "title": "Project Name",
+ "required": true,
+ "fieldName": "name",
+ "description": "",
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "id": "questions",
+ "type": "questions",
+ "title": "Questions",
+ "required": true,
+ "hideTitle": true,
+ "questions": [
+ {
+ "id": "projectInfo",
+ "type": "textbox",
+ "title": "Description",
+ "fieldName": "description",
+ "description": "Brief Description",
+ "validations": "isRequired,minLength:160",
+ "validationErrors": {
+ "minLength": "Please enter at least 160 characters",
+ "isRequired": "Please provide a description"
+ }
+ },
+ {
+ "icon": "question",
+ "type": "radio-group",
+ "title": "What type of question you want to see next?",
+ "options": [
+ {
+ "label": "Checkbox Group",
+ "value": "checkbox-group"
+ },
+ {
+ "label": "Slide Radio Group",
+ "value": "slide-radiogroup"
+ },
+ {
+ "label": "Tiled Radio Group",
+ "value": "tiled-radio-group"
+ }
+ ],
+ "required": true,
+ "fieldName": "details.appDefinition.questionType",
+ "description": "Description for the radio button type question",
+ "validationError": "Please let us know consumers of your application"
+ },
+ {
+ "icon": "question",
+ "type": "tiled-radio-group",
+ "title": "Sample tiled radio group question?",
+ "options": [
+ {
+ "desc": "",
+ "icon": "icon-test-unstructured",
+ "title": "Value 1",
+ "value": "value1",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-test-structured",
+ "title": "Value 2",
+ "value": "value2",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-dont-know",
+ "title": "Value 3",
+ "value": "value3",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'tiled-radio-group'",
+ "fieldName": "details.appDefinition.sampleTiledRadioGroup",
+ "description": "Description for tiled radio group question",
+ "validationError": "Validation error for tiled radio group question"
+ },
+ {
+ "icon": "question",
+ "type": "checkbox-group",
+ "title": "Sample Checkbox group type question",
+ "options": [
+ {
+ "label": "Value 1",
+ "value": "value1"
+ },
+ {
+ "label": "Value 2",
+ "value": "value2"
+ }
+ ],
+ "condition": "details.appDefinition.questionType == 'checkbox-group'",
+ "fieldName": "details.appDefinition.sampleCheckboxGroup",
+ "description": "Description for checkbox group type question"
+ },
+ {
+ "icon": "question",
+ "type": "slide-radiogroup",
+ "title": "Sample Slide Radio Group type question",
+ "options": [
+ {
+ "title": "Under $25K ",
+ "value": "upto-25"
+ },
+ {
+ "title": "$25K to $50K",
+ "value": "upto-50"
+ },
+ {
+ "title": "$50K to $75K",
+ "value": "upto-75"
+ },
+ {
+ "title": "$75K to $100K",
+ "value": "upto-100"
+ },
+ {
+ "title": "More than $100K",
+ "value": "above-100"
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'slide-radiogroup'",
+ "fieldName": "details.appDefinition.sampleSlideRadioGroup",
+ "description": "How much budget do you have?",
+ "validationError": "Please provide value for sample radio group question"
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g. links to documents or existing applications)"
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": false,
+ "isAddOn": true,
+ "createdAt": "2019-03-05T10:39:20.000Z",
+ "updatedAt": "2020-01-22T13:22:42.733Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 93,
+ "name": "User Acceptance Testing Enhancements",
+ "productKey": "user-acceptance-testing-enhancements",
+ "category": "development",
+ "subCategory": "testing",
+ "icon": "product-qa-crowd-testing",
+ "brief": "User Acceptance Testing Enhancements",
+ "details": "User Acceptance Testing Enhancements",
+ "aliases": [
+ "user-acceptance-testing--enhancements"
+ ],
+ "template": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "Sample Project",
+ "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",
+ "type": "project-name",
+ "title": "Project Name",
+ "required": true,
+ "fieldName": "name",
+ "description": "",
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "id": "questions",
+ "type": "questions",
+ "title": "Questions",
+ "required": true,
+ "hideTitle": true,
+ "questions": [
+ {
+ "id": "projectInfo",
+ "type": "textbox",
+ "title": "Description",
+ "fieldName": "description",
+ "description": "Brief Description",
+ "validations": "isRequired,minLength:160",
+ "validationErrors": {
+ "minLength": "Please enter at least 160 characters",
+ "isRequired": "Please provide a description"
+ }
+ },
+ {
+ "icon": "question",
+ "type": "radio-group",
+ "title": "What type of question you want to see next?",
+ "options": [
+ {
+ "label": "Checkbox Group",
+ "value": "checkbox-group"
+ },
+ {
+ "label": "Slide Radio Group",
+ "value": "slide-radiogroup"
+ },
+ {
+ "label": "Tiled Radio Group",
+ "value": "tiled-radio-group"
+ }
+ ],
+ "required": true,
+ "fieldName": "details.appDefinition.questionType",
+ "description": "Description for the radio button type question",
+ "validationError": "Please let us know consumers of your application"
+ },
+ {
+ "icon": "question",
+ "type": "tiled-radio-group",
+ "title": "Sample tiled radio group question?",
+ "options": [
+ {
+ "desc": "",
+ "icon": "icon-test-unstructured",
+ "title": "Value 1",
+ "value": "value1",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-test-structured",
+ "title": "Value 2",
+ "value": "value2",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-dont-know",
+ "title": "Value 3",
+ "value": "value3",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'tiled-radio-group'",
+ "fieldName": "details.appDefinition.sampleTiledRadioGroup",
+ "description": "Description for tiled radio group question",
+ "validationError": "Validation error for tiled radio group question"
+ },
+ {
+ "icon": "question",
+ "type": "checkbox-group",
+ "title": "Sample Checkbox group type question",
+ "options": [
+ {
+ "label": "Value 1",
+ "value": "value1"
+ },
+ {
+ "label": "Value 2",
+ "value": "value2"
+ }
+ ],
+ "condition": "details.appDefinition.questionType == 'checkbox-group'",
+ "fieldName": "details.appDefinition.sampleCheckboxGroup",
+ "description": "Description for checkbox group type question"
+ },
+ {
+ "icon": "question",
+ "type": "slide-radiogroup",
+ "title": "Sample Slide Radio Group type question",
+ "options": [
+ {
+ "title": "Under $25K ",
+ "value": "upto-25"
+ },
+ {
+ "title": "$25K to $50K",
+ "value": "upto-50"
+ },
+ {
+ "title": "$50K to $75K",
+ "value": "upto-75"
+ },
+ {
+ "title": "$75K to $100K",
+ "value": "upto-100"
+ },
+ {
+ "title": "More than $100K",
+ "value": "above-100"
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'slide-radiogroup'",
+ "fieldName": "details.appDefinition.sampleSlideRadioGroup",
+ "description": "How much budget do you have?",
+ "validationError": "Please provide value for sample radio group question"
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g. links to documents or existing applications)"
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": false,
+ "isAddOn": true,
+ "createdAt": "2019-03-04T07:28:34.000Z",
+ "updatedAt": "2020-01-22T13:22:42.733Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 92,
+ "name": "Unit Tests",
+ "productKey": "unit-tests",
+ "category": "development",
+ "subCategory": "testing",
+ "icon": "product-qa-crowd-testing",
+ "brief": "Unit Tests",
+ "details": "Unit Tests",
+ "aliases": [
+ "unit-tests"
+ ],
+ "template": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "Sample Project",
+ "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",
+ "type": "project-name",
+ "title": "Project Name",
+ "required": true,
+ "fieldName": "name",
+ "description": "",
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "id": "questions",
+ "type": "questions",
+ "title": "Questions",
+ "required": true,
+ "hideTitle": true,
+ "questions": [
+ {
+ "id": "projectInfo",
+ "type": "textbox",
+ "title": "Description",
+ "fieldName": "description",
+ "description": "Brief Description",
+ "validations": "isRequired,minLength:160",
+ "validationErrors": {
+ "minLength": "Please enter at least 160 characters",
+ "isRequired": "Please provide a description"
+ }
+ },
+ {
+ "icon": "question",
+ "type": "radio-group",
+ "title": "What type of question you want to see next?",
+ "options": [
+ {
+ "label": "Checkbox Group",
+ "value": "checkbox-group"
+ },
+ {
+ "label": "Slide Radio Group",
+ "value": "slide-radiogroup"
+ },
+ {
+ "label": "Tiled Radio Group",
+ "value": "tiled-radio-group"
+ }
+ ],
+ "required": true,
+ "fieldName": "details.appDefinition.questionType",
+ "description": "Description for the radio button type question",
+ "validationError": "Please let us know consumers of your application"
+ },
+ {
+ "icon": "question",
+ "type": "tiled-radio-group",
+ "title": "Sample tiled radio group question?",
+ "options": [
+ {
+ "desc": "",
+ "icon": "icon-test-unstructured",
+ "title": "Value 1",
+ "value": "value1",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-test-structured",
+ "title": "Value 2",
+ "value": "value2",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-dont-know",
+ "title": "Value 3",
+ "value": "value3",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'tiled-radio-group'",
+ "fieldName": "details.appDefinition.sampleTiledRadioGroup",
+ "description": "Description for tiled radio group question",
+ "validationError": "Validation error for tiled radio group question"
+ },
+ {
+ "icon": "question",
+ "type": "checkbox-group",
+ "title": "Sample Checkbox group type question",
+ "options": [
+ {
+ "label": "Value 1",
+ "value": "value1"
+ },
+ {
+ "label": "Value 2",
+ "value": "value2"
+ }
+ ],
+ "condition": "details.appDefinition.questionType == 'checkbox-group'",
+ "fieldName": "details.appDefinition.sampleCheckboxGroup",
+ "description": "Description for checkbox group type question"
+ },
+ {
+ "icon": "question",
+ "type": "slide-radiogroup",
+ "title": "Sample Slide Radio Group type question",
+ "options": [
+ {
+ "title": "Under $25K ",
+ "value": "upto-25"
+ },
+ {
+ "title": "$25K to $50K",
+ "value": "upto-50"
+ },
+ {
+ "title": "$50K to $75K",
+ "value": "upto-75"
+ },
+ {
+ "title": "$75K to $100K",
+ "value": "upto-100"
+ },
+ {
+ "title": "More than $100K",
+ "value": "above-100"
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'slide-radiogroup'",
+ "fieldName": "details.appDefinition.sampleSlideRadioGroup",
+ "description": "How much budget do you have?",
+ "validationError": "Please provide value for sample radio group question"
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g. links to documents or existing applications)"
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": false,
+ "isAddOn": true,
+ "createdAt": "2019-03-04T07:27:13.000Z",
+ "updatedAt": "2020-01-22T13:22:42.733Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 83,
+ "name": "Third Party System Integration",
+ "productKey": "third-party-integration",
+ "category": "development",
+ "subCategory": "api_and_integrations",
+ "icon": "../../assets/icons/product-dev-integration.svg",
+ "brief": "Third Party System Integration",
+ "details": "Integrate your application with an external 3rd party system.",
+ "aliases": [
+ "third-party-integration"
+ ],
+ "template": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "Sample Project",
+ "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",
+ "type": "project-name",
+ "title": "Project Name",
+ "required": true,
+ "fieldName": "name",
+ "description": "",
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "id": "questions",
+ "type": "questions",
+ "title": "Questions",
+ "required": true,
+ "hideTitle": true,
+ "questions": [
+ {
+ "id": "projectInfo",
+ "type": "textbox",
+ "title": "Description",
+ "fieldName": "description",
+ "description": "Brief Description",
+ "validations": "isRequired,minLength:160",
+ "validationErrors": {
+ "minLength": "Please enter at least 160 characters",
+ "isRequired": "Please provide a description"
+ }
+ },
+ {
+ "icon": "question",
+ "type": "radio-group",
+ "title": "What type of question you want to see next?",
+ "options": [
+ {
+ "label": "Checkbox Group",
+ "value": "checkbox-group"
+ },
+ {
+ "label": "Slide Radio Group",
+ "value": "slide-radiogroup"
+ },
+ {
+ "label": "Tiled Radio Group",
+ "value": "tiled-radio-group"
+ }
+ ],
+ "required": true,
+ "fieldName": "details.appDefinition.questionType",
+ "description": "Description for the radio button type question",
+ "validationError": "Please let us know consumers of your application"
+ },
+ {
+ "icon": "question",
+ "type": "tiled-radio-group",
+ "title": "Sample tiled radio group question?",
+ "options": [
+ {
+ "desc": "",
+ "icon": "icon-test-unstructured",
+ "title": "Value 1",
+ "value": "value1",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-test-structured",
+ "title": "Value 2",
+ "value": "value2",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-dont-know",
+ "title": "Value 3",
+ "value": "value3",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'tiled-radio-group'",
+ "fieldName": "details.appDefinition.sampleTiledRadioGroup",
+ "description": "Description for tiled radio group question",
+ "validationError": "Validation error for tiled radio group question"
+ },
+ {
+ "icon": "question",
+ "type": "checkbox-group",
+ "title": "Sample Checkbox group type question",
+ "options": [
+ {
+ "label": "Value 1",
+ "value": "value1"
+ },
+ {
+ "label": "Value 2",
+ "value": "value2"
+ }
+ ],
+ "condition": "details.appDefinition.questionType == 'checkbox-group'",
+ "fieldName": "details.appDefinition.sampleCheckboxGroup",
+ "description": "Description for checkbox group type question"
+ },
+ {
+ "icon": "question",
+ "type": "slide-radiogroup",
+ "title": "Sample Slide Radio Group type question",
+ "options": [
+ {
+ "title": "Under $25K ",
+ "value": "upto-25"
+ },
+ {
+ "title": "$25K to $50K",
+ "value": "upto-50"
+ },
+ {
+ "title": "$50K to $75K",
+ "value": "upto-75"
+ },
+ {
+ "title": "$75K to $100K",
+ "value": "upto-100"
+ },
+ {
+ "title": "More than $100K",
+ "value": "above-100"
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'slide-radiogroup'",
+ "fieldName": "details.appDefinition.sampleSlideRadioGroup",
+ "description": "How much budget do you have?",
+ "validationError": "Please provide value for sample radio group question"
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g. links to documents or existing applications)"
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": false,
+ "isAddOn": true,
+ "createdAt": "2019-03-04T07:14:19.000Z",
+ "updatedAt": "2020-01-22T13:22:42.733Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 71,
+ "name": "UX Testing With Maze",
+ "productKey": "ux-testing-with-maze",
+ "category": "design",
+ "subCategory": "testing",
+ "icon": "../../assets/icons/product-design-wireframes",
+ "brief": "UX Testing with Maze",
+ "details": "Test your application designs user experience with Topcoder’s partner, Maze. Maze will enable dozens of testers to test your application designs in under 24 hours and provide feedback on opportunities to optimize the user experience.",
+ "aliases": [
+ "ux-testing-with-maze"
+ ],
+ "template": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "Sample Project",
+ "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",
+ "type": "project-name",
+ "title": "Project Name",
+ "required": true,
+ "fieldName": "name",
+ "description": "",
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "id": "questions",
+ "type": "questions",
+ "title": "Questions",
+ "required": true,
+ "hideTitle": true,
+ "questions": [
+ {
+ "id": "projectInfo",
+ "type": "textbox",
+ "title": "Description",
+ "fieldName": "description",
+ "description": "Brief Description",
+ "validations": "isRequired,minLength:160",
+ "validationErrors": {
+ "minLength": "Please enter at least 160 characters",
+ "isRequired": "Please provide a description"
+ }
+ },
+ {
+ "icon": "question",
+ "type": "radio-group",
+ "title": "What type of question you want to see next?",
+ "options": [
+ {
+ "label": "Checkbox Group",
+ "value": "checkbox-group"
+ },
+ {
+ "label": "Slide Radio Group",
+ "value": "slide-radiogroup"
+ },
+ {
+ "label": "Tiled Radio Group",
+ "value": "tiled-radio-group"
+ }
+ ],
+ "required": true,
+ "fieldName": "details.appDefinition.questionType",
+ "description": "Description for the radio button type question",
+ "validationError": "Please let us know consumers of your application"
+ },
+ {
+ "icon": "question",
+ "type": "tiled-radio-group",
+ "title": "Sample tiled radio group question?",
+ "options": [
+ {
+ "desc": "",
+ "icon": "icon-test-unstructured",
+ "title": "Value 1",
+ "value": "value1",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-test-structured",
+ "title": "Value 2",
+ "value": "value2",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-dont-know",
+ "title": "Value 3",
+ "value": "value3",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'tiled-radio-group'",
+ "fieldName": "details.appDefinition.sampleTiledRadioGroup",
+ "description": "Description for tiled radio group question",
+ "validationError": "Validation error for tiled radio group question"
+ },
+ {
+ "icon": "question",
+ "type": "checkbox-group",
+ "title": "Sample Checkbox group type question",
+ "options": [
+ {
+ "label": "Value 1",
+ "value": "value1"
+ },
+ {
+ "label": "Value 2",
+ "value": "value2"
+ }
+ ],
+ "condition": "details.appDefinition.questionType == 'checkbox-group'",
+ "fieldName": "details.appDefinition.sampleCheckboxGroup",
+ "description": "Description for checkbox group type question"
+ },
+ {
+ "icon": "question",
+ "type": "slide-radiogroup",
+ "title": "Sample Slide Radio Group type question",
+ "options": [
+ {
+ "title": "Under $25K ",
+ "value": "upto-25"
+ },
+ {
+ "title": "$25K to $50K",
+ "value": "upto-50"
+ },
+ {
+ "title": "$50K to $75K",
+ "value": "upto-75"
+ },
+ {
+ "title": "$75K to $100K",
+ "value": "upto-100"
+ },
+ {
+ "title": "More than $100K",
+ "value": "above-100"
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'slide-radiogroup'",
+ "fieldName": "details.appDefinition.sampleSlideRadioGroup",
+ "description": "How much budget do you have?",
+ "validationError": "Please provide value for sample radio group question"
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g. links to documents or existing applications)"
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": false,
+ "isAddOn": true,
+ "createdAt": "2019-03-04T06:51:03.000Z",
+ "updatedAt": "2020-01-22T13:22:42.734Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 78,
+ "name": "Admin Tool Development",
+ "productKey": "admin-tool-development",
+ "category": "development",
+ "subCategory": "general_features",
+ "icon": "../../assets/icons/product-dev-integration.svg",
+ "brief": "Admin Tool Development",
+ "details": "Develop an administrative tool or panel to enable direct management of your application.",
+ "aliases": [
+ "admin-tool-development"
+ ],
+ "template": {
+ "sections": [
+ {
+ "id": "appDefinition",
+ "title": "Sample Project",
+ "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",
+ "type": "project-name",
+ "title": "Project Name",
+ "required": true,
+ "fieldName": "name",
+ "description": "",
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "id": "questions",
+ "type": "questions",
+ "title": "Questions",
+ "required": true,
+ "hideTitle": true,
+ "questions": [
+ {
+ "id": "projectInfo",
+ "type": "textbox",
+ "title": "Description",
+ "fieldName": "description",
+ "description": "Brief Description",
+ "validations": "isRequired,minLength:160",
+ "validationErrors": {
+ "minLength": "Please enter at least 160 characters",
+ "isRequired": "Please provide a description"
+ }
+ },
+ {
+ "icon": "question",
+ "type": "radio-group",
+ "title": "What type of question you want to see next?",
+ "options": [
+ {
+ "label": "Checkbox Group",
+ "value": "checkbox-group"
+ },
+ {
+ "label": "Slide Radio Group",
+ "value": "slide-radiogroup"
+ },
+ {
+ "label": "Tiled Radio Group",
+ "value": "tiled-radio-group"
+ }
+ ],
+ "required": true,
+ "fieldName": "details.appDefinition.questionType",
+ "description": "Description for the radio button type question",
+ "validationError": "Please let us know consumers of your application"
+ },
+ {
+ "icon": "question",
+ "type": "tiled-radio-group",
+ "title": "Sample tiled radio group question?",
+ "options": [
+ {
+ "desc": "",
+ "icon": "icon-test-unstructured",
+ "title": "Value 1",
+ "value": "value1",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-test-structured",
+ "title": "Value 2",
+ "value": "value2",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ },
+ {
+ "desc": "",
+ "icon": "icon-dont-know",
+ "title": "Value 3",
+ "value": "value3",
+ "iconOptions": {
+ "fill": "#00000"
+ }
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'tiled-radio-group'",
+ "fieldName": "details.appDefinition.sampleTiledRadioGroup",
+ "description": "Description for tiled radio group question",
+ "validationError": "Validation error for tiled radio group question"
+ },
+ {
+ "icon": "question",
+ "type": "checkbox-group",
+ "title": "Sample Checkbox group type question",
+ "options": [
+ {
+ "label": "Value 1",
+ "value": "value1"
+ },
+ {
+ "label": "Value 2",
+ "value": "value2"
+ }
+ ],
+ "condition": "details.appDefinition.questionType == 'checkbox-group'",
+ "fieldName": "details.appDefinition.sampleCheckboxGroup",
+ "description": "Description for checkbox group type question"
+ },
+ {
+ "icon": "question",
+ "type": "slide-radiogroup",
+ "title": "Sample Slide Radio Group type question",
+ "options": [
+ {
+ "title": "Under $25K ",
+ "value": "upto-25"
+ },
+ {
+ "title": "$25K to $50K",
+ "value": "upto-50"
+ },
+ {
+ "title": "$50K to $75K",
+ "value": "upto-75"
+ },
+ {
+ "title": "$75K to $100K",
+ "value": "upto-100"
+ },
+ {
+ "title": "More than $100K",
+ "value": "above-100"
+ }
+ ],
+ "required": true,
+ "condition": "details.appDefinition.questionType == 'slide-radiogroup'",
+ "fieldName": "details.appDefinition.sampleSlideRadioGroup",
+ "description": "How much budget do you have?",
+ "validationError": "Please provide value for sample radio group question"
+ }
+ ],
+ "description": ""
+ },
+ {
+ "id": "notes",
+ "type": "notes",
+ "title": "Notes",
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g. links to documents or existing applications)"
+ }
+ ]
+ }
+ ]
+ },
+ "form": null,
+ "deletedAt": null,
+ "disabled": false,
+ "hidden": false,
+ "isAddOn": true,
+ "createdAt": "2019-03-04T07:10:04.000Z",
+ "updatedAt": "2020-01-22T13:22:42.736Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ }
+ ],
+ "projectTypes": [
+ {
+ "key": "scoped-solutions",
+ "displayName": "Solutions",
+ "icon": "product-cat-app",
+ "question": "Select your solution",
+ "info": "Buy design, development, quality assurance, or data science solutions.",
+ "aliases": [
+ "scoped-solutions"
+ ],
+ "disabled": false,
+ "hidden": false,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2019-05-30T06:35:38.000Z",
+ "updatedAt": "2020-01-22T13:22:40.389Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "key": "wireframes",
+ "displayName": "Design",
+ "icon": "t",
+ "question": "What kind of design do you need?",
+ "info": "Pick the right design project for your needs - wireframes, visual, or other",
+ "aliases": [
+ "t",
+ "b",
+ "c"
+ ],
+ "disabled": true,
+ "hidden": false,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2018-12-10T12:22:17.000Z",
+ "updatedAt": "2020-01-22T13:22:40.389Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "key": "quality_assurance",
+ "displayName": "QA",
+ "icon": "product-cat-qa",
+ "question": "What kind of quality assurance (QA) do you need?",
+ "info": "Test and fix bugs in your software",
+ "aliases": [
+ "all-quality-assurance"
+ ],
+ "disabled": false,
+ "hidden": true,
+ "metadata": {
+ "key": 2
+ },
+ "deletedAt": null,
+ "createdAt": "2018-06-06T10:03:19.000Z",
+ "updatedAt": "2020-01-22T13:22:40.390Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "key": "website",
+ "displayName": "Website",
+ "icon": "product-cat-website",
+ "question": "What do you want to develop?",
+ "info": "Design and build the high-impact pages for your blog, online store, or company",
+ "aliases": [
+ "all-websites"
+ ],
+ "disabled": false,
+ "hidden": true,
+ "metadata": {
+ "a": 1,
+ "job": {
+ "title": "SAD"
+ }
+ },
+ "deletedAt": null,
+ "createdAt": "2018-06-06T10:02:25.000Z",
+ "updatedAt": "2020-01-22T13:22:40.390Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "key": "app",
+ "displayName": "App",
+ "icon": "product-cat-app",
+ "question": "What do you want to develop?",
+ "info": "Build a phone, tablet, wearable, or desktop app",
+ "aliases": [
+ "application_development",
+ "app"
+ ],
+ "disabled": false,
+ "hidden": true,
+ "metadata": {
+ "a": 1,
+ "info": {
+ "c": 23,
+ "age": 3
+ }
+ },
+ "deletedAt": null,
+ "createdAt": "2018-06-06T10:02:13.000Z",
+ "updatedAt": "2020-01-22T13:22:40.390Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "key": "app_dev",
+ "displayName": "Software Development",
+ "icon": "product-cat-development",
+ "question": "What kind of development do you need?",
+ "info": "Get help with any part of your development lifecycle",
+ "aliases": [
+ "all-development"
+ ],
+ "disabled": false,
+ "hidden": true,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2018-06-06T10:02:57.000Z",
+ "updatedAt": "2020-01-22T13:22:40.414Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "key": "chatbot",
+ "displayName": "Chatbot",
+ "icon": "product-cat-chatbot",
+ "question": "What do you want to develop?",
+ "info": "Build, train and test a custom conversation for your chatbot",
+ "aliases": [
+ "all-chatbots"
+ ],
+ "disabled": true,
+ "hidden": true,
+ "metadata": {
+ "id": 2,
+ "name": "tom"
+ },
+ "deletedAt": null,
+ "createdAt": "2018-06-06T10:02:34.000Z",
+ "updatedAt": "2020-01-22T13:22:40.415Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "key": "unscoped-solutions",
+ "displayName": "Buy Budget or Talent Capacity",
+ "icon": "product-cat-app",
+ "question": "What do you want to develop?",
+ "info": "Buy budget capacity to use how you choose, or engage and retain Topcoder talent on an ongoing basis.",
+ "aliases": [
+ "unscoped-solutions"
+ ],
+ "disabled": false,
+ "hidden": false,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2019-05-30T06:37:49.000Z",
+ "updatedAt": "2020-01-22T13:22:40.415Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "key": "test-no-id",
+ "displayName": "test-no-id",
+ "icon": "test-no-id",
+ "question": "test-no-id",
+ "info": "test-no-id",
+ "aliases": [
+ "test-no-id"
+ ],
+ "disabled": true,
+ "hidden": true,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2019-01-24T12:19:47.000Z",
+ "updatedAt": "2020-01-22T13:22:40.415Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "key": "app-test-2",
+ "displayName": "app-test-2",
+ "icon": "app-test-2",
+ "question": "app-test-1",
+ "info": "app-test-1",
+ "aliases": [
+ "app-test-1"
+ ],
+ "disabled": false,
+ "hidden": true,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2019-10-07T04:36:20.000Z",
+ "updatedAt": "2020-01-22T13:22:40.415Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ }
+ ],
+ "productCategories": [
+ {
+ "key": "generic",
+ "displayName": "GENERIC",
+ "icon": "icon-edit",
+ "question": "question",
+ "info": "info",
+ "aliases": [
+ "fd",
+ "e",
+ "a a",
+ "b"
+ ],
+ "disabled": true,
+ "hidden": true,
+ "deletedAt": null,
+ "createdAt": "2018-12-06T12:51:19.000Z",
+ "updatedAt": "2020-01-22T13:22:40.530Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "key": "integrations",
+ "displayName": "Integrations",
+ "icon": "integrations",
+ "question": "Integrations",
+ "info": "Integrations",
+ "aliases": [
+ "integrations"
+ ],
+ "disabled": false,
+ "hidden": false,
+ "deletedAt": null,
+ "createdAt": "2019-03-04T06:53:23.000Z",
+ "updatedAt": "2020-01-22T13:22:40.530Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "key": "test-product-category",
+ "displayName": "Test product Category",
+ "icon": "prouct",
+ "question": "what",
+ "info": "wy",
+ "aliases": [
+ "test-product-category"
+ ],
+ "disabled": false,
+ "hidden": false,
+ "deletedAt": null,
+ "createdAt": "2018-12-31T12:07:19.000Z",
+ "updatedAt": "2020-01-22T13:22:40.530Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "key": "quality_assurance_new",
+ "displayName": "QA New",
+ "icon": "product-cat-qa",
+ "question": "What kind of development do you need?",
+ "info": "Test and fix bugs in your software",
+ "aliases": [
+ "all-quality-assurance"
+ ],
+ "disabled": false,
+ "hidden": false,
+ "deletedAt": null,
+ "createdAt": "2018-12-14T11:06:00.000Z",
+ "updatedAt": "2020-01-22T13:22:40.531Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "key": "qa",
+ "displayName": "QA",
+ "icon": "QA",
+ "question": "What do you want to get QA for?",
+ "info": "What do you want to get QA for?",
+ "aliases": [
+ "qa",
+ "quality-assurance"
+ ],
+ "disabled": false,
+ "hidden": false,
+ "deletedAt": null,
+ "createdAt": "2019-03-04T06:23:38.000Z",
+ "updatedAt": "2020-01-22T13:22:40.531Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "key": "testing",
+ "displayName": "Design Testing",
+ "icon": "Testing",
+ "question": "Testing",
+ "info": "Testing",
+ "aliases": [
+ "testing"
+ ],
+ "disabled": false,
+ "hidden": false,
+ "deletedAt": null,
+ "createdAt": "2019-03-04T06:52:00.000Z",
+ "updatedAt": "2020-01-22T13:22:40.531Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "key": "development",
+ "displayName": "Development",
+ "icon": "Development",
+ "question": "What do you want to develop?",
+ "info": "What do you want to develop?",
+ "aliases": [
+ "development"
+ ],
+ "disabled": false,
+ "hidden": false,
+ "deletedAt": null,
+ "createdAt": "2019-03-04T06:22:57.000Z",
+ "updatedAt": "2020-01-22T13:22:40.531Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "key": "deployment",
+ "displayName": "Design Deployment",
+ "icon": "Deployment",
+ "question": "What type of deployment you want?",
+ "info": "What type of deployment you want?",
+ "aliases": [
+ "deployment"
+ ],
+ "disabled": false,
+ "hidden": false,
+ "deletedAt": null,
+ "createdAt": "2019-03-04T06:24:09.000Z",
+ "updatedAt": "2020-01-22T13:22:40.531Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "key": "challenge",
+ "displayName": "Challenge",
+ "icon": "challenge",
+ "question": "challenge",
+ "info": "challenge",
+ "aliases": [
+ "challenge"
+ ],
+ "disabled": false,
+ "hidden": true,
+ "deletedAt": null,
+ "createdAt": "2019-08-06T05:36:44.000Z",
+ "updatedAt": "2020-01-22T13:22:40.532Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "key": "api",
+ "displayName": "API",
+ "icon": "API",
+ "question": "API",
+ "info": "API",
+ "aliases": [
+ "api"
+ ],
+ "disabled": false,
+ "hidden": false,
+ "deletedAt": null,
+ "createdAt": "2019-03-04T06:52:44.000Z",
+ "updatedAt": "2020-01-22T13:22:40.532Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "key": "ideation",
+ "displayName": "Design Ideation Consultation",
+ "icon": "Ideation",
+ "question": "Ideation",
+ "info": "Ideation",
+ "aliases": [
+ "ideation"
+ ],
+ "disabled": false,
+ "hidden": false,
+ "deletedAt": null,
+ "createdAt": "2019-03-04T06:28:17.000Z",
+ "updatedAt": "2020-01-22T13:22:40.532Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "key": "api_and_integrations",
+ "displayName": "API & Integrations",
+ "icon": "API",
+ "question": "API & Integrations",
+ "info": "API & Integrations",
+ "aliases": [
+ "API & Integrations"
+ ],
+ "disabled": false,
+ "hidden": false,
+ "deletedAt": null,
+ "createdAt": "2019-04-17T10:34:59.000Z",
+ "updatedAt": "2020-01-22T13:22:40.532Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "key": "general_features",
+ "displayName": "General Features",
+ "icon": "general_features",
+ "question": "general_features",
+ "info": "general_features",
+ "aliases": [
+ "general_features"
+ ],
+ "disabled": false,
+ "hidden": false,
+ "deletedAt": null,
+ "createdAt": "2019-04-17T10:41:15.000Z",
+ "updatedAt": "2020-01-22T13:22:40.545Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "key": "design",
+ "displayName": "Design",
+ "icon": "test",
+ "question": "Who",
+ "info": "what",
+ "aliases": [
+ "design"
+ ],
+ "disabled": false,
+ "hidden": false,
+ "deletedAt": null,
+ "createdAt": "2019-03-04T06:21:51.000Z",
+ "updatedAt": "2020-01-22T13:22:40.546Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ }
+ ],
+ "milestoneTemplates": [
+ {
+ "id": 14,
+ "name": "Timeline start (design)",
+ "description": "We are preparing the final specification for the design work. Your copilot will communicate the details of the phase on the Posts thread before we begin work.",
+ "duration": 2,
+ "type": "phase-specification",
+ "order": 8,
+ "plannedText": "We are preparing the final specification for the design work. Your copilot will communicate the details of the phase on the Posts thread before we begin work.",
+ "activeText": "We are preparing the final specification for the design work. Your copilot will communicate the details of the phase on the Posts thread before we begin work.",
+ "completedText": "Specification is completed. We're now working on the design options.",
+ "blockedText": "We are preparing the final specification for the design work. Your copilot will communicate the details of the phase on the Posts thread before we begin work.",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 26,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2018-08-08T15:02:48.000Z",
+ "updatedAt": "2020-01-22T13:22:45.904Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 24,
+ "name": "Timeline start (development)",
+ "description": "A development plan has been created using the specifications you have provided us.",
+ "duration": 2,
+ "type": "phase-specification",
+ "order": 3,
+ "plannedText": "A development plan has been created using the specifications you have provided us.",
+ "activeText": "Development is underway. We will update this milestone once the progress bar reaches 100%.",
+ "completedText": "Development is complete.",
+ "blockedText": "Development is underway. We will update this milestone once the progress bar reaches 100%.",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 28,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2018-08-09T12:35:56.000Z",
+ "updatedAt": "2020-01-22T13:22:46.328Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 18,
+ "name": "Timeline start (design)",
+ "description": "We are preparing the final specification for the design work. Your copilot will communicate the details of the phase on the Posts thread before we begin work.",
+ "duration": 2,
+ "type": "phase-specification",
+ "order": 7,
+ "plannedText": "We are preparing the final specification for the design work. Your copilot will communicate the details of the phase on the Posts thread before we begin work.",
+ "activeText": "We are preparing the final specification for the design work. Your copilot will communicate the details of the phase on the Posts thread before we begin work.",
+ "completedText": "Specification is completed. We're now working on the design options.",
+ "blockedText": "We are preparing the final specification for the design work. Your copilot will communicate the details of the phase on the Posts thread before we begin work.",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 25,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2018-08-09T12:19:01.000Z",
+ "updatedAt": "2020-01-22T13:22:47.154Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 120,
+ "name": "Design development",
+ "description": "We will be designing several independent proposals in accordance with your specifications for you to choose from.",
+ "duration": 7,
+ "type": "community-work",
+ "order": 11,
+ "plannedText": "We will be designing several independent proposals in accordance with your specifications for you to choose from.",
+ "activeText": "We're currently designing the proposals. We will update this milestone with a list of all these soon.",
+ "completedText": "Great news! Designs are ready for review and selection.",
+ "blockedText": "We're currently designing the proposals. We will update this milestone with a list of all these soon.",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 26,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2019-05-27T13:39:49.000Z",
+ "updatedAt": "2020-01-22T13:22:45.904Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 4,
+ "name": "Checkpoint Review",
+ "description": "dummy description",
+ "duration": 5,
+ "type": "checkpoint-review",
+ "order": 18,
+ "plannedText": "We will be designing several independent proposals in accordance with your specifications for you to choose from. From there, you will have to select the 5 best proposals from which to develop the final designs.",
+ "activeText": "We're currently developing the various proposals. We will soon update this milestone with a list of all the design proposals.",
+ "completedText": "We're currently developing the 5 options you selected into final designs.",
+ "blockedText": "Select the 5 designs that you would like us to continue exploring going forward. Please leave your feedback using the Marvel app interface. The more direction you are able to provide at this point, the better the final designs will be.",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 15,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2018-07-17T03:10:08.000Z",
+ "updatedAt": "2020-01-22T13:22:45.626Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 12,
+ "name": "delivery",
+ "description": "Please review and answer all the questions on the specification document before we can proceed",
+ "duration": 5,
+ "type": "delivery-dev",
+ "order": 19,
+ "plannedText": "Delivery not yet made",
+ "activeText": "Delivery in progress",
+ "completedText": "Delivered the product",
+ "blockedText": "Delivery is blocked",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 1,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2018-08-06T10:56:14.000Z",
+ "updatedAt": "2020-01-22T13:22:45.789Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 13,
+ "name": "Payment",
+ "description": "Please review and answer all the questions on the specification document before we can proceed",
+ "duration": 5,
+ "type": "generic-work",
+ "order": 10,
+ "plannedText": "There is an outstanding payment due in connection with this phase. Please follow the link below to address this in order for work to begin.",
+ "activeText": "There is an outstanding payment due in connection with this phase. Please follow the link below to address this in order for work to begin.",
+ "completedText": "Thank you for your business! Your payment was made successfully. Below you'll find your invoice attached for your records.",
+ "blockedText": "generic-work MileStone Is Blocked",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 1,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2018-08-08T10:55:36.000Z",
+ "updatedAt": "2020-01-22T13:22:45.789Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 93,
+ "name": "Progress report (QA)",
+ "description": "We will be reviewing and testing the code for quality and bugs.",
+ "duration": 7,
+ "type": "generic-work",
+ "order": 12,
+ "plannedText": "We will be reviewing and testing the code for quality and bugs.",
+ "activeText": "QA testing is underway. We will update this milestone once the progress bar reaches 100%.",
+ "completedText": "Your QA testing has been completed. You've reached the end of this milestone.",
+ "blockedText": "We are waiting for manager input",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 30,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2019-05-27T13:39:31.000Z",
+ "updatedAt": "2020-01-22T13:22:46.520Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 126,
+ "name": "Final Fix",
+ "description": "dummy description",
+ "duration": 1,
+ "type": "final-fix",
+ "order": 15,
+ "plannedText": "dummy plannedText",
+ "activeText": "dummy activeText",
+ "completedText": "Below is the list of final fixes which are being implemented. Keep tracking delivery milestone for updates.",
+ "blockedText": "dummy blockText",
+ "hidden": true,
+ "reference": "productTemplate",
+ "referenceId": 15,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2019-05-27T13:39:53.000Z",
+ "updatedAt": "2020-01-22T13:22:45.626Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 23,
+ "name": "Timeline start (development)",
+ "description": "A development plan has been created using the specifications you have provided us.",
+ "duration": 2,
+ "type": "phase-specification",
+ "order": 3,
+ "plannedText": "A development plan has been created using the specifications you have provided us.",
+ "activeText": "Development is underway. We will update this milestone once the progress bar reaches 100%.",
+ "completedText": "Development is complete.",
+ "blockedText": "Development is underway. We will update this milestone once the progress bar reaches 100%.",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 27,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2018-08-09T12:33:21.000Z",
+ "updatedAt": "2020-01-22T13:22:45.950Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 25,
+ "name": "Timeline start (development)",
+ "description": "A development plan has been created using the specifications you have provided us.",
+ "duration": 7,
+ "type": "phase-specification",
+ "order": 3,
+ "plannedText": "A development plan has been created using the specifications you have provided us.",
+ "activeText": "Development is underway. We will update this milestone once the progress bar reaches 100%.",
+ "completedText": "Development is complete.",
+ "blockedText": "Development is underway. We will update this milestone once the progress bar reaches 100%.",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 29,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2018-08-09T12:36:02.000Z",
+ "updatedAt": "2020-01-22T13:22:46.441Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 43,
+ "name": "Progress report (QA)",
+ "description": "We will be reviewing and testing the code for quality and bugs.",
+ "duration": 7,
+ "type": "generic-work",
+ "order": 14,
+ "plannedText": "We will be reviewing and testing the code for quality and bugs.",
+ "activeText": "QA testing is underway. We will update this milestone once the progress bar reaches 100%.",
+ "completedText": "Your QA testing has been completed. You've reached the end of this milestone.",
+ "blockedText": "We are waiting for manager input",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 30,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2018-08-10T12:17:47.000Z",
+ "updatedAt": "2020-01-22T13:22:46.520Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 41,
+ "name": "Timeline start (QA)",
+ "description": "We would prepare the final specification for the QA work. Your copilot will communicate the details of the phase on the Posts thread before we begin work.",
+ "duration": 2,
+ "type": "phase-specification",
+ "order": 6,
+ "plannedText": "We would prepare the final specification for the QA work. Your copilot will communicate the details of the phase on the Posts thread before we begin work.",
+ "activeText": "We are preparing the final specification for the QA work. Your copilot will communicate the details of the phase on the Posts thread before we begin work.",
+ "completedText": "Specification is completed. Development is underway.",
+ "blockedText": "We are waiting for manager input",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 30,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2018-08-10T12:12:53.000Z",
+ "updatedAt": "2020-01-22T13:22:46.520Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 21,
+ "name": "Final Fixes",
+ "description": "We will be resolving any final fixes you requested.",
+ "duration": 7,
+ "type": "final-fix",
+ "order": 18,
+ "plannedText": "We will be resolving any final fixes you requested.",
+ "activeText": "We are working to resolve the final fixes you requested for your designs. We will update this milestone once the progress bar reaches 100%.",
+ "completedText": "Great news! Your final design fixes are complete. Your final design package is available as a .zip archive, as per the phase specifications. It will also be permanently available for download at your convenience.",
+ "blockedText": "We are working to resolve the final fixes you requested for your designs. We will update this milestone once the progress bar reaches 100%.",
+ "hidden": true,
+ "reference": "productTemplate",
+ "referenceId": 25,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2018-08-09T12:24:03.000Z",
+ "updatedAt": "2020-01-22T13:22:47.189Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 16,
+ "name": "Design Review",
+ "description": "We will be designing several independent proposals in accordance with your specifications for you to choose from.",
+ "duration": 7,
+ "type": "checkpoint-review",
+ "order": 21,
+ "plannedText": "We will be designing several independent proposals in accordance with your specifications for you to choose from.",
+ "activeText": "We're currently developing the 5 options you selected into final designs.",
+ "completedText": "Great news! The design enhancements to your top 5 designs are ready for review and selection..",
+ "blockedText": "Select the 5 designs that you would like us to continue exploring going forward. Please leave your feedback using the Marvel app interface. The more direction you are able to provide at this point, the better the final designs will be.",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 26,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2018-08-08T16:08:43.000Z",
+ "updatedAt": "2020-01-22T13:22:46.785Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 122,
+ "name": "COPY Final Fixes (development)",
+ "description": "Your Copilot will provide additional information on this milestone.",
+ "duration": 2,
+ "type": "final-fix",
+ "order": 7,
+ "plannedText": "Your Copilot will provide additional information on this milestone.",
+ "activeText": "Development is underway. We will update this milestone once the progress bar reaches 100%.",
+ "completedText": "Development has been completed! This marks the end of the milestone. ",
+ "blockedText": "Your Copilot will provide additional information on this milestone.",
+ "hidden": true,
+ "reference": "productTemplate",
+ "referenceId": 27,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2019-05-27T13:39:50.000Z",
+ "updatedAt": "2020-01-22T13:22:46.898Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 35,
+ "name": "Final Fixes (development)",
+ "description": "Your Copilot will provide additional information on this milestone.",
+ "duration": 2,
+ "type": "final-fix",
+ "order": 10,
+ "plannedText": "Your Copilot will provide additional information on this milestone.",
+ "activeText": "Development is underway. We will update this milestone once the progress bar reaches 100%.",
+ "completedText": "Development has been completed! This marks the end of the milestone. ",
+ "blockedText": "Your Copilot will provide additional information on this milestone.",
+ "hidden": true,
+ "reference": "productTemplate",
+ "referenceId": 29,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2018-08-10T11:50:43.000Z",
+ "updatedAt": "2020-01-22T13:22:46.833Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 40,
+ "name": "Delivery",
+ "description": "Development has been completed! This marks the end of the milestone. Below you'll find the source files attached as a .zip archive, as per the phase specifications. They'll also be permanently available for download at your convenience.",
+ "duration": 1,
+ "type": "delivery-dev",
+ "order": 15,
+ "plannedText": "Once you accept the code, your source files will be delivered here.",
+ "activeText": "Once you accept the code, your source files will be delivered here.",
+ "completedText": "Development has been completed! This marks the end of the milestone. Below you'll find the source files attached as a .zip archive, as per the phase specifications. They'll also be permanently available for download at your convenience.",
+ "blockedText": "Once you accept the code, your source files will be delivered here.",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 29,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2018-08-10T11:59:43.000Z",
+ "updatedAt": "2020-01-22T13:22:46.833Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 33,
+ "name": "Final Fixes (development)",
+ "description": "Your Copilot will provide additional information on this milestone.",
+ "duration": 2,
+ "type": "final-fix",
+ "order": 14,
+ "plannedText": "Your Copilot will provide additional information on this milestone.",
+ "activeText": "Development is underway. We will update this milestone once the progress bar reaches 100%.",
+ "completedText": "Development has been completed! This marks the end of the milestone. ",
+ "blockedText": "Your Copilot will provide additional information on this milestone.",
+ "hidden": true,
+ "reference": "productTemplate",
+ "referenceId": 27,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2018-08-10T11:50:21.000Z",
+ "updatedAt": "2020-01-22T13:22:46.898Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 7,
+ "name": "final-fix",
+ "description": "Please review and answer all the questions on the specification document before we can proceed",
+ "duration": 0,
+ "type": "final-fix",
+ "order": 16,
+ "plannedText": "final-fix yet to be started",
+ "activeText": "The agreed-upon final fixes are being implemented. We will provide an update once the progress bar reaches 100% and attach the final deliverables below.",
+ "completedText": "final-fixes are completed",
+ "blockedText": "final-fix blocked",
+ "hidden": true,
+ "reference": "productTemplate",
+ "referenceId": 1,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2018-07-17T06:23:26.000Z",
+ "updatedAt": "2020-01-22T13:22:45.789Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 125,
+ "name": "test",
+ "description": "dummy description",
+ "duration": 5,
+ "type": "checkpoint-review",
+ "order": 7,
+ "plannedText": "We will be designing several independent proposals in accordance with your specifications for you to choose from. From there, you will have to select the 5 best proposals from which to develop the final designs.",
+ "activeText": "We're currently developing the various proposals. We will soon update this milestone with a list of all the design proposals.",
+ "completedText": "We're currently developing the 5 options you selected into final designs.",
+ "blockedText": "Select the 5 designs that you would like us to continue exploring going forward. Please leave your feedback using the Marvel app interface. The more direction you are able to provide at this point, the better the final designs will be.",
+ "hidden": true,
+ "reference": "productTemplate",
+ "referenceId": 15,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2019-05-27T13:39:52.000Z",
+ "updatedAt": "2020-01-22T13:22:45.395Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 52,
+ "name": "Adding Links",
+ "description": "We will be designing several independent proposals in accordance with your specifications for you to choose from.",
+ "duration": 1,
+ "type": "add-links",
+ "order": 29,
+ "plannedText": "We will be designing several independent proposals in accordance with your specifications for you to choose from.",
+ "activeText": "ddfd",
+ "completedText": "Great news! The design enhancements to your top 5 designs are ready for review and selection..",
+ "blockedText": "df",
+ "hidden": true,
+ "reference": "productTemplate",
+ "referenceId": 26,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2018-08-10T13:50:34.000Z",
+ "updatedAt": "2020-01-22T13:22:46.785Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 96,
+ "name": "Delivery111",
+ "description": "dummy description",
+ "duration": 51,
+ "type": "delivery-design",
+ "order": 65,
+ "plannedText": "Once we implement the final designs, your source files will be delivered here.",
+ "activeText": "Please indicate the top 3 things you'd like to change on the winning design. Any further changes will be out of the scope of this phase and will require you to extend the project by adding an additional phase.",
+ "completedText": "The final file deliverables are attached. This concludes both the milestone and the entire phase. We've added all the source files as per the phase specification. They'll also be permanently available for download at your convenience.",
+ "blockedText": "The agreed-upon final fixes are being implemented. We will provide an update once the progress bar reaches 100% and attach the final deliverables below.",
+ "hidden": true,
+ "reference": "productTemplate",
+ "referenceId": 15,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2019-05-27T13:39:33.000Z",
+ "updatedAt": "2020-01-22T13:22:45.626Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 5,
+ "name": "community-work",
+ "description": "Please review and answer all the questions on the specification document before we can proceed",
+ "duration": 5,
+ "type": "community-work",
+ "order": 12,
+ "plannedText": "We will be analyzing and building the features from your [oproject_type] specification. This is the rough development that will be refined over the next [number] milestones.",
+ "activeText": "Development is underway. We will update this milestone once the progress bar reaches 100%.",
+ "completedText": "Your backend development has been completed. You've reached the end of this milestone.",
+ "blockedText": "community-work MileStone Is Blocked",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 1,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2018-07-17T06:19:33.000Z",
+ "updatedAt": "2020-01-22T13:22:45.789Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 86,
+ "name": "Payment",
+ "description": "Please review and answer all the questions on the specification document before we can proceed",
+ "duration": 5,
+ "type": "generic-work",
+ "order": 5,
+ "plannedText": "There is an outstanding payment due in connection with this phase. Please follow the link below to address this in order for work to begin.",
+ "activeText": "There is an outstanding payment due in connection with this phase. Please follow the link below to address this in order for work to begin.",
+ "completedText": "Thank you for your business! Your payment was made successfully. Below you'll find your invoice attached for your records.",
+ "blockedText": "generic-work MileStone Is Blocked",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 1,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2019-05-27T13:39:26.000Z",
+ "updatedAt": "2020-01-22T13:22:45.426Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 45,
+ "name": "Timeline start (design)",
+ "description": "Before we can begin, we have to fill in the technical details. Your copilot will reach out shortly to discuss the specifications with you. Please monitor your communication thread for updates.",
+ "duration": 1,
+ "type": "phase-specification",
+ "order": 5,
+ "plannedText": "Before we can begin, we have to fill in the technical details. Your copilot will reach out shortly to discuss the specifications with you. Please monitor your communication thread for updates.",
+ "activeText": "We are preparing the final specification for the design work. Your copilot will communicate the details of the phase on the Posts thread before we begin work.",
+ "completedText": "Specification is completed. We're now working on the design options.",
+ "blockedText": "We are preparing the final specification for the design work. Your copilot will communicate the details of the phase on the Posts thread before we begin work.",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 31,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2018-08-10T12:30:02.000Z",
+ "updatedAt": "2020-01-22T13:22:46.706Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 50,
+ "name": "Design development",
+ "description": "We will be designing several independent proposals in accordance with your specifications for you to choose from.",
+ "duration": 7,
+ "type": "community-work",
+ "order": 12,
+ "plannedText": "We will be designing several independent proposals in accordance with your specifications for you to choose from.",
+ "activeText": "We're currently designing the proposals. We will update this milestone with a list of all these soon.",
+ "completedText": "Great news! Designs are ready for review and selection.",
+ "blockedText": "We're currently designing the proposals. We will update this milestone with a list of all these soon.",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 26,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2018-08-10T13:48:44.000Z",
+ "updatedAt": "2020-01-22T13:22:45.904Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 129,
+ "name": "Phase Specification",
+ "description": "dummy description",
+ "duration": 5,
+ "type": "phase-specification",
+ "order": 1,
+ "plannedText": "Before we can begin, we have to fill in the technical details. Your copilot will reach out shortly to discuss the specifications with you. Please monitor your communication thread for updates.",
+ "activeText": "Before we can begin, we have to fill in the technical details. Your copilot will reach out shortly to discuss the specifications with you. Please monitor your communication thread for updates.",
+ "completedText": "Great job! We're ready to roll. Work on this project phase will begin shortly.",
+ "blockedText": "dummy blockedText",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 15,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2019-05-27T13:39:55.000Z",
+ "updatedAt": "2020-01-22T13:22:44.825Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 91,
+ "name": "community-work",
+ "description": "Please review and answer all the questions on the specification document before we can proceed",
+ "duration": 5,
+ "type": "community-work",
+ "order": 7,
+ "plannedText": "We will be analyzing and building the features from your [oproject_type] specification. This is the rough development that will be refined over the next [number] milestones.",
+ "activeText": "Development is underway. We will update this milestone once the progress bar reaches 100%.",
+ "completedText": "Your backend development has been completed. You've reached the end of this milestone.",
+ "blockedText": "community-work MileStone Is Blocked",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 1,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2019-05-27T13:39:30.000Z",
+ "updatedAt": "2020-01-22T13:22:45.789Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 77,
+ "name": "COPY Final Fixes (development)",
+ "description": "Your Copilot will provide additional information on this milestone.",
+ "duration": 2,
+ "type": "final-fix",
+ "order": 12,
+ "plannedText": "Your Copilot will provide additional information on this milestone.",
+ "activeText": "Development is underway. We will update this milestone once the progress bar reaches 100%.",
+ "completedText": "Development has been completed! This marks the end of the milestone. ",
+ "blockedText": "Your Copilot will provide additional information on this milestone.",
+ "hidden": true,
+ "reference": "productTemplate",
+ "referenceId": 27,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2018-12-08T10:13:46.000Z",
+ "updatedAt": "2020-01-22T13:22:46.898Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 127,
+ "name": "Complete",
+ "description": "We will be designing several independent proposals in accordance with your specifications for you to choose from.",
+ "duration": 1,
+ "type": "delivery-design",
+ "order": 23,
+ "plannedText": "Design has been completed! Below you'll find the source files attached as a .zip archive, as per the phase specifications. They'll also be permanently available for download at your convenience.",
+ "activeText": "Design has been completed! Below you'll find the source files attached as a .zip archive, as per the phase specifications. They'll also be permanently available for download at your convenience.",
+ "completedText": "Design has been completed! Below you'll find the source files attached as a .zip archive, as per the phase specifications. They'll also be permanently available for download at your convenience.",
+ "blockedText": "Design has been completed! Below you'll find the source files attached as a .zip archive, as per the phase specifications. They'll also be permanently available for download at your convenience.",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 26,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2019-05-27T13:39:53.000Z",
+ "updatedAt": "2020-01-22T13:22:46.785Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 49,
+ "name": "Design development",
+ "description": "We will be designing several independent proposals in accordance with your specifications for you to choose from.",
+ "duration": 7,
+ "type": "community-work",
+ "order": 8,
+ "plannedText": "We will be designing several independent proposals in accordance with your specifications for you to choose from.",
+ "activeText": "We're currently designing the proposals. We will update this milestone with a list of all these soon.",
+ "completedText": "Great news! Designs are ready for review and selection.",
+ "blockedText": "We're currently designing the proposals. We will update this milestone with a list of all these soon.",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 25,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2018-08-10T13:47:28.000Z",
+ "updatedAt": "2020-01-22T13:22:47.154Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 3,
+ "name": "Phase Specification",
+ "description": "dummy description",
+ "duration": 5,
+ "type": "phase-specification",
+ "order": 2,
+ "plannedText": "Before we can begin, we have to fill in the technical details. Your copilot will reach out shortly to discuss the specifications with you. Please monitor your communication thread for updates.",
+ "activeText": "Before we can begin, we have to fill in the technical details. Your copilot will reach out shortly to discuss the specifications with you. Please monitor your communication thread for updates.",
+ "completedText": "Great job! We're ready to roll. Work on this project phase will begin shortly.",
+ "blockedText": "dummy blockedText",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 15,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2018-07-17T03:09:44.000Z",
+ "updatedAt": "2020-01-22T13:22:45.151Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 1,
+ "name": "phase-specification",
+ "description": "Please review and answer all the questions on the specification document before we can proceed",
+ "duration": 5,
+ "type": "phase-specification",
+ "order": 3,
+ "plannedText": "Before we can begin, we have to fill in the technical details. Your copilot will reach out shortly to discuss the specifications with you. Please monitor your communication thread for updates.",
+ "activeText": "Before we can begin, we have to fill in the technical details. Your copilot will reach out shortly to discuss the specifications with you. Please monitor your communication thread for updates.",
+ "completedText": "Great job! We're ready to roll. Work on this project phase will begin shortly.",
+ "blockedText": "Specs MileStone Is Blocked",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 1,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2018-07-16T11:28:12.000Z",
+ "updatedAt": "2020-01-22T13:22:45.426Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 81,
+ "name": "test",
+ "description": "dummy description",
+ "duration": 5,
+ "type": "checkpoint-review",
+ "order": 5,
+ "plannedText": "We will be designing several independent proposals in accordance with your specifications for you to choose from. From there, you will have to select the 5 best proposals from which to develop the final designs.",
+ "activeText": "We're currently developing the various proposals. We will soon update this milestone with a list of all the design proposals.",
+ "completedText": "We're currently developing the 5 options you selected into final designs.",
+ "blockedText": "Select the 5 designs that you would like us to continue exploring going forward. Please leave your feedback using the Marvel app interface. The more direction you are able to provide at this point, the better the final designs will be.",
+ "hidden": true,
+ "reference": "productTemplate",
+ "referenceId": 15,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2018-12-10T12:00:06.000Z",
+ "updatedAt": "2020-01-22T13:22:45.389Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 10,
+ "name": "Final Fix",
+ "description": "dummy description",
+ "duration": 1,
+ "type": "final-fix",
+ "order": 14,
+ "plannedText": "dummy plannedText",
+ "activeText": "dummy activeText",
+ "completedText": "Below is the list of final fixes which are being implemented. Keep tracking delivery milestone for updates.",
+ "blockedText": "dummy blockText",
+ "hidden": true,
+ "reference": "productTemplate",
+ "referenceId": 15,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2018-07-22T04:06:21.000Z",
+ "updatedAt": "2020-01-22T13:22:45.626Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 133,
+ "name": "Delivery",
+ "description": "Development has been completed! This marks the end of the milestone. Below you'll find the source files attached as a .zip archive, as per the phase specifications. They'll also be permanently available for download at your convenience.",
+ "duration": 1,
+ "type": "delivery-dev",
+ "order": 7,
+ "plannedText": "Once you accept the code, your source files will be delivered here.",
+ "activeText": "Once you accept the code, your source files will be delivered here.",
+ "completedText": "Development has been completed! This marks the end of the milestone. Below you'll find the source files attached as a .zip archive, as per the phase specifications. They'll also be permanently available for download at your convenience.",
+ "blockedText": "hh",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 28,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2019-05-27T13:39:57.000Z",
+ "updatedAt": "2020-01-22T13:22:46.328Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 128,
+ "name": "Delivery",
+ "description": "Development has been completed! This marks the end of the milestone. Below you'll find the source files attached as a .zip archive, as per the phase specifications. They'll also be permanently available for download at your convenience.",
+ "duration": 1,
+ "type": "delivery-dev",
+ "order": 9,
+ "plannedText": "Once you accept the code, your source files will be delivered here.",
+ "activeText": "Once you accept the code, your source files will be delivered here.",
+ "completedText": "Development has been completed! This marks the end of the milestone. Below you'll find the source files attached as a .zip archive, as per the phase specifications. They'll also be permanently available for download at your convenience.",
+ "blockedText": "Once you accept the code, your source files will be delivered here.",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 28,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2019-05-27T13:39:54.000Z",
+ "updatedAt": "2020-01-22T13:22:46.328Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 42,
+ "name": "Progress report (QA)",
+ "description": "We will be reviewing and testing the code for quality and bugs.",
+ "duration": 14,
+ "type": "generic-work",
+ "order": 7,
+ "plannedText": "We will be reviewing and testing the code for quality and bugs.",
+ "activeText": "QA testing is underway. We will update this milestone once the progress bar reaches 100%.",
+ "completedText": "Your QA testing has been completed. You've reached the end of this milestone.",
+ "blockedText": "We are waiting for manager input",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 30,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2018-08-10T12:14:45.000Z",
+ "updatedAt": "2020-01-22T13:22:46.520Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 131,
+ "name": "phase-specification",
+ "description": "Please review and answer all the questions on the specification document before we can proceed",
+ "duration": 5,
+ "type": "phase-specification",
+ "order": 1,
+ "plannedText": "Before we can begin, we have to fill in the technical details. Your copilot will reach out shortly to discuss the specifications with you. Please monitor your communication thread for updates.",
+ "activeText": "Before we can begin, we have to fill in the technical details. Your copilot will reach out shortly to discuss the specifications with you. Please monitor your communication thread for updates.",
+ "completedText": "Great job! We're ready to roll. Work on this project phase will begin shortly.",
+ "blockedText": "Specs MileStone Is Blocked",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 1,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2019-05-27T13:39:56.000Z",
+ "updatedAt": "2020-01-22T13:22:45.415Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 90,
+ "name": "Final Designs",
+ "description": "dummy description",
+ "duration": 5,
+ "type": "final-designs",
+ "order": 8,
+ "plannedText": "We will design the remaining screens with the feedback from the 5 designs you selected. Once the designs are completed, you will see them here. You'll then choose your 3 favorite options.",
+ "activeText": "Our designers are hard at work, incorporating your feedback and designing the remaining screens. We will update this milestone once the progress bar reaches 100%, and you'll see all the links available below.",
+ "completedText": "You've selected the winning designs! This concludes the final design milestone.",
+ "blockedText": "Great news! The designs are now completed. Please pick your winners using the interface below. You get the first 3 designs as part of this phase. If you'd like, you can purchase the remaning 2 at an additional $100 per design.",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 15,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2019-05-27T13:39:29.000Z",
+ "updatedAt": "2020-01-22T13:22:45.620Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 89,
+ "name": "Checkpoint Review",
+ "description": "dummy description",
+ "duration": 5,
+ "type": "checkpoint-review",
+ "order": 10,
+ "plannedText": "We will be designing several independent proposals in accordance with your specifications for you to choose from. From there, you will have to select the 5 best proposals from which to develop the final designs.",
+ "activeText": "We're currently developing the various proposals. We will soon update this milestone with a list of all the design proposals.",
+ "completedText": "We're currently developing the 5 options you selected into final designs.",
+ "blockedText": "Select the 5 designs that you would like us to continue exploring going forward. Please leave your feedback using the Marvel app interface. The more direction you are able to provide at this point, the better the final designs will be.",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 15,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2019-05-27T13:39:28.000Z",
+ "updatedAt": "2020-01-22T13:22:45.626Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 132,
+ "name": "Progress report (QA)",
+ "description": "We will be reviewing and testing the code for quality and bugs.",
+ "duration": 14,
+ "type": "generic-work",
+ "order": 3,
+ "plannedText": "We will be reviewing and testing the code for quality and bugs.",
+ "activeText": "QA testing is underway. We will update this milestone once the progress bar reaches 100%.",
+ "completedText": "Your QA testing has been completed. You've reached the end of this milestone.",
+ "blockedText": "We are waiting for manager input",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 30,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2019-05-27T13:39:56.000Z",
+ "updatedAt": "2020-01-22T13:22:46.132Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 130,
+ "name": "Final Fixes (development)",
+ "description": "Your Copilot will provide additional information on this milestone.",
+ "duration": 2,
+ "type": "final-fix",
+ "order": 11,
+ "plannedText": "Your Copilot will provide additional information on this milestone.",
+ "activeText": "Development is underway. We will update this milestone once the progress bar reaches 100%.",
+ "completedText": "Development has been completed! This marks the end of the milestone. ",
+ "blockedText": "Your Copilot will provide additional information on this milestone.",
+ "hidden": true,
+ "reference": "productTemplate",
+ "referenceId": 28,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2019-05-27T13:39:55.000Z",
+ "updatedAt": "2020-01-22T13:22:46.328Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 34,
+ "name": "Final Fixes (development)",
+ "description": "Your Copilot will provide additional information on this milestone.",
+ "duration": 2,
+ "type": "final-fix",
+ "order": 19,
+ "plannedText": "Your Copilot will provide additional information on this milestone.",
+ "activeText": "Development is underway. We will update this milestone once the progress bar reaches 100%.",
+ "completedText": "Development has been completed! This marks the end of the milestone. ",
+ "blockedText": "Your Copilot will provide additional information on this milestone.",
+ "hidden": true,
+ "reference": "productTemplate",
+ "referenceId": 28,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2018-08-10T11:50:33.000Z",
+ "updatedAt": "2020-01-22T13:22:46.328Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 44,
+ "name": "Delivery (QA)",
+ "description": "QA has been completed! This marks the end of the milestone. Below you'll find the QA report files attached as a .zip archive, as per the phase specifications. They'll also be permanently available for download at your convenience.",
+ "duration": 1,
+ "type": "delivery",
+ "order": 10,
+ "plannedText": "Once you accept the work, your QA report files will be delivered here.",
+ "activeText": "Once you accept the work, your QA report files will be delivered here.",
+ "completedText": "QA has been completed! This marks the end of the milestone. Below you'll find the QA report files attached as a .zip archive, as per the phase specifications. They'll also be permanently available for download at your convenience.",
+ "blockedText": "Once you accept the work, your QA report files will be delivered here.",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 30,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2018-08-10T12:23:52.000Z",
+ "updatedAt": "2020-01-22T13:22:46.520Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 9,
+ "name": "Final Designs",
+ "description": "dummy description",
+ "duration": 5,
+ "type": "final-designs",
+ "order": 13,
+ "plannedText": "We will design the remaining screens with the feedback from the 5 designs you selected. Once the designs are completed, you will see them here. You'll then choose your 3 favorite options.",
+ "activeText": "Our designers are hard at work, incorporating your feedback and designing the remaining screens. We will update this milestone once the progress bar reaches 100%, and you'll see all the links available below.",
+ "completedText": "You've selected the winning designs! This concludes the final design milestone.",
+ "blockedText": "Great news! The designs are now completed. Please pick your winners using the interface below. You get the first 3 designs as part of this phase. If you'd like, you can purchase the remaning 2 at an additional $100 per design.",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 15,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2018-07-22T04:02:22.000Z",
+ "updatedAt": "2020-01-22T13:22:45.626Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 79,
+ "name": "Delivery111",
+ "description": "dummy description",
+ "duration": 51,
+ "type": "delivery-design",
+ "order": 61,
+ "plannedText": "Once we implement the final designs, your source files will be delivered here.",
+ "activeText": "Please indicate the top 3 things you'd like to change on the winning design. Any further changes will be out of the scope of this phase and will require you to extend the project by adding an additional phase.",
+ "completedText": "The final file deliverables are attached. This concludes both the milestone and the entire phase. We've added all the source files as per the phase specification. They'll also be permanently available for download at your convenience.",
+ "blockedText": "The agreed-upon final fixes are being implemented. We will provide an update once the progress bar reaches 100% and attach the final deliverables below.",
+ "hidden": true,
+ "reference": "productTemplate",
+ "referenceId": 15,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2018-12-10T08:06:34.000Z",
+ "updatedAt": "2020-01-22T13:22:45.626Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 135,
+ "name": "Design Work (checkpoint)",
+ "description": "We will be designing several independent proposals in accordance with your specifications for you to choose from.",
+ "duration": 7,
+ "type": "design-work",
+ "order": 1,
+ "plannedText": "We will be designing several independent proposals in accordance with your specifications for you to choose from.",
+ "activeText": " ",
+ "completedText": "Great news! The design enhancements to your top 5 designs are ready for review and selection..",
+ "blockedText": " ",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 168,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2019-08-28T04:45:51.000Z",
+ "updatedAt": "2020-01-22T13:22:45.651Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 94,
+ "name": "final-fix",
+ "description": "Please review and answer all the questions on the specification document before we can proceed",
+ "duration": 0,
+ "type": "final-fix",
+ "order": 6,
+ "plannedText": "final-fix yet to be started",
+ "activeText": "The agreed-upon final fixes are being implemented. We will provide an update once the progress bar reaches 100% and attach the final deliverables below.",
+ "completedText": "final-fixes are completed",
+ "blockedText": "final-fix blocked",
+ "hidden": true,
+ "reference": "productTemplate",
+ "referenceId": 1,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2019-05-27T13:39:32.000Z",
+ "updatedAt": "2020-01-22T13:22:45.782Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 87,
+ "name": "delivery",
+ "description": "Please review and answer all the questions on the specification document before we can proceed",
+ "duration": 5,
+ "type": "delivery-dev",
+ "order": 13,
+ "plannedText": "Delivery not yet made",
+ "activeText": "Delivery in progress",
+ "completedText": "Delivered the product",
+ "blockedText": "Delivery is blocked",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 1,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2019-05-27T13:39:27.000Z",
+ "updatedAt": "2020-01-22T13:22:45.789Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 107,
+ "name": "Report",
+ "description": "Your Copilot will provide additional information on this milestone.",
+ "duration": 7,
+ "type": "generic-work",
+ "order": 5,
+ "plannedText": "Your Copilot will provide additional information on this milestone.",
+ "activeText": "Development is underway. Your Copilot will provide additional information on this milestone.",
+ "completedText": "Development is complete. Your Copilot will provide additional information on this milestone.",
+ "blockedText": "Your Copilot will provide additional information on this milestone.",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 28,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2019-05-27T13:39:40.000Z",
+ "updatedAt": "2020-01-22T13:22:46.328Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 92,
+ "name": "Timeline start (design)",
+ "description": "We are preparing the final specification for the design work. Your copilot will communicate the details of the phase on the Posts thread before we begin work.",
+ "duration": 2,
+ "type": "phase-specification",
+ "order": 1,
+ "plannedText": "We are preparing the final specification for the design work. Your copilot will communicate the details of the phase on the Posts thread before we begin work.",
+ "activeText": "We are preparing the final specification for the design work. Your copilot will communicate the details of the phase on the Posts thread before we begin work.",
+ "completedText": "Specification is completed. We're now working on the design options.",
+ "blockedText": "We are preparing the final specification for the design work. Your copilot will communicate the details of the phase on the Posts thread before we begin work.",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 25,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2019-05-27T13:39:30.000Z",
+ "updatedAt": "2020-01-22T13:22:45.858Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 78,
+ "name": "Delivery",
+ "description": "Development has been completed! This marks the end of the milestone. Below you'll find the source files attached as a .zip archive, as per the phase specifications. They'll also be permanently available for download at your convenience.",
+ "duration": 1,
+ "type": "delivery-dev",
+ "order": 12,
+ "plannedText": "Once you accept the code, your source files will be delivered here.",
+ "activeText": "Once you accept the code, your source files will be delivered here.",
+ "completedText": "Development has been completed! This marks the end of the milestone. Below you'll find the source files attached as a .zip archive, as per the phase specifications. They'll also be permanently available for download at your convenience.",
+ "blockedText": "hh",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 28,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2018-12-08T10:19:41.000Z",
+ "updatedAt": "2020-01-22T13:22:46.328Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 95,
+ "name": "Timeline start (design)",
+ "description": "We are preparing the final specification for the design work. Your copilot will communicate the details of the phase on the Posts thread before we begin work.",
+ "duration": 2,
+ "type": "phase-specification",
+ "order": 6,
+ "plannedText": "We are preparing the final specification for the design work. Your copilot will communicate the details of the phase on the Posts thread before we begin work.",
+ "activeText": "We are preparing the final specification for the design work. Your copilot will communicate the details of the phase on the Posts thread before we begin work.",
+ "completedText": "Specification is completed. We're now working on the design options.",
+ "blockedText": "We are preparing the final specification for the design work. Your copilot will communicate the details of the phase on the Posts thread before we begin work.",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 26,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2019-05-27T13:39:32.000Z",
+ "updatedAt": "2020-01-22T13:22:45.893Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 99,
+ "name": "Timeline start (development)",
+ "description": "A development plan has been created using the specifications you have provided us.",
+ "duration": 2,
+ "type": "phase-specification",
+ "order": 1,
+ "plannedText": "A development plan has been created using the specifications you have provided us.",
+ "activeText": "Development is underway. We will update this milestone once the progress bar reaches 100%.",
+ "completedText": "Development is complete.",
+ "blockedText": "Development is underway. We will update this milestone once the progress bar reaches 100%.",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 27,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2019-05-27T13:39:35.000Z",
+ "updatedAt": "2020-01-22T13:22:45.941Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 103,
+ "name": "Design Review",
+ "description": "We will be designing several independent proposals in accordance with your specifications for you to choose from.",
+ "duration": 7,
+ "type": "checkpoint-review",
+ "order": 16,
+ "plannedText": "We will be designing several independent proposals in accordance with your specifications for you to choose from.",
+ "activeText": "We're currently developing the 5 options you selected into final designs.",
+ "completedText": "Great news! The design enhancements to your top 5 designs are ready for review and selection..",
+ "blockedText": "Select the 5 designs that you would like us to continue exploring going forward. Please leave your feedback using the Marvel app interface. The more direction you are able to provide at this point, the better the final designs will be.",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 26,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2019-05-27T13:39:38.000Z",
+ "updatedAt": "2020-01-22T13:22:46.287Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 121,
+ "name": "Design Final Selection",
+ "description": "A design plan has been created using the specifications you have provided us.",
+ "duration": 7,
+ "type": "final-designs",
+ "order": 18,
+ "plannedText": "We will be designing several independent proposals in accordance with your specifications for you to choose from.",
+ "activeText": "Design develoment is underway. We will update this milestone once the progress bar reaches 100%.",
+ "completedText": "You've selected the winning designs! This concludes the final design milestone. If you have any final enhancements to your selected designs, please indicate here. Leave your feedback using the Marvel app interface. The more direction you are able to provide at this point, the better the final designs will be.",
+ "blockedText": "Please select the top 3 designs from the list bellow. You will own them as per your Topcoder project contract. If you like any of the two outstanding designs you can purchase them at additional $100 per design. Once you make your selection we will deliver the final design package in the next milestone as a .zip compressed folder. If you need further assistance please contact your copilot in the phase discussion thread.",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 26,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2019-05-27T13:39:49.000Z",
+ "updatedAt": "2020-01-22T13:22:46.785Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 36,
+ "name": "Delivery",
+ "description": "Development has been completed! This marks the end of the milestone. Below you'll find the source files attached as a .zip archive, as per the phase specifications. They'll also be permanently available for download at your convenience.",
+ "duration": 1,
+ "type": "delivery-dev",
+ "order": 15,
+ "plannedText": "Once you accept the code, your source files will be delivered here.",
+ "activeText": "Once you accept the code, your source files will be delivered here.",
+ "completedText": "Development has been completed! This marks the end of the milestone. Below you'll find the source files attached as a .zip archive, as per the phase specifications. They'll also be permanently available for download at your convenience.",
+ "blockedText": "Once you accept the code, your source files will be delivered here.",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 27,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2018-08-10T11:59:03.000Z",
+ "updatedAt": "2020-01-22T13:22:46.898Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 136,
+ "name": "Checkpoint Review",
+ "description": "Select the 5 designs that you would like us to continue exploring going forward. Please leave your feedback using the Marvel app interface. The more direction you are able to provide at this point, the better the final designs will be.",
+ "duration": 5,
+ "type": "checkpoint-review",
+ "order": 2,
+ "plannedText": "We will be designing several independent proposals in accordance with your specifications for you to choose from. From there, you will have to select the 5 best proposals from which to develop the final designs.",
+ "activeText": "We're currently developing the various proposals. We will soon update this milestone with a list of all the design proposals.",
+ "completedText": "We're currently developing the 5 options you selected into final designs.",
+ "blockedText": "Select the 5 designs that you would like us to continue exploring going forward. Please leave your feedback using the Marvel app interface. The more direction you are able to provide at this point, the better the final designs will be.",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 168,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2019-08-28T05:49:48.000Z",
+ "updatedAt": "2020-01-22T13:22:46.067Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 105,
+ "name": "Timeline start (QA)",
+ "description": "We would prepare the final specification for the QA work. Your copilot will communicate the details of the phase on the Posts thread before we begin work.",
+ "duration": 2,
+ "type": "phase-specification",
+ "order": 1,
+ "plannedText": "We would prepare the final specification for the QA work. Your copilot will communicate the details of the phase on the Posts thread before we begin work.",
+ "activeText": "We are preparing the final specification for the QA work. Your copilot will communicate the details of the phase on the Posts thread before we begin work.",
+ "completedText": "Specification is completed. Development is underway.",
+ "blockedText": "We are waiting for manager input",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 30,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2019-05-27T13:39:39.000Z",
+ "updatedAt": "2020-01-22T13:22:46.128Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 97,
+ "name": "Report 1",
+ "description": "Your Copilot will provide additional information on this milestone.",
+ "duration": 7,
+ "type": "generic-work",
+ "order": 4,
+ "plannedText": "Your Copilot will provide additional information on this milestone.",
+ "activeText": "Development is underway. Your Copilot will provide additional information on this milestone.",
+ "completedText": "Development is complete. Your Copilot will provide additional information on this milestone.",
+ "blockedText": "Your Copilot will provide additional information on this milestone.",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 27,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2019-05-27T13:39:34.000Z",
+ "updatedAt": "2020-01-22T13:22:46.179Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 108,
+ "name": "Adding Links",
+ "description": "We will be designing several independent proposals in accordance with your specifications for you to choose from.",
+ "duration": 1,
+ "type": "add-links",
+ "order": 15,
+ "plannedText": "We will be designing several independent proposals in accordance with your specifications for you to choose from.",
+ "activeText": "ddfd",
+ "completedText": "Great news! The design enhancements to your top 5 designs are ready for review and selection..",
+ "blockedText": "df",
+ "hidden": true,
+ "reference": "productTemplate",
+ "referenceId": 26,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2019-05-27T13:39:41.000Z",
+ "updatedAt": "2020-01-22T13:22:46.282Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 30,
+ "name": "Report",
+ "description": "Your Copilot will provide additional information on this milestone.",
+ "duration": 7,
+ "type": "generic-work",
+ "order": 10,
+ "plannedText": "Your Copilot will provide additional information on this milestone.",
+ "activeText": "Development is underway. Your Copilot will provide additional information on this milestone.",
+ "completedText": "Development is complete. Your Copilot will provide additional information on this milestone.",
+ "blockedText": "Your Copilot will provide additional information on this milestone.",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 28,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2018-08-10T11:48:35.000Z",
+ "updatedAt": "2020-01-22T13:22:46.328Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 101,
+ "name": "Final Fixes",
+ "description": "We will be resolving any final fixes you requested.",
+ "duration": 7,
+ "type": "final-fix",
+ "order": 10,
+ "plannedText": "We will be resolving any final fixes you requested.",
+ "activeText": "We are working to resolve the final fixes you requested for your designs. We will update this milestone once the progress bar reaches 100%.",
+ "completedText": "Great news! Your final design fixes are complete. Your final design package is available as a .zip archive, as per the phase specifications. It will also be permanently available for download at your convenience.",
+ "blockedText": "We are working to resolve the final fixes you requested for your designs. We will update this milestone once the progress bar reaches 100%.",
+ "hidden": true,
+ "reference": "productTemplate",
+ "referenceId": 25,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2019-05-27T13:39:36.000Z",
+ "updatedAt": "2020-01-22T13:22:47.189Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 88,
+ "name": "Design development",
+ "description": "We will be designing several independent proposals in accordance with your specifications for you to choose from.",
+ "duration": 7,
+ "type": "community-work",
+ "order": 20,
+ "plannedText": "We will be designing several independent proposals in accordance with your specifications for you to choose from.",
+ "activeText": "We're currently designing the proposals. We will update this milestone with a list of all these soon.",
+ "completedText": "Great news! Designs are ready for review and selection.",
+ "blockedText": "We're currently designing the proposals. We will update this milestone with a list of all these soon.",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 26,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2019-05-27T13:39:28.000Z",
+ "updatedAt": "2020-01-22T13:22:46.785Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 27,
+ "name": "Report 1",
+ "description": "Your Copilot will provide additional information on this milestone.",
+ "duration": 7,
+ "type": "generic-work",
+ "order": 16,
+ "plannedText": "Your Copilot will provide additional information on this milestone.",
+ "activeText": "Development is underway. Your Copilot will provide additional information on this milestone.",
+ "completedText": "Development is complete. Your Copilot will provide additional information on this milestone.",
+ "blockedText": "Your Copilot will provide additional information on this milestone.",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 27,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2018-08-10T11:47:16.000Z",
+ "updatedAt": "2020-01-22T13:22:46.898Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 100,
+ "name": "Timeline start (development)",
+ "description": "A development plan has been created using the specifications you have provided us.",
+ "duration": 2,
+ "type": "phase-specification",
+ "order": 1,
+ "plannedText": "A development plan has been created using the specifications you have provided us.",
+ "activeText": "Development is underway. We will update this milestone once the progress bar reaches 100%.",
+ "completedText": "Development is complete.",
+ "blockedText": "Development is underway. We will update this milestone once the progress bar reaches 100%.",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 28,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2019-05-27T13:39:36.000Z",
+ "updatedAt": "2020-01-22T13:22:46.318Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 39,
+ "name": "Delivery",
+ "description": "Development has been completed! This marks the end of the milestone. Below you'll find the source files attached as a .zip archive, as per the phase specifications. They'll also be permanently available for download at your convenience.",
+ "duration": 1,
+ "type": "delivery-dev",
+ "order": 18,
+ "plannedText": "Once you accept the code, your source files will be delivered here.",
+ "activeText": "Once you accept the code, your source files will be delivered here.",
+ "completedText": "Development has been completed! This marks the end of the milestone. Below you'll find the source files attached as a .zip archive, as per the phase specifications. They'll also be permanently available for download at your convenience.",
+ "blockedText": "Once you accept the code, your source files will be delivered here.",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 28,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2018-08-10T11:59:38.000Z",
+ "updatedAt": "2020-01-22T13:22:46.328Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 104,
+ "name": "Timeline start (development)",
+ "description": "A development plan has been created using the specifications you have provided us.",
+ "duration": 7,
+ "type": "phase-specification",
+ "order": 1,
+ "plannedText": "A development plan has been created using the specifications you have provided us.",
+ "activeText": "Development is underway. We will update this milestone once the progress bar reaches 100%.",
+ "completedText": "Development is complete.",
+ "blockedText": "Development is underway. We will update this milestone once the progress bar reaches 100%.",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 29,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2019-05-27T13:39:38.000Z",
+ "updatedAt": "2020-01-22T13:22:46.437Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 137,
+ "name": "Design Work (final)",
+ "description": "We will take into account your feedback to create the best final versions of designs.",
+ "duration": 7,
+ "type": "design-work",
+ "order": 3,
+ "plannedText": "We will be designing several independent proposals in accordance with your specifications for you to choose from.",
+ "activeText": " ",
+ "completedText": "Great news! The design enhancements to your top 5 designs are ready for review and selection..",
+ "blockedText": " ",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 168,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2019-08-28T05:52:29.000Z",
+ "updatedAt": "2020-01-22T13:22:46.485Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 106,
+ "name": "Delivery (QA)",
+ "description": "QA has been completed! This marks the end of the milestone. Below you'll find the QA report files attached as a .zip archive, as per the phase specifications. They'll also be permanently available for download at your convenience.",
+ "duration": 1,
+ "type": "delivery",
+ "order": 5,
+ "plannedText": "Once you accept the work, your QA report files will be delivered here.",
+ "activeText": "Once you accept the work, your QA report files will be delivered here.",
+ "completedText": "QA has been completed! This marks the end of the milestone. Below you'll find the QA report files attached as a .zip archive, as per the phase specifications. They'll also be permanently available for download at your convenience.",
+ "blockedText": "Once you accept the work, your QA report files will be delivered here.",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 30,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2019-05-27T13:39:40.000Z",
+ "updatedAt": "2020-01-22T13:22:46.516Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 112,
+ "name": "Final Fixes (development)",
+ "description": "Your Copilot will provide additional information on this milestone.",
+ "duration": 2,
+ "type": "final-fix",
+ "order": 5,
+ "plannedText": "Your Copilot will provide additional information on this milestone.",
+ "activeText": "Development is underway. We will update this milestone once the progress bar reaches 100%.",
+ "completedText": "Development has been completed! This marks the end of the milestone. ",
+ "blockedText": "Your Copilot will provide additional information on this milestone.",
+ "hidden": true,
+ "reference": "productTemplate",
+ "referenceId": 27,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2019-05-27T13:39:43.000Z",
+ "updatedAt": "2020-01-22T13:22:46.548Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 51,
+ "name": "Design development",
+ "description": "We will be designing several independent proposals in accordance with your specifications for you to choose from.",
+ "duration": 7,
+ "type": "community-work",
+ "order": 34,
+ "plannedText": "We will be designing several independent proposals in accordance with your specifications for you to choose from.",
+ "activeText": "We're currently designing the proposals. We will update this milestone with a list of all these soon.",
+ "completedText": "Great news! Designs are ready for review and selection.",
+ "blockedText": "We're currently designing the proposals. We will update this milestone with a list of all these soon.",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 26,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2018-08-10T13:49:40.000Z",
+ "updatedAt": "2020-01-22T13:22:46.785Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 102,
+ "name": "Delivery",
+ "description": "Development has been completed! This marks the end of the milestone. Below you'll find the source files attached as a .zip archive, as per the phase specifications. They'll also be permanently available for download at your convenience.",
+ "duration": 1,
+ "type": "delivery-dev",
+ "order": 11,
+ "plannedText": "Once you accept the code, your source files will be delivered here.",
+ "activeText": "Once you accept the code, your source files will be delivered here.",
+ "completedText": "Development has been completed! This marks the end of the milestone. Below you'll find the source files attached as a .zip archive, as per the phase specifications. They'll also be permanently available for download at your convenience.",
+ "blockedText": "Once you accept the code, your source files will be delivered here.",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 29,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2019-05-27T13:39:37.000Z",
+ "updatedAt": "2020-01-22T13:22:46.833Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 116,
+ "name": "Timeline start (design)",
+ "description": "Before we can begin, we have to fill in the technical details. Your copilot will reach out shortly to discuss the specifications with you. Please monitor your communication thread for updates.",
+ "duration": 1,
+ "type": "phase-specification",
+ "order": 1,
+ "plannedText": "Before we can begin, we have to fill in the technical details. Your copilot will reach out shortly to discuss the specifications with you. Please monitor your communication thread for updates.",
+ "activeText": "We are preparing the final specification for the design work. Your copilot will communicate the details of the phase on the Posts thread before we begin work.",
+ "completedText": "Specification is completed. We're now working on the design options.",
+ "blockedText": "We are preparing the final specification for the design work. Your copilot will communicate the details of the phase on the Posts thread before we begin work.",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 31,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2019-05-27T13:39:46.000Z",
+ "updatedAt": "2020-01-22T13:22:46.643Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 46,
+ "name": "Design development",
+ "description": "We will be designing several independent proposals in accordance with your specifications for you to choose from.",
+ "duration": 3,
+ "type": "community-work",
+ "order": 4,
+ "plannedText": "We will be designing several independent proposals in accordance with your specifications for you to choose from.",
+ "activeText": "We're currently designing the proposals. We will update this milestone with a list of all these soon.",
+ "completedText": "Great news! Designs are ready for review and selection.",
+ "blockedText": "We're currently designing the proposals. We will update this milestone with a list of all these soon.",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 31,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2018-08-10T12:32:27.000Z",
+ "updatedAt": "2020-01-22T13:22:46.700Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 114,
+ "name": "Final Fixes",
+ "description": "We will be resolving any final fixes you requested.",
+ "duration": 7,
+ "type": "final-fix",
+ "order": 17,
+ "plannedText": "We will be resolving any final fixes you requested.",
+ "activeText": "We are working to resolve the final fixes you requested for your designs. We will update this milestone once the progress bar reaches 100%.",
+ "completedText": "Great news! Your final design fixes are complete. Your final design package is available as a .zip archive, as per the phase specifications. It will also be permanently available for download at your convenience.",
+ "blockedText": "We are working to resolve the final fixes you requested for your designs. We will update this milestone once the progress bar reaches 100%.",
+ "hidden": true,
+ "reference": "productTemplate",
+ "referenceId": 26,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2019-05-27T13:39:45.000Z",
+ "updatedAt": "2020-01-22T13:22:46.779Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 48,
+ "name": "Complete",
+ "description": "Design has been completed! Below you'll find the source files attached as a .zip archive, as per the phase specifications. They'll also be permanently available for download at your convenience.",
+ "duration": 1,
+ "type": "delivery-design",
+ "order": 15,
+ "plannedText": "Design has been completed! Below you'll find the source files attached as a .zip archive, as per the phase specifications. They'll also be permanently available for download at your convenience.",
+ "activeText": "Design has been completed! Below you'll find the source files attached as a .zip archive, as per the phase specifications. They'll also be permanently available for download at your convenience.",
+ "completedText": "Design has been completed! Below you'll find the source files attached as a .zip archive, as per the phase specifications. They'll also be permanently available for download at your convenience.",
+ "blockedText": "Design has been completed! Below you'll find the source files attached as a .zip archive, as per the phase specifications. They'll also be permanently available for download at your convenience.",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 31,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2018-08-10T12:37:02.000Z",
+ "updatedAt": "2020-01-22T13:22:46.949Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 110,
+ "name": "Complete",
+ "description": "Design has been completed! Below you'll find the source files attached as a .zip archive, as per the phase specifications. It will also be permanently available for download at your convenience.",
+ "duration": 1,
+ "type": "delivery-design",
+ "order": 11,
+ "plannedText": "Design has been completed! Below you'll find the source files attached as a .zip archive, as per the phase specifications. It will also be permanently available for download at your convenience.",
+ "activeText": "Design has been completed! Below you'll find the source files attached as a .zip archive, as per the phase specifications. It will also be permanently available for download at your convenience.",
+ "completedText": "Design has been completed! Below you'll find the source files attached as a .zip archive, as per the phase specifications. It will also be permanently available for download at your convenience.",
+ "blockedText": "Design has been completed! Below you'll find the source files attached as a .zip archive, as per the phase specifications. It will also be permanently available for download at your convenience.",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 25,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2019-05-27T13:39:42.000Z",
+ "updatedAt": "2020-01-22T13:22:47.189Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 22,
+ "name": "Final Fixes",
+ "description": "We will be resolving any final fixes you requested.",
+ "duration": 7,
+ "type": "final-fix",
+ "order": 24,
+ "plannedText": "We will be resolving any final fixes you requested.",
+ "activeText": "We are working to resolve the final fixes you requested for your designs. We will update this milestone once the progress bar reaches 100%.",
+ "completedText": "Great news! Your final design fixes are complete. Your final design package is available as a .zip archive, as per the phase specifications. It will also be permanently available for download at your convenience.",
+ "blockedText": "We are working to resolve the final fixes you requested for your designs. We will update this milestone once the progress bar reaches 100%.",
+ "hidden": true,
+ "reference": "productTemplate",
+ "referenceId": 26,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2018-08-09T12:25:40.000Z",
+ "updatedAt": "2020-01-22T13:22:46.785Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 17,
+ "name": "Complete",
+ "description": "We will be designing several independent proposals in accordance with your specifications for you to choose from.",
+ "duration": 1,
+ "type": "delivery-design",
+ "order": 33,
+ "plannedText": "Design has been completed! Below you'll find the source files attached as a .zip archive, as per the phase specifications. They'll also be permanently available for download at your convenience.",
+ "activeText": "Design has been completed! Below you'll find the source files attached as a .zip archive, as per the phase specifications. They'll also be permanently available for download at your convenience.",
+ "completedText": "Design has been completed! Below you'll find the source files attached as a .zip archive, as per the phase specifications. They'll also be permanently available for download at your convenience.",
+ "blockedText": "Design has been completed! Below you'll find the source files attached as a .zip archive, as per the phase specifications. They'll also be permanently available for download at your convenience.",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 26,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2018-08-08T16:12:43.000Z",
+ "updatedAt": "2020-01-22T13:22:46.785Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 15,
+ "name": "Design Final Selection",
+ "description": "A design plan has been created using the specifications you have provided us.",
+ "duration": 7,
+ "type": "final-designs",
+ "order": 27,
+ "plannedText": "We will be designing several independent proposals in accordance with your specifications for you to choose from.",
+ "activeText": "Design develoment is underway. We will update this milestone once the progress bar reaches 100%.",
+ "completedText": "You've selected the winning designs! This concludes the final design milestone. If you have any final enhancements to your selected designs, please indicate here. Leave your feedback using the Marvel app interface. The more direction you are able to provide at this point, the better the final designs will be.",
+ "blockedText": "Please select the top 3 designs from the list bellow. You will own them as per your Topcoder project contract. If you like any of the two outstanding designs you can purchase them at additional $100 per design. Once you make your selection we will deliver the final design package in the next milestone as a .zip compressed folder. If you need further assistance please contact your copilot in the phase discussion thread.",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 26,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2018-08-08T16:05:32.000Z",
+ "updatedAt": "2020-01-22T13:22:46.785Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 111,
+ "name": "Final Fixes (development)",
+ "description": "Your Copilot will provide additional information on this milestone.",
+ "duration": 2,
+ "type": "final-fix",
+ "order": 6,
+ "plannedText": "Your Copilot will provide additional information on this milestone.",
+ "activeText": "Development is underway. We will update this milestone once the progress bar reaches 100%.",
+ "completedText": "Development has been completed! This marks the end of the milestone. ",
+ "blockedText": "Your Copilot will provide additional information on this milestone.",
+ "hidden": true,
+ "reference": "productTemplate",
+ "referenceId": 29,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2019-05-27T13:39:43.000Z",
+ "updatedAt": "2020-01-22T13:22:46.822Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 113,
+ "name": "Design Final Selection",
+ "description": "Please select the top 8 designs from the list below. You will own them as per your Topcoder project contract. If you like any of the outstanding designs you can purchase them at additional $100 per design. ",
+ "duration": 1,
+ "type": "final-designs",
+ "order": 6,
+ "plannedText": "Please select the top 8 designs from the list below. You will own them as per your Topcoder project contract. If you like any of the outstanding designs you can purchase them at additional $100 per design. ",
+ "activeText": "Please select the top 8 designs from the list below. You will own them as per your Topcoder project contract. If you like any of the outstanding designs you can purchase them at additional $100 per design. ",
+ "completedText": "You've selected the winning designs! This concludes the final design milestone. If you have any final enhancements to your selected designs, please indicate here. Leave your feedback using the Marvel app interface. The more direction you are able to provide at this point, the better the final designs will be.",
+ "blockedText": "Please select the top 8 designs from the list below. You will own them as per your Topcoder project contract. If you like any of the outstanding designs you can purchase them at additional $100 per design. ",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 31,
+ "metadata": {
+ "requiredWinnersCount": 8
+ },
+ "deletedAt": null,
+ "createdAt": "2019-05-27T13:39:44.000Z",
+ "updatedAt": "2020-01-22T13:22:46.859Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 115,
+ "name": "Delivery",
+ "description": "Development has been completed! This marks the end of the milestone. Below you'll find the source files attached as a .zip archive, as per the phase specifications. They'll also be permanently available for download at your convenience.",
+ "duration": 1,
+ "type": "delivery-dev",
+ "order": 6,
+ "plannedText": "Once you accept the code, your source files will be delivered here.",
+ "activeText": "Once you accept the code, your source files will be delivered here.",
+ "completedText": "Development has been completed! This marks the end of the milestone. Below you'll find the source files attached as a .zip archive, as per the phase specifications. They'll also be permanently available for download at your convenience.",
+ "blockedText": "Once you accept the code, your source files will be delivered here.",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 27,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2019-05-27T13:39:45.000Z",
+ "updatedAt": "2020-01-22T13:22:46.887Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 138,
+ "name": "Final Designs",
+ "description": "Great news! The designs are now completed. Please pick your winners using the interface below. You get the first 3 designs as part of this phase. If you'd like, you can purchase the remaning 2 at an additional $100 per design.",
+ "duration": 5,
+ "type": "final-designs",
+ "order": 4,
+ "plannedText": "We will design the remaining screens with the feedback from the 5 designs you selected. Once the designs are completed, you will see them here. You'll then choose your 3 favorite options.",
+ "activeText": "Our designers are hard at work, incorporating your feedback and designing the remaining screens. We will update this milestone once the progress bar reaches 100%, and you'll see all the links available below.",
+ "completedText": "You've selected the winning designs! This concludes the final design milestone.",
+ "blockedText": "Great news! The designs are now completed. Please pick your winners using the interface below. You get the first 3 designs as part of this phase. If you'd like, you can purchase the remaning 2 at an additional $100 per design.",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 168,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2019-08-28T05:53:47.000Z",
+ "updatedAt": "2020-01-22T13:22:46.916Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 109,
+ "name": "Complete",
+ "description": "Design has been completed! Below you'll find the source files attached as a .zip archive, as per the phase specifications. They'll also be permanently available for download at your convenience.",
+ "duration": 1,
+ "type": "delivery-design",
+ "order": 8,
+ "plannedText": "Design has been completed! Below you'll find the source files attached as a .zip archive, as per the phase specifications. They'll also be permanently available for download at your convenience.",
+ "activeText": "Design has been completed! Below you'll find the source files attached as a .zip archive, as per the phase specifications. They'll also be permanently available for download at your convenience.",
+ "completedText": "Design has been completed! Below you'll find the source files attached as a .zip archive, as per the phase specifications. They'll also be permanently available for download at your convenience.",
+ "blockedText": "Design has been completed! Below you'll find the source files attached as a .zip archive, as per the phase specifications. They'll also be permanently available for download at your convenience.",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 31,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2019-05-27T13:39:41.000Z",
+ "updatedAt": "2020-01-22T13:22:46.944Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 47,
+ "name": "Design Final Selection",
+ "description": "Please select the top 8 designs from the list below. You will own them as per your Topcoder project contract. If you like any of the outstanding designs you can purchase them at additional $100 per design. ",
+ "duration": 1,
+ "type": "final-designs",
+ "order": 12,
+ "plannedText": "Please select the top 8 designs from the list below. You will own them as per your Topcoder project contract. If you like any of the outstanding designs you can purchase them at additional $100 per design. ",
+ "activeText": "Please select the top 8 designs from the list below. You will own them as per your Topcoder project contract. If you like any of the outstanding designs you can purchase them at additional $100 per design. ",
+ "completedText": "You've selected the winning designs! This concludes the final design milestone. If you have any final enhancements to your selected designs, please indicate here. Leave your feedback using the Marvel app interface. The more direction you are able to provide at this point, the better the final designs will be.",
+ "blockedText": "Please select the top 8 designs from the list below. You will own them as per your Topcoder project contract. If you like any of the outstanding designs you can purchase them at additional $100 per design. ",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 31,
+ "metadata": {
+ "requiredWinnersCount": 8
+ },
+ "deletedAt": null,
+ "createdAt": "2018-08-10T12:36:23.000Z",
+ "updatedAt": "2020-01-22T13:22:46.949Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 118,
+ "name": "Design development",
+ "description": "We will be designing several independent proposals in accordance with your specifications for you to choose from.",
+ "duration": 7,
+ "type": "community-work",
+ "order": 2,
+ "plannedText": "We will be designing several independent proposals in accordance with your specifications for you to choose from.",
+ "activeText": "We're currently designing the proposals. We will update this milestone with a list of all these soon.",
+ "completedText": "Great news! Designs are ready for review and selection.",
+ "blockedText": "We're currently designing the proposals. We will update this milestone with a list of all these soon.",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 25,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2019-05-27T13:39:47.000Z",
+ "updatedAt": "2020-01-22T13:22:47.020Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 117,
+ "name": "Design development",
+ "description": "We will be designing several independent proposals in accordance with your specifications for you to choose from.",
+ "duration": 3,
+ "type": "community-work",
+ "order": 3,
+ "plannedText": "We will be designing several independent proposals in accordance with your specifications for you to choose from.",
+ "activeText": "We're currently designing the proposals. We will update this milestone with a list of all these soon.",
+ "completedText": "Great news! Designs are ready for review and selection.",
+ "blockedText": "We're currently designing the proposals. We will update this milestone with a list of all these soon.",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 25,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2019-05-27T13:39:47.000Z",
+ "updatedAt": "2020-01-22T13:22:47.026Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 98,
+ "name": "Design Final Selection",
+ "description": "A design plan has been created using the specifications you have provided us.",
+ "duration": 7,
+ "type": "final-designs",
+ "order": 5,
+ "plannedText": "Please select the top 3 designs from the list below. You will own them as per your Topcoder project contract. If you like any of the outstanding designs you can purchase them at additional $100 per design.",
+ "activeText": "Please select the top 3 designs from the list below. You will own them as per your Topcoder project contract. If you like any of the outstanding designs you can purchase them at additional $100 per design.",
+ "completedText": "You've selected the winning designs! This concludes the final design milestone. If you have any final enhancements to your selected designs, please indicate here. Leave your feedback using the Marvel app interface. The more direction you are able to provide at this point, the better the final designs will be.",
+ "blockedText": "Please select the top 3 designs from the list bellow. You will own them as per your Topcoder project contract. If you like any of the two outstanding designs you can purchase them at additional $100 per design. Once you make your selection we will deliver the final design package in the next milestone as a .zip compressed folder. If you need further assistance please contact your copilot in the phase discussion thread.",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 25,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2019-05-27T13:39:34.000Z",
+ "updatedAt": "2020-01-22T13:22:47.123Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 19,
+ "name": "Design Final Selection",
+ "description": "A design plan has been created using the specifications you have provided us.",
+ "duration": 7,
+ "type": "final-designs",
+ "order": 9,
+ "plannedText": "Please select the top 3 designs from the list below. You will own them as per your Topcoder project contract. If you like any of the outstanding designs you can purchase them at additional $100 per design.",
+ "activeText": "Please select the top 3 designs from the list below. You will own them as per your Topcoder project contract. If you like any of the outstanding designs you can purchase them at additional $100 per design.",
+ "completedText": "You've selected the winning designs! This concludes the final design milestone. If you have any final enhancements to your selected designs, please indicate here. Leave your feedback using the Marvel app interface. The more direction you are able to provide at this point, the better the final designs will be.",
+ "blockedText": "Please select the top 3 designs from the list bellow. You will own them as per your Topcoder project contract. If you like any of the two outstanding designs you can purchase them at additional $100 per design. Once you make your selection we will deliver the final design package in the next milestone as a .zip compressed folder. If you need further assistance please contact your copilot in the phase discussion thread.",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 25,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2018-08-09T12:20:27.000Z",
+ "updatedAt": "2020-01-22T13:22:47.184Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ },
+ {
+ "id": 20,
+ "name": "Complete",
+ "description": "Design has been completed! Below you'll find the source files attached as a .zip archive, as per the phase specifications. It will also be permanently available for download at your convenience.",
+ "duration": 1,
+ "type": "delivery-design",
+ "order": 19,
+ "plannedText": "Design has been completed! Below you'll find the source files attached as a .zip archive, as per the phase specifications. It will also be permanently available for download at your convenience.",
+ "activeText": "Design has been completed! Below you'll find the source files attached as a .zip archive, as per the phase specifications. It will also be permanently available for download at your convenience.",
+ "completedText": "Design has been completed! Below you'll find the source files attached as a .zip archive, as per the phase specifications. It will also be permanently available for download at your convenience.",
+ "blockedText": "Design has been completed! Below you'll find the source files attached as a .zip archive, as per the phase specifications. It will also be permanently available for download at your convenience.",
+ "hidden": false,
+ "reference": "productTemplate",
+ "referenceId": 25,
+ "metadata": {},
+ "deletedAt": null,
+ "createdAt": "2018-08-09T12:22:05.000Z",
+ "updatedAt": "2020-01-22T13:22:47.189Z",
+ "deletedBy": null,
+ "createdBy": 40051333,
+ "updatedBy": 40051333
+ }
+ ],
+ "orgConfigs": [],
+ "forms": [
+ {
+ "id": 1,
+ "key": "app-scope-form",
+ "version": 1,
+ "revision": 1,
+ "config": {
+ "sections": [
+ {
+ "id": "project-basic-details",
+ "title": "Basic Details",
+ "statusText": "Let's go",
+ "subSections": [
+ {
+ "type": "message",
+ "hideTitle": true,
+ "theme": "light",
+ "description": "We will ask you several questions in order to determine your project’s scope. All estimates are based on our 15 years of experience and thousands of projects. Final prices will be determined after our team completes a final scope review."
+ },
+ {
+ "title": "App details",
+ "type": "questions",
+ "questions": [
+ {
+ "fieldName": "name",
+ "type": "textinput",
+ "title": "What is the name of your app?",
+ "theme": "light",
+ "validationError": "Please, provide a name to your project",
+ "validations": "isRequired",
+ "required": true
+ },
+ {
+ "fieldName": "description",
+ "type": "textbox",
+ "title": "Please describe your app using 2-3 sentences",
+ "theme": "light",
+ "validationError": "Please, provide a description",
+ "required": true
+ },
+ {
+ "fieldName": "details.utm.code",
+ "type": "textinput",
+ "title": "Do you have a Reference code? (optional)",
+ "theme": "light"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "appDefinition",
+ "title": "App Definition",
+ "required": true,
+ "description": "",
+ "wizard": {
+ "enabled": true,
+ "previousStepVisibility": "write"
+ },
+ "subSections": [
+ {
+ "id": "deliverables",
+ "type": "questions",
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "questions": [
+ {
+ "type": "static",
+ "hiddenOnEdit": true,
+ "content": "
{{name}}
{{description}}
"
+ },
+ {
+ "icon": "question",
+ "title": "What do you need?",
+ "summaryTitle": "Work needed",
+ "description": "",
+ "fieldName": "details.appDefinition.deliverables",
+ "type": "checkbox-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What work is right for me?",
+ "title": "What work is right for me?",
+ "content": "
Topcoder has design, development, and deployment solutions can be combined in a single project to help you deliver an end-to-end application.
It is important to note that all Topcoder development projects include standard quality assurance testing at no additional cost to help ensure you are getting the highest-quality application possible.
"
+ },
+ "validationError": "Please, choose what do you need.",
+ "validations": "isRequired",
+ "required": true,
+ "options": [
+ {
+ "value": "design",
+ "label": "Design",
+ "summaryLabel": "Design",
+ "description": "We will design your app experience, focusing on the major features and experiences."
+ },
+ {
+ "value": "dev-qa",
+ "label": "Development & QA",
+ "summaryLabel": "Development",
+ "description": "We will develop your app based on existing designs. Building a reliable application for you is our priority. We include standard quality assurance testing at no additional cost when doing any development."
+ },
+ {
+ "value": "deployment",
+ "label": "Deployment",
+ "description": "Our team will ensure that your code is packaged and distributed on all targeted platforms and/or in the Apple/Google app stores."
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "What is the goal of your designs?",
+ "summaryTitle": "Design goal",
+ "description": "",
+ "fieldName": "details.appDefinition.designGoal",
+ "type": "radio-group",
+ "validationError": "Please, choose you design goal.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "HAS_DESIGN_DELIVERABLE",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What should I choose?",
+ "title": "What should I choose?",
+ "content": "
Conceptual exploration
It enables you to explore UI and UX concepts for your application with industry-leading experts. This is the best choice when you are exploring ideas for a new application, but are not ready to begin development immediately. While design concepts empower you to explore different ideas, the design-deliverables are not considered production-ready as they will not contain detailed workflows for your entire application.
Production-ready designs
These are best used when you are ready to begin development on your application immediately after design-completion. These designs will include detailed workflows and options for your application.
"
+ },
+ "options": [
+ {
+ "value": "concept-designs",
+ "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.",
+ "disableCondition": "HAS_DEV_DELIVERABLE"
+ },
+ {
+ "value": "comprehensive-designs",
+ "label": "Production-ready designs",
+ "summaryLabel": "Production-ready designs",
+ "description": "Our designers will create detailed, designed workflows that can be immediately ready for development upon completion.",
+ "autoSelectCondition": "HAS_DEV_DELIVERABLE"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "How quickly do you need your conceptual designs?",
+ "description": "",
+ "summaryTitle": "Quick Turnaround",
+ "fieldName": "details.appDefinition.quickTurnaround",
+ "type": "radio-group",
+ "condition": "CONCEPT_DESIGN",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Topcoder has two backend solutions - RUX (3 Days) and Design Sprint (6 Days) - that provide customers with design concepts. The deliverables that you can expect from these two solutions are consistent, meaning that both will produce high-quality design concepts that will enable you to leverage our expert crowd in generating ideas for your application. The primary difference between these two solutions is the turnaround time. As the RUX solution has an expedited turnaround time of three days, a service charge is included in the price.
"
+ },
+ "validationError": "Please, choose your time expectations.",
+ "validations": "isRequired",
+ "required": true,
+ "options": [
+ {
+ "value": "under-3-days",
+ "label": "I want concept designs in 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."
+ },
+ {
+ "value": "under-6-days",
+ "label": "I want concept designs in 6 days.",
+ "summaryLabel": "6 days",
+ "description": "Topcoder will create agency-quality design variants for your app within 7 days."
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "target-devices-os",
+ "hideTitle": true,
+ "type": "questions",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "Where should your app work?",
+ "summaryTitle": "Devices",
+ "description": "",
+ "fieldName": "details.appDefinition.targetDevices",
+ "type": "checkbox-group",
+ "affectsQuickQuote": true,
+ "theme": "light",
+ "help": {
+ "linkTitle": "What to choose",
+ "title": "What to choose",
+ "content": "
Topcoder has the capability to create applications that are accessible as standalone applications from mobile or tablet devices, as well as applications that are accessible via a web browser from desktops, mobile or tablet devices.
"
+ },
+ "validationError": "Please, select devices",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "( HAS_DESIGN_DELIVERABLE || HAS_DEV_DELIVERABLE )",
+ "options": [
+ {
+ "label": "Mobile",
+ "value": "mobile",
+ "description": "Your app can be installed and launched on mobile devices. This is Topcoder’s most requested option."
+ },
+ {
+ "label": "Tablet",
+ "value": "tablet",
+ "description": "Your app can be used on tablet devices, with an optimized layout for tablets."
+ },
+ {
+ "label": "Web Browser",
+ "value": "web-browser",
+ "description": "Your app would be accessed via web browser on desktop, mobile and tablet devices alike."
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "What type of platform do you need?",
+ "summaryTitle": "Mobile platforms",
+ "description": "",
+ "fieldName": "details.appDefinition.mobilePlatforms",
+ "type": "checkbox-group",
+ "affectsQuickQuote": true,
+ "theme": "light",
+ "help": {
+ "linkTitle": "Which platforms to select?",
+ "title": "Which platforms to select?",
+ "content": "
Topcoder can create mobile applications for iOS, Android, or iOS and Android platforms.
"
+ },
+ "condition": "( details.appDefinition.targetDevices contains 'mobile' ) || ( details.appDefinition.targetDevices contains 'tablet' )",
+ "options": [
+ {
+ "label": "iOS",
+ "value": "ios",
+ "description": "Your app would work on iOS phones. We will develop it using Objective-C and SWIFT"
+ },
+ {
+ "label": "Android",
+ "value": "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": "Does your app need to be Native or Hybrid?",
+ "summaryTitle": "App Type",
+ "description": "",
+ "fieldName": "details.appDefinition.nativeHybrid",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "Which OS to select?",
+ "title": "Which OS to select?",
+ "content": "
Native operating systems are a SDK framework for building iOS and/or Android applications. Native applications typically have better performance if rich features such as video or audio are required.
Hybrid operating systems leverages a hybrid framework, such as Iconic, to build iOS and/or Android applications. Hybrid gives you the benefit of only having to maintain one code base for your application.
"
+ },
+ "validationError": "Please let us know the type of the app?",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "( details.appDefinition.mobilePlatforms contains 'ios' ) || ( details.appDefinition.mobilePlatforms contains 'android' )",
+ "options": [
+ {
+ "label": "Native",
+ "value": "native",
+ "description": ""
+ },
+ {
+ "label": "Hybrid",
+ "value": "hybrid",
+ "description": ""
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "How should your app work when accessed via web browser?",
+ "summaryTitle": "Web App Type",
+ "description": "",
+ "fieldName": "details.appDefinition.progressiveResponsive",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Progressive Web Applications are mobile web apps. They are built using a native framework so that it looks and functions like a native application, with rich features like GPS.
Responsive Web Applications are web apps that can be accessed from mobile, tablet, and/or desktop devices. You can choose custom layouts depending on device type.
Desktop Web Browser Applications come in one layout and are only accessed from desktop devices using common web browsers such as Chrome or Safari.
"
+ },
+ "validationError": "Please let us know the type of web app?",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "( details.appDefinition.targetDevices contains 'web-browser' )",
+ "options": [
+ {
+ "label": "Progressive Web Application for Mobile Web Browsing",
+ "value": "progressive",
+ "description": "Your web application can be accessed from all common mobile web browsers and will be built using a native mobile framework."
+ },
+ {
+ "label": "Responsive Web Application for Desktop, Tablet, and Mobile Web Browsing",
+ "value": "responsive",
+ "description": "Your web application can be accessed from all common desktop, mobile and tablet web browsers and will be optimized for all screen sizes."
+ },
+ {
+ "label": "Desktop Web Application",
+ "value": "desktop",
+ "description": "Your web application can be accessed from desktop devices on all common web browsers."
+ }
+ ]
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ },
+ {
+ "id": "app-size-questions",
+ "hideTitle": true,
+ "type": "questions",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "How many screens do you need?",
+ "summaryTitle": "Screens",
+ "description": "",
+ "fieldName": "details.appDefinition.numberScreens",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What are screens?",
+ "title": "What are screens?",
+ "content": "
Screens represent the number of unique pages within your application, which may include several features on each screen.
If you require more than 15 screens for your application, please indicate this in the Notes section of the form prior to submitting.
"
+ },
+ "validationError": "Please let us know the number of screens required?",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "( HAS_DESIGN_DELIVERABLE || HAS_DEV_DELIVERABLE ) && (!( MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP))",
+ "options": [
+ {
+ "value": "2-4",
+ "label": "2-4 screens",
+ "description": "Suitable for small apps with 2-4 main features",
+ "disabled": false
+ },
+ {
+ "value": "5-8",
+ "label": "5-8 screens",
+ "description": "Suitable for medium apps with 5-8 main features",
+ "disabled": false
+ },
+ {
+ "value": "9-15",
+ "label": "9-15 screens",
+ "description": "Suitable for larger apps with 9-15 main features",
+ "disabled": false,
+ "condition": "!QUICK_DESIGN_3_DAYS"
+ }
+ ]
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ },
+ {
+ "id": "deployment-deliverable-questions",
+ "hideTitle": true,
+ "type": "questions",
+ "condition": "HAS_DEPLOY_DELIVERABLE",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "Where do you need your app deployed?",
+ "summaryTitle": "Deployment Targets",
+ "description": "",
+ "fieldName": "details.appDefinition.deploymentTargets",
+ "type": "checkbox-group",
+ "theme": "light",
+ "validationError": "Please, choose what do you need us to help with.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "HAS_DEPLOY_DELIVERABLE",
+ "options": [
+ {
+ "value": "apple-app-store",
+ "label": "Apple App Store",
+ "condition": "( ONE_DELIVERABLE || (details.appDefinition.mobilePlatforms contains 'ios') )",
+ "description": "Apple App Store Deployment"
+ },
+ {
+ "value": "google-play",
+ "label": "Google Play",
+ "condition": "( ONE_DELIVERABLE || (details.appDefinition.mobilePlatforms contains 'android') )",
+ "description": "Google App Store Deployment"
+ },
+ {
+ "value": "internal-production-environment",
+ "label": "Internal Production Environment",
+ "condition": "( ONE_DELIVERABLE || (details.appDefinition.targetDevices contains 'desktop') || (details.appDefinition.targetDevices contains 'web-browser') )",
+ "description": "Deployment to your internal production environment"
+ }
+ ]
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ },
+ {
+ "id": "tc-services-questions",
+ "hideTitle": true,
+ "type": "questions",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "What kind of support do you want on your project?",
+ "summaryTitle": "Architect",
+ "description": "",
+ "fieldName": "details.appDefinition.caNeeded",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is right for me?",
+ "title": "What is right for me?",
+ "content": "
Topcoder recommends including an Architect on projects where a high degree of technical complexity is anticipated, when multiple deliverables are needed, or when you are a new to Topcoder and need additional help navigating the crowdsourcing process. Architects will provide additional oversight to your project. The inclusion of an Architect on a project will result in a service charge.
"
+ },
+ "validationError": "Please, ley us know if you need a dedicated manager.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "!( MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP)",
+ "options": [
+ {
+ "value": "yes",
+ "label": "Project Manager + Architect",
+ "summaryLabel": "Yes",
+ "description": "Project managers will work with the Community on the execution of your deliverables. An Architect will be assigned to oversee the technical requirements and complexities of your project."
+ },
+ {
+ "value": "no",
+ "label": "Project Manager",
+ "summaryLabel": "No",
+ "description": "You will partner directly with your Project Manager to align on the requirements for your project and they will work with the Community on the execution of your deliverables."
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Notes",
+ "summaryTitle": "Notes",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)",
+ "fieldName": "details.apiDefinition.notes",
+ "type": "textbox"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ },
+ {
+ "id": "customeQuote",
+ "hideTitle": true,
+ "fieldName": "details.appDefinition.message",
+ "title": "Message",
+ "description": "Wow! We love your idea. This is a very complex, technical solution. We will take a look at your project and contact you regarding next steps and a quote.",
+ "type": "message",
+ "condition": "MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP"
+ },
+ {
+ "id": "files",
+ "description": "",
+ "title": "Please upload any document that can help us in moving ahead with the project",
+ "type": "files",
+ "fieldName": "attachments",
+ "hiddenOnCreation": true
+ }
+ ]
+ },
+ {
+ "id": "summary-intermediate",
+ "hiddenOnEdit": true,
+ "hideFormHeader": true,
+ "nextButtonText": "Configure my project",
+ "footer": {
+ "content": ""
+ },
+ "subSections": [
+ {
+ "type": "questions",
+ "hideTitle": true,
+ "condition": "!(MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP)",
+ "questions": [
+ {
+ "type": "static",
+ "content": "
Your Project Estimate
"
+ }
+ ]
+ },
+ {
+ "type": "portal",
+ "hideTitle": true,
+ "condition": "!(MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP)",
+ "content": [
+ {
+ "sectionIndex": 1
+ }
+ ]
+ },
+ {
+ "type": "questions",
+ "hideTitle": true,
+ "condition": "!(MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP)",
+ "questions": [
+ {
+ "type": "estimation",
+ "title": "Your project timeline",
+ "deliverables": [
+ {
+ "id": "design",
+ "title": "Design",
+ "enableCondition": "HAS_DESIGN_DELIVERABLE",
+ "deliverableKey": "design"
+ },
+ {
+ "id": "development",
+ "title": "Development & QA",
+ "enableCondition": "HAS_DEV_DELIVERABLE",
+ "deliverableKey": "dev-qa"
+ },
+ {
+ "id": "deployment",
+ "title": "Deploy",
+ "enableCondition": "HAS_DEPLOY_DELIVERABLE",
+ "deliverableKey": "deployment"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "add-ons",
+ "title": "Configure my app",
+ "subSections": [
+ {
+ "hideTitle": true,
+ "type": "questions",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "Design add-ons",
+ "description": "Select any desired add-ons to your project. Please note that each add-on will incur a cost and has a delivery duration. Your project estimate will be updated to reflect the cost and duration of your base solution and add-ons. Additionally, you will receive a full breakdown on cost in the final project proposal from Topcoder.",
+ "fieldName": "details.appDefinition.addons.design",
+ "type": "add-ons",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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": "HAS_DESIGN_DELIVERABLE && !(MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP)",
+ "category": "visual_design"
+ },
+ {
+ "icon": "question",
+ "title": "Development add-ons",
+ "description": "Select any desired add-ons to your project. Please note that each add-on will incur a cost and has a delivery duration. Your project estimate will be updated to reflect the cost and duration of your base solution and add-ons. Additionally, you will receive a full breakdown on cost in the final project proposal from Topcoder.",
+ "fieldName": "details.appDefinition.addons.development",
+ "type": "add-ons",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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": "HAS_DEV_DELIVERABLE && !(MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP)",
+ "category": "development"
+ },
+ {
+ "icon": "question",
+ "title": "Delivery add-ons",
+ "description": "Select any desired add-ons to your project. Please note that each add-on will incur a cost and has a delivery duration. Your project estimate will be updated to reflect the cost and duration of your base solution and add-ons. Additionally, you will receive a full breakdown on cost in the final project proposal from Topcoder.",
+ "fieldName": "details.appDefinition.addons.delivery",
+ "type": "add-ons",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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.
"
+ },
+ {
+ "icon": "question",
+ "title": "What do you need?",
+ "summaryTitle": "Work needed",
+ "description": "",
+ "fieldName": "details.appDefinition.deliverables",
+ "type": "checkbox-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What work is right for me?",
+ "title": "What work is right for me?",
+ "content": "
Topcoder has design, development, and deployment solutions can be combined in a single project to help you deliver an end-to-end application.
It is important to note that all Topcoder development projects include standard quality assurance testing at no additional cost to help ensure you are getting the highest-quality application possible.
"
+ },
+ "validationError": "Please, choose what do you need.",
+ "validations": "isRequired",
+ "required": true,
+ "options": [
+ {
+ "value": "design",
+ "label": "Design",
+ "summaryLabel": "Design",
+ "description": "We will design your app experience, focusing on the major features and experiences."
+ },
+ {
+ "value": "dev-qa",
+ "label": "Development & QA",
+ "summaryLabel": "Development",
+ "description": "We will develop your app based on existing designs. Building a reliable application for you is our priority. We include standard quality assurance testing at no additional cost when doing any development."
+ },
+ {
+ "value": "deployment",
+ "label": "Deployment",
+ "description": "Our team will ensure that your code is packaged and distributed on all targeted platforms and/or in the Apple/Google app stores."
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "What is the goal of your designs?",
+ "summaryTitle": "Design goal",
+ "description": "",
+ "fieldName": "details.appDefinition.designGoal",
+ "type": "radio-group",
+ "validationError": "Please, choose you design goal.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "HAS_DESIGN_DELIVERABLE",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What should I choose?",
+ "title": "What should I choose?",
+ "content": "
Conceptual exploration
It enables you to explore UI and UX concepts for your application with industry-leading experts. This is the best choice when you are exploring ideas for a new application, but are not ready to begin development immediately. While design concepts empower you to explore different ideas, the design-deliverables are not considered production-ready as they will not contain detailed workflows for your entire application.
Production-ready designs
These are best used when you are ready to begin development on your application immediately after design-completion. These designs will include detailed workflows and options for your application.
"
+ },
+ "options": [
+ {
+ "value": "concept-designs",
+ "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.",
+ "disableCondition": "HAS_DEV_DELIVERABLE"
+ },
+ {
+ "value": "comprehensive-designs",
+ "label": "Production-ready designs",
+ "summaryLabel": "Production-ready designs",
+ "description": "Our designers will create detailed, designed workflows that can be immediately ready for development upon completion.",
+ "autoSelectCondition": "HAS_DEV_DELIVERABLE"
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "How quickly do you need your conceptual designs?",
+ "description": "",
+ "summaryTitle": "Quick Turnaround",
+ "fieldName": "details.appDefinition.quickTurnaround",
+ "type": "radio-group",
+ "condition": "CONCEPT_DESIGN",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Topcoder has two backend solutions - RUX (3 Days) and Design Sprint (6 Days) - that provide customers with design concepts. The deliverables that you can expect from these two solutions are consistent, meaning that both will produce high-quality design concepts that will enable you to leverage our expert crowd in generating ideas for your application. The primary difference between these two solutions is the turnaround time. As the RUX solution has an expedited turnaround time of three days, a service charge is included in the price.
"
+ },
+ "validationError": "Please, choose your time expectations.",
+ "validations": "isRequired",
+ "required": true,
+ "options": [
+ {
+ "value": "under-3-days",
+ "label": "I want concept designs in 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."
+ },
+ {
+ "value": "under-6-days",
+ "label": "I want concept designs in 6 days.",
+ "summaryLabel": "6 days",
+ "description": "Topcoder will create agency-quality design variants for your app within 7 days."
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "target-devices-os",
+ "hideTitle": true,
+ "type": "questions",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "Where should your app work?",
+ "summaryTitle": "Devices",
+ "description": "",
+ "fieldName": "details.appDefinition.targetDevices",
+ "type": "checkbox-group",
+ "affectsQuickQuote": true,
+ "theme": "light",
+ "help": {
+ "linkTitle": "What to choose",
+ "title": "What to choose",
+ "content": "
Topcoder has the capability to create applications that are accessible as standalone applications from mobile or tablet devices, as well as applications that are accessible via a web browser from desktops, mobile or tablet devices.
"
+ },
+ "validationError": "Please, select devices",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "( HAS_DESIGN_DELIVERABLE || HAS_DEV_DELIVERABLE )",
+ "options": [
+ {
+ "label": "Mobile",
+ "value": "mobile",
+ "description": "Your app can be installed and launched on mobile devices. This is Topcoder’s most requested option."
+ },
+ {
+ "label": "Tablet",
+ "value": "tablet",
+ "description": "Your app can be used on tablet devices, with an optimized layout for tablets."
+ },
+ {
+ "label": "Web Browser",
+ "value": "web-browser",
+ "description": "Your app would be accessed via web browser on desktop, mobile and tablet devices alike."
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "What type of platform do you need?",
+ "summaryTitle": "Mobile platforms",
+ "description": "",
+ "fieldName": "details.appDefinition.mobilePlatforms",
+ "type": "checkbox-group",
+ "affectsQuickQuote": true,
+ "theme": "light",
+ "help": {
+ "linkTitle": "Which platforms to select?",
+ "title": "Which platforms to select?",
+ "content": "
Topcoder can create mobile applications for iOS, Android, or iOS and Android platforms.
"
+ },
+ "condition": "( details.appDefinition.targetDevices contains 'mobile' ) || ( details.appDefinition.targetDevices contains 'tablet' )",
+ "options": [
+ {
+ "label": "iOS",
+ "value": "ios",
+ "description": "Your app would work on iOS phones. We will develop it using Objective-C and SWIFT"
+ },
+ {
+ "label": "Android",
+ "value": "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": "Does your app need to be Native or Hybrid?",
+ "summaryTitle": "App Type",
+ "description": "",
+ "fieldName": "details.appDefinition.nativeHybrid",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "Which OS to select?",
+ "title": "Which OS to select?",
+ "content": "
Native operating systems are a SDK framework for building iOS and/or Android applications. Native applications typically have better performance if rich features such as video or audio are required.
Hybrid operating systems leverages a hybrid framework, such as Iconic, to build iOS and/or Android applications. Hybrid gives you the benefit of only having to maintain one code base for your application.
"
+ },
+ "validationError": "Please let us know the type of the app?",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "( details.appDefinition.mobilePlatforms contains 'ios' ) || ( details.appDefinition.mobilePlatforms contains 'android' )",
+ "options": [
+ {
+ "label": "Native",
+ "value": "native",
+ "description": ""
+ },
+ {
+ "label": "Hybrid",
+ "value": "hybrid",
+ "description": ""
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "How should your app work when accessed via web browser?",
+ "summaryTitle": "Web App Type",
+ "description": "",
+ "fieldName": "details.appDefinition.progressiveResponsive",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Progressive Web Applications are mobile web apps. They are built using a native framework so that it looks and functions like a native application, with rich features like GPS.
Responsive Web Applications are web apps that can be accessed from mobile, tablet, and/or desktop devices. You can choose custom layouts depending on device type.
Desktop Web Browser Applications come in one layout and are only accessed from desktop devices using common web browsers such as Chrome or Safari.
"
+ },
+ "validationError": "Please let us know the type of web app?",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "( details.appDefinition.targetDevices contains 'web-browser' )",
+ "options": [
+ {
+ "label": "Progressive Web Application for Mobile Web Browsing",
+ "value": "progressive",
+ "description": "Your web application can be accessed from all common mobile web browsers and will be built using a native mobile framework."
+ },
+ {
+ "label": "Responsive Web Application for Desktop, Tablet, and Mobile Web Browsing",
+ "value": "responsive",
+ "description": "Your web application can be accessed from all common desktop, mobile and tablet web browsers and will be optimized for all screen sizes."
+ },
+ {
+ "label": "Desktop Web Application",
+ "value": "desktop",
+ "description": "Your web application can be accessed from desktop devices on all common web browsers."
+ }
+ ]
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ },
+ {
+ "id": "app-size-questions",
+ "hideTitle": true,
+ "type": "questions",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "How many screens do you need?",
+ "summaryTitle": "Screens",
+ "description": "",
+ "fieldName": "details.appDefinition.numberScreens",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What are screens?",
+ "title": "What are screens?",
+ "content": "
Screens represent the number of unique pages within your application, which may include several features on each screen.
If you require more than 15 screens for your application, please indicate this in the Notes section of the form prior to submitting.
"
+ },
+ "validationError": "Please let us know the number of screens required?",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "( HAS_DESIGN_DELIVERABLE || HAS_DEV_DELIVERABLE ) && (!( MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP))",
+ "options": [
+ {
+ "value": "2-4",
+ "label": "2-4 screens",
+ "description": "Suitable for small apps with 2-4 main features",
+ "disabled": false
+ },
+ {
+ "value": "5-8",
+ "label": "5-8 screens",
+ "description": "Suitable for medium apps with 5-8 main features",
+ "disabled": false
+ },
+ {
+ "value": "9-15",
+ "label": "9-15 screens",
+ "description": "Suitable for larger apps with 9-15 main features",
+ "disabled": false,
+ "condition": "!QUICK_DESIGN_3_DAYS"
+ }
+ ]
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ },
+ {
+ "id": "deployment-deliverable-questions",
+ "hideTitle": true,
+ "type": "questions",
+ "condition": "HAS_DEPLOY_DELIVERABLE",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "Where do you need your app deployed?",
+ "summaryTitle": "Deployment Targets",
+ "description": "",
+ "fieldName": "details.appDefinition.deploymentTargets",
+ "type": "checkbox-group",
+ "theme": "light",
+ "validationError": "Please, choose what do you need us to help with.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "HAS_DEPLOY_DELIVERABLE",
+ "options": [
+ {
+ "value": "apple-app-store",
+ "label": "Apple App Store",
+ "condition": "( ONE_DELIVERABLE || (details.appDefinition.mobilePlatforms contains 'ios') )",
+ "description": "Apple App Store Deployment"
+ },
+ {
+ "value": "google-play",
+ "label": "Google Play",
+ "condition": "( ONE_DELIVERABLE || (details.appDefinition.mobilePlatforms contains 'android') )",
+ "description": "Google App Store Deployment"
+ },
+ {
+ "value": "internal-production-environment",
+ "label": "Internal Production Environment",
+ "condition": "( ONE_DELIVERABLE || (details.appDefinition.targetDevices contains 'desktop') || (details.appDefinition.targetDevices contains 'web-browser') )",
+ "description": "Deployment to your internal production environment"
+ }
+ ]
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ },
+ {
+ "id": "tc-services-questions",
+ "hideTitle": true,
+ "type": "questions",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "What kind of support do you want on your project?",
+ "summaryTitle": "Architect",
+ "description": "",
+ "fieldName": "details.appDefinition.caNeeded",
+ "type": "radio-group",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What is right for me?",
+ "title": "What is right for me?",
+ "content": "
Topcoder recommends including an Architect on projects where a high degree of technical complexity is anticipated, when multiple deliverables are needed, or when you are a new to Topcoder and need additional help navigating the crowdsourcing process. Architects will provide additional oversight to your project. The inclusion of an Architect on a project will result in a service charge.
"
+ },
+ "validationError": "Please, ley us know if you need a dedicated manager.",
+ "validations": "isRequired",
+ "required": true,
+ "condition": "!( MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP)",
+ "options": [
+ {
+ "value": "yes",
+ "label": "Project Manager + Architect",
+ "summaryLabel": "Yes",
+ "description": "Project managers will work with the Community on the execution of your deliverables. An Architect will be assigned to oversee the technical requirements and complexities of your project."
+ },
+ {
+ "value": "no",
+ "label": "Project Manager",
+ "summaryLabel": "No",
+ "description": "You will partner directly with your Project Manager to align on the requirements for your project and they will work with the Community on the execution of your deliverables."
+ }
+ ]
+ },
+ {
+ "icon": "question",
+ "title": "Notes",
+ "summaryTitle": "Notes",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)",
+ "fieldName": "details.apiDefinition.notes",
+ "type": "textbox"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ }
+ },
+ {
+ "id": "customeQuote",
+ "hideTitle": true,
+ "fieldName": "details.appDefinition.message",
+ "title": "Message",
+ "description": "Wow! We love your idea. This is a very complex, technical solution. We will take a look at your project and contact you regarding next steps and a quote.",
+ "type": "message",
+ "condition": "MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP"
+ },
+ {
+ "id": "files",
+ "description": "",
+ "title": "Please upload any document that can help us in moving ahead with the project",
+ "type": "files",
+ "fieldName": "attachments",
+ "hiddenOnCreation": true
+ }
+ ]
+ },
+ {
+ "id": "summary-intermediate",
+ "hiddenOnEdit": true,
+ "hideFormHeader": true,
+ "nextButtonText": "Configure my project",
+ "footer": {
+ "content": ""
+ },
+ "subSections": [
+ {
+ "type": "questions",
+ "hideTitle": true,
+ "condition": "!(MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP)",
+ "questions": [
+ {
+ "type": "static",
+ "content": "
Your Project Estimate
"
+ }
+ ]
+ },
+ {
+ "type": "portal",
+ "hideTitle": true,
+ "condition": "!(MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP)",
+ "content": [
+ {
+ "sectionIndex": 1
+ }
+ ]
+ },
+ {
+ "type": "questions",
+ "hideTitle": true,
+ "condition": "!(MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP)",
+ "questions": [
+ {
+ "type": "estimation",
+ "title": "Your project timeline",
+ "deliverables": [
+ {
+ "id": "design",
+ "title": "Design",
+ "enableCondition": "HAS_DESIGN_DELIVERABLE",
+ "deliverableKey": "design"
+ },
+ {
+ "id": "development",
+ "title": "Development & QA",
+ "enableCondition": "HAS_DEV_DELIVERABLE",
+ "deliverableKey": "dev-qa"
+ },
+ {
+ "id": "deployment",
+ "title": "Deploy",
+ "enableCondition": "HAS_DEPLOY_DELIVERABLE",
+ "deliverableKey": "deployment"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "add-ons",
+ "title": "Configure my app",
+ "subSections": [
+ {
+ "hideTitle": true,
+ "type": "questions",
+ "questions": [
+ {
+ "icon": "question",
+ "title": "Design add-ons",
+ "description": "Select any desired add-ons to your project. Please note that each add-on will incur a cost and has a delivery duration. Your project estimate will be updated to reflect the cost and duration of your base solution and add-ons. Additionally, you will receive a full breakdown on cost in the final project proposal from Topcoder.",
+ "fieldName": "details.appDefinition.addons.design",
+ "type": "add-ons",
+ "theme": "light",
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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": "HAS_DESIGN_DELIVERABLE && !(MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP)",
+ "category": "visual_design"
+ },
+ {
+ "icon": "question",
+ "title": "Development add-ons",
+ "description": "Select any desired add-ons to your project. Please note that each add-on will incur a cost and has a delivery duration. Your project estimate will be updated to reflect the cost and duration of your base solution and add-ons. Additionally, you will receive a full breakdown on cost in the final project proposal from Topcoder.",
+ "fieldName": "details.appDefinition.addons.development",
+ "type": "add-ons",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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": "HAS_DEV_DELIVERABLE && !(MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP)",
+ "category": "development"
+ },
+ {
+ "icon": "question",
+ "title": "Delivery add-ons",
+ "description": "Select any desired add-ons to your project. Please note that each add-on will incur a cost and has a delivery duration. Your project estimate will be updated to reflect the cost and duration of your base solution and add-ons. Additionally, you will receive a full breakdown on cost in the final project proposal from Topcoder.",
+ "fieldName": "details.appDefinition.addons.delivery",
+ "type": "add-ons",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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.
"
+ },
+ {
+ "help": {
+ "linkTitle": "What work is right for me?",
+ "title": "What work is right for me?",
+ "content": "
Topcoder has design, development, and deployment solutions can be combined in a single project to help you deliver an end-to-end application.
It is important to note that all Topcoder development projects include standard quality assurance testing at no additional cost to help ensure you are getting the highest-quality application possible.
"
+ },
+ "fieldName": "details.appDefinition.deliverables",
+ "icon": "question",
+ "options": [
+ {
+ "summaryLabel": "Design",
+ "description": "We will design your app experience, focusing on the major features and experiences.",
+ "label": "Design",
+ "value": "design"
+ },
+ {
+ "summaryLabel": "Development",
+ "description": "We will develop your app based on existing designs. Building a reliable application for you is our priority. We include standard quality assurance testing at no additional cost when doing any development.",
+ "label": "Development & QA",
+ "value": "dev-qa"
+ },
+ {
+ "description": "Our team will ensure that your code is packaged and distributed on all targeted platforms and/or in the Apple/Google app stores.",
+ "label": "Deployment",
+ "value": "deployment"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "What do you need?",
+ "type": "checkbox-group",
+ "summaryTitle": "Work needed",
+ "validationError": "Please, choose what do you need.",
+ "required": true
+ },
+ {
+ "fieldName": "details.appDefinition.designGoal",
+ "icon": "question",
+ "description": "",
+ "title": "What is the goal of your designs?",
+ "type": "radio-group",
+ "summaryTitle": "Design goal",
+ "validationError": "Please, choose you design goal.",
+ "required": true,
+ "help": {
+ "linkTitle": "What should I choose?",
+ "title": "What should I choose?",
+ "content": "
Conceptual exploration
It enables you to explore UI and UX concepts for your application with industry-leading experts. This is the best choice when you are exploring ideas for a new application, but are not ready to begin development immediately. While design concepts empower you to explore different ideas, the design-deliverables are not considered production-ready as they will not contain detailed workflows for your entire application.
Production-ready designs
These are best used when you are ready to begin development on your application immediately after design-completion. These designs will include detailed workflows and options for your application.
"
+ },
+ "condition": "HAS_DESIGN_DELIVERABLE",
+ "options": [
+ {
+ "disableCondition": "HAS_DEV_DELIVERABLE",
+ "summaryLabel": "Concept",
+ "description": "We will produce high-quality screens with different directions that would help you define your product direction, and present to stakeholders.",
+ "label": "Concept exploration",
+ "value": "concept-designs"
+ },
+ {
+ "summaryLabel": "Production-ready designs",
+ "autoSelectCondition": "HAS_DEV_DELIVERABLE",
+ "description": "Our designers will create detailed, designed workflows that can be immediately ready for development upon completion.",
+ "label": "Production-ready designs",
+ "value": "comprehensive-designs"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ },
+ {
+ "fieldName": "details.appDefinition.quickTurnaround",
+ "icon": "question",
+ "description": "",
+ "title": "How quickly do you need your conceptual designs?",
+ "type": "radio-group",
+ "summaryTitle": "Quick Turnaround",
+ "validationError": "Please, choose your time expectations.",
+ "required": true,
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Topcoder has two backend solutions - RUX (3 Days) and Design Sprint (6 Days) - that provide customers with design concepts. The deliverables that you can expect from these two solutions are consistent, meaning that both will produce high-quality design concepts that will enable you to leverage our expert crowd in generating ideas for your application. The primary difference between these two solutions is the turnaround time. As the RUX solution has an expedited turnaround time of three days, a service charge is included in the price.
"
+ },
+ "condition": "CONCEPT_DESIGN",
+ "options": [
+ {
+ "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.",
+ "label": "I want concept designs in 3 days.",
+ "value": "under-3-days"
+ },
+ {
+ "summaryLabel": "6 days",
+ "description": "Topcoder will create agency-quality design variants for your app within 7 days.",
+ "label": "I want concept designs in 6 days.",
+ "value": "under-6-days"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "deliverables",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.targetDevices",
+ "icon": "question",
+ "description": "",
+ "title": "Where should your app work?",
+ "type": "checkbox-group",
+ "summaryTitle": "Devices",
+ "validationError": "Please, select devices",
+ "required": true,
+ "help": {
+ "linkTitle": "What to choose",
+ "title": "What to choose",
+ "content": "
Topcoder has the capability to create applications that are accessible as standalone applications from mobile or tablet devices, as well as applications that are accessible via a web browser from desktops, mobile or tablet devices.
"
+ },
+ "condition": "( HAS_DESIGN_DELIVERABLE || HAS_DEV_DELIVERABLE )",
+ "affectsQuickQuote": true,
+ "options": [
+ {
+ "description": "Your app can be installed and launched on mobile devices. This is Topcoder’s most requested option.",
+ "label": "Mobile",
+ "value": "mobile"
+ },
+ {
+ "description": "Your app can be used on tablet devices, with an optimized layout for tablets.",
+ "label": "Tablet",
+ "value": "tablet"
+ },
+ {
+ "description": "Your app would be accessed via web browser on desktop, mobile and tablet devices alike.",
+ "label": "Web Browser",
+ "value": "web-browser"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ },
+ {
+ "help": {
+ "linkTitle": "Which platforms to select?",
+ "title": "Which platforms to select?",
+ "content": "
Topcoder can create mobile applications for iOS, Android, or iOS and Android platforms.
"
+ },
+ "condition": "( details.appDefinition.targetDevices contains 'mobile' ) || ( details.appDefinition.targetDevices contains 'tablet' )",
+ "fieldName": "details.appDefinition.mobilePlatforms",
+ "affectsQuickQuote": true,
+ "icon": "question",
+ "options": [
+ {
+ "description": "Your app would work on iOS phones. We will develop it using Objective-C and SWIFT",
+ "label": "iOS",
+ "value": "ios"
+ },
+ {
+ "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.",
+ "label": "Android",
+ "value": "android"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "title": "What type of platform do you need?",
+ "type": "checkbox-group",
+ "summaryTitle": "Mobile platforms"
+ },
+ {
+ "fieldName": "details.appDefinition.nativeHybrid",
+ "icon": "question",
+ "description": "",
+ "title": "Does your app need to be Native or Hybrid?",
+ "type": "radio-group",
+ "summaryTitle": "App Type",
+ "validationError": "Please let us know the type of the app?",
+ "required": true,
+ "help": {
+ "linkTitle": "Which OS to select?",
+ "title": "Which OS to select?",
+ "content": "
Native operating systems are a SDK framework for building iOS and/or Android applications. Native applications typically have better performance if rich features such as video or audio are required.
Hybrid operating systems leverages a hybrid framework, such as Iconic, to build iOS and/or Android applications. Hybrid gives you the benefit of only having to maintain one code base for your application.
"
+ },
+ "condition": "( details.appDefinition.mobilePlatforms contains 'ios' ) || ( details.appDefinition.mobilePlatforms contains 'android' )",
+ "options": [
+ {
+ "description": "",
+ "label": "Native",
+ "value": "native"
+ },
+ {
+ "description": "",
+ "label": "Hybrid",
+ "value": "hybrid"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ },
+ {
+ "fieldName": "details.appDefinition.progressiveResponsive",
+ "icon": "question",
+ "description": "",
+ "title": "How should your app work when accessed via web browser?",
+ "type": "radio-group",
+ "summaryTitle": "Web App Type",
+ "validationError": "Please let us know the type of web app?",
+ "required": true,
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Progressive Web Applications are mobile web apps. They are built using a native framework so that it looks and functions like a native application, with rich features like GPS.
Responsive Web Applications are web apps that can be accessed from mobile, tablet, and/or desktop devices. You can choose custom layouts depending on device type.
Desktop Web Browser Applications come in one layout and are only accessed from desktop devices using common web browsers such as Chrome or Safari.
"
+ },
+ "condition": "( details.appDefinition.targetDevices contains 'web-browser' )",
+ "options": [
+ {
+ "description": "Your web application can be accessed from all common mobile web browsers and will be built using a native mobile framework.",
+ "label": "Progressive Web Application for Mobile Web Browsing",
+ "value": "progressive"
+ },
+ {
+ "description": "Your web application can be accessed from all common desktop, mobile and tablet web browsers and will be optimized for all screen sizes.",
+ "label": "Responsive Web Application for Desktop, Tablet, and Mobile Web Browsing",
+ "value": "responsive"
+ },
+ {
+ "description": "Your web application can be accessed from desktop devices on all common web browsers.",
+ "label": "Desktop Web Application",
+ "value": "desktop"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "target-devices-os",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.numberScreens",
+ "icon": "question",
+ "description": "",
+ "title": "How many screens do you need?",
+ "type": "radio-group",
+ "summaryTitle": "Screens",
+ "validationError": "Please let us know the number of screens required?",
+ "required": true,
+ "help": {
+ "linkTitle": "What are screens?",
+ "title": "What are screens?",
+ "content": "
Screens represent the number of unique pages within your application, which may include several features on each screen.
If you require more than 15 screens for your application, please indicate this in the Notes section of the form prior to submitting.
"
+ },
+ "condition": "( HAS_DESIGN_DELIVERABLE || HAS_DEV_DELIVERABLE ) && (!( MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP))",
+ "options": [
+ {
+ "description": "Suitable for small apps with 2-4 main features",
+ "disabled": false,
+ "label": "2-4 screens",
+ "value": "2-4"
+ },
+ {
+ "description": "Suitable for medium apps with 5-8 main features",
+ "disabled": false,
+ "label": "5-8 screens",
+ "value": "5-8"
+ },
+ {
+ "condition": "!QUICK_DESIGN_3_DAYS",
+ "description": "Suitable for larger apps with 9-15 main features",
+ "disabled": false,
+ "label": "9-15 screens",
+ "value": "9-15"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "app-size-questions",
+ "type": "questions"
+ },
+ {
+ "condition": "HAS_DEPLOY_DELIVERABLE",
+ "hideTitle": true,
+ "questions": [
+ {
+ "condition": "HAS_DEPLOY_DELIVERABLE",
+ "fieldName": "details.appDefinition.deploymentTargets",
+ "icon": "question",
+ "options": [
+ {
+ "condition": "( ONE_DELIVERABLE || (details.appDefinition.mobilePlatforms contains 'ios') )",
+ "description": "Apple App Store Deployment",
+ "label": "Apple App Store",
+ "value": "apple-app-store"
+ },
+ {
+ "condition": "( ONE_DELIVERABLE || (details.appDefinition.mobilePlatforms contains 'android') )",
+ "description": "Google App Store Deployment",
+ "label": "Google Play",
+ "value": "google-play"
+ },
+ {
+ "condition": "( ONE_DELIVERABLE || (details.appDefinition.targetDevices contains 'desktop') || (details.appDefinition.targetDevices contains 'web-browser') )",
+ "description": "Deployment to your internal production environment",
+ "label": "Internal Production Environment",
+ "value": "internal-production-environment"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "Where do you need your app deployed?",
+ "type": "checkbox-group",
+ "summaryTitle": "Deployment Targets",
+ "validationError": "Please, choose what do you need us to help with.",
+ "required": true
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "deployment-deliverable-questions",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.caNeeded",
+ "icon": "question",
+ "description": "",
+ "title": "What kind of support do you want on your project?",
+ "type": "radio-group",
+ "summaryTitle": "Architect",
+ "validationError": "Please, ley us know if you need a dedicated manager.",
+ "required": true,
+ "help": {
+ "linkTitle": "What is right for me?",
+ "title": "What is right for me?",
+ "content": "
Topcoder recommends including an Architect on projects where a high degree of technical complexity is anticipated, when multiple deliverables are needed, or when you are a new to Topcoder and need additional help navigating the crowdsourcing process. Architects will provide additional oversight to your project. The inclusion of an Architect on a project will result in a service charge.
"
+ },
+ "condition": "!( MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP)",
+ "options": [
+ {
+ "summaryLabel": "Yes",
+ "description": "Project managers will work with the Community on the execution of your deliverables. An Architect will be assigned to oversee the technical requirements and complexities of your project.",
+ "label": "Project Manager + Architect",
+ "value": "yes"
+ },
+ {
+ "summaryLabel": "No",
+ "description": "You will partner directly with your Project Manager to align on the requirements for your project and they will work with the Community on the execution of your deliverables.",
+ "label": "Project Manager",
+ "value": "no"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ },
+ {
+ "fieldName": "details.apiDefinition.notes",
+ "icon": "question",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)",
+ "title": "Notes",
+ "type": "textbox",
+ "summaryTitle": "Notes"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "tc-services-questions",
+ "type": "questions"
+ },
+ {
+ "condition": "MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP",
+ "fieldName": "details.appDefinition.message",
+ "hideTitle": true,
+ "description": "Wow! We love your idea. This is a very complex, technical solution. We will take a look at your project and contact you regarding next steps and a quote.",
+ "id": "customeQuote",
+ "title": "Message",
+ "type": "message"
+ },
+ {
+ "hiddenOnCreation": true,
+ "fieldName": "attachments",
+ "description": "",
+ "id": "files",
+ "title": "Please upload any document that can help us in moving ahead with the project",
+ "type": "files"
+ }
+ ],
+ "description": "",
+ "wizard": {
+ "previousStepVisibility": "write",
+ "enabled": true
+ },
+ "id": "appDefinition",
+ "title": "App Definition",
+ "required": true
+ },
+ {
+ "subSections": [
+ {
+ "condition": "!(MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP)",
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "static",
+ "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": "HAS_DESIGN_DELIVERABLE && !(MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP)",
+ "fieldName": "details.appDefinition.addons.design",
+ "icon": "question",
+ "description": "Select any desired add-ons to your project. Please note that each add-on will incur a cost and has a delivery duration. Your project estimate will be updated to reflect the cost and duration of your base solution and add-ons. Additionally, you will receive a full breakdown on cost in the final project proposal from Topcoder.",
+ "theme": "light",
+ "title": "Design add-ons",
+ "type": "add-ons",
+ "category": "visual_design"
+ },
+ {
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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": "HAS_DEV_DELIVERABLE && !(MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP)",
+ "fieldName": "details.appDefinition.addons.development",
+ "icon": "question",
+ "description": "Select any desired add-ons to your project. Please note that each add-on will incur a cost and has a delivery duration. Your project estimate will be updated to reflect the cost and duration of your base solution and add-ons. Additionally, you will receive a full breakdown on cost in the final project proposal from Topcoder.",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "title": "Development add-ons",
+ "type": "add-ons",
+ "category": "development"
+ },
+ {
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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": "HAS_DEPLOY_DELIVERABLE && !(MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP)",
+ "fieldName": "details.appDefinition.addons.delivery",
+ "icon": "question",
+ "description": "Select any desired add-ons to your project. Please note that each add-on will incur a cost and has a delivery duration. Your project estimate will be updated to reflect the cost and duration of your base solution and add-ons. Additionally, you will receive a full breakdown on cost in the final project proposal from Topcoder.",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "title": "Delivery add-ons",
+ "type": "add-ons",
+ "category": "deployment"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized",
+ "enabled": true
+ },
+ "type": "questions"
+ }
+ ],
+ "wizard": {
+ "enabled": true
+ },
+ "id": "add-ons",
+ "title": "Configure my app"
+ },
+ {
+ "subSections": [
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "static",
+ "content": "
"
+ },
+ {
+ "help": {
+ "linkTitle": "What work is right for me?",
+ "title": "What work is right for me?",
+ "content": "
Topcoder has design, development, and deployment solutions can be combined in a single project to help you deliver an end-to-end application.
It is important to note that all Topcoder development projects include standard quality assurance testing at no additional cost to help ensure you are getting the highest-quality application possible.
"
+ },
+ "fieldName": "details.appDefinition.deliverables",
+ "icon": "question",
+ "options": [
+ {
+ "summaryLabel": "Design",
+ "description": "We will design your app experience, focusing on the major features and experiences.",
+ "label": "Design",
+ "value": "design"
+ },
+ {
+ "summaryLabel": "Development",
+ "description": "We will develop your app based on existing designs. Building a reliable application for you is our priority. We include standard quality assurance testing at no additional cost when doing any development.",
+ "label": "Development & QA",
+ "value": "dev-qa"
+ },
+ {
+ "description": "Our team will ensure that your code is packaged and distributed on all targeted platforms and/or in the Apple/Google app stores.",
+ "label": "Deployment",
+ "value": "deployment"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "What do you need?",
+ "type": "checkbox-group",
+ "summaryTitle": "Work needed",
+ "validationError": "Please, choose what do you need.",
+ "required": true
+ },
+ {
+ "fieldName": "details.appDefinition.designGoal",
+ "icon": "question",
+ "description": "",
+ "title": "What is the goal of your designs?",
+ "type": "radio-group",
+ "summaryTitle": "Design goal",
+ "validationError": "Please, choose you design goal.",
+ "required": true,
+ "help": {
+ "linkTitle": "What should I choose?",
+ "title": "What should I choose?",
+ "content": "
Conceptual exploration
It enables you to explore UI and UX concepts for your application with industry-leading experts. This is the best choice when you are exploring ideas for a new application, but are not ready to begin development immediately. While design concepts empower you to explore different ideas, the design-deliverables are not considered production-ready as they will not contain detailed workflows for your entire application.
Production-ready designs
These are best used when you are ready to begin development on your application immediately after design-completion. These designs will include detailed workflows and options for your application.
"
+ },
+ "condition": "HAS_DESIGN_DELIVERABLE",
+ "options": [
+ {
+ "disableCondition": "HAS_DEV_DELIVERABLE",
+ "summaryLabel": "Concept",
+ "description": "We will produce high-quality screens with different directions that would help you define your product direction, and present to stakeholders.",
+ "label": "Concept exploration",
+ "value": "concept-designs"
+ },
+ {
+ "summaryLabel": "Production-ready designs",
+ "autoSelectCondition": "HAS_DEV_DELIVERABLE",
+ "description": "Our designers will create detailed, designed workflows that can be immediately ready for development upon completion.",
+ "label": "Production-ready designs",
+ "value": "comprehensive-designs"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ },
+ {
+ "fieldName": "details.appDefinition.quickTurnaround",
+ "icon": "question",
+ "description": "",
+ "title": "How quickly do you need your conceptual designs?",
+ "type": "radio-group",
+ "summaryTitle": "Quick Turnaround",
+ "validationError": "Please, choose your time expectations.",
+ "required": true,
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Topcoder has two backend solutions - RUX (3 Days) and Design Sprint (6 Days) - that provide customers with design concepts. The deliverables that you can expect from these two solutions are consistent, meaning that both will produce high-quality design concepts that will enable you to leverage our expert crowd in generating ideas for your application. The primary difference between these two solutions is the turnaround time. As the RUX solution has an expedited turnaround time of three days, a service charge is included in the price.
"
+ },
+ "condition": "CONCEPT_DESIGN",
+ "options": [
+ {
+ "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.",
+ "label": "I want concept designs in 3 days.",
+ "value": "under-3-days"
+ },
+ {
+ "summaryLabel": "6 days",
+ "description": "Topcoder will create agency-quality design variants for your app within 7 days.",
+ "label": "I want concept designs in 6 days.",
+ "value": "under-6-days"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "deliverables",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.targetDevices",
+ "icon": "question",
+ "description": "",
+ "title": "Where should your app work?",
+ "type": "checkbox-group",
+ "summaryTitle": "Devices",
+ "validationError": "Please, select devices",
+ "required": true,
+ "help": {
+ "linkTitle": "What to choose",
+ "title": "What to choose",
+ "content": "
Topcoder has the capability to create applications that are accessible as standalone applications from mobile or tablet devices, as well as applications that are accessible via a web browser from desktops, mobile or tablet devices.
"
+ },
+ "condition": "( HAS_DESIGN_DELIVERABLE || HAS_DEV_DELIVERABLE )",
+ "affectsQuickQuote": true,
+ "options": [
+ {
+ "description": "Your app can be installed and launched on mobile devices. This is Topcoder’s most requested option.",
+ "label": "Mobile",
+ "value": "mobile"
+ },
+ {
+ "description": "Your app can be used on tablet devices, with an optimized layout for tablets.",
+ "label": "Tablet",
+ "value": "tablet"
+ },
+ {
+ "description": "Your app would be accessed via web browser on desktop, mobile and tablet devices alike.",
+ "label": "Web Browser",
+ "value": "web-browser"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ },
+ {
+ "help": {
+ "linkTitle": "Which platforms to select?",
+ "title": "Which platforms to select?",
+ "content": "
Topcoder can create mobile applications for iOS, Android, or iOS and Android platforms.
"
+ },
+ "condition": "( details.appDefinition.targetDevices contains 'mobile' ) || ( details.appDefinition.targetDevices contains 'tablet' )",
+ "fieldName": "details.appDefinition.mobilePlatforms",
+ "affectsQuickQuote": true,
+ "icon": "question",
+ "options": [
+ {
+ "description": "Your app would work on iOS phones. We will develop it using Objective-C and SWIFT",
+ "label": "iOS",
+ "value": "ios"
+ },
+ {
+ "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.",
+ "label": "Android",
+ "value": "android"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "title": "What type of platform do you need?",
+ "type": "checkbox-group",
+ "summaryTitle": "Mobile platforms"
+ },
+ {
+ "fieldName": "details.appDefinition.nativeHybrid",
+ "icon": "question",
+ "description": "",
+ "title": "Does your app need to be Native or Hybrid?",
+ "type": "radio-group",
+ "summaryTitle": "App Type",
+ "validationError": "Please let us know the type of the app?",
+ "required": true,
+ "help": {
+ "linkTitle": "Which OS to select?",
+ "title": "Which OS to select?",
+ "content": "
Native operating systems are a SDK framework for building iOS and/or Android applications. Native applications typically have better performance if rich features such as video or audio are required.
Hybrid operating systems leverages a hybrid framework, such as Iconic, to build iOS and/or Android applications. Hybrid gives you the benefit of only having to maintain one code base for your application.
"
+ },
+ "condition": "( details.appDefinition.mobilePlatforms contains 'ios' ) || ( details.appDefinition.mobilePlatforms contains 'android' )",
+ "options": [
+ {
+ "description": "",
+ "label": "Native",
+ "value": "native"
+ },
+ {
+ "description": "",
+ "label": "Hybrid",
+ "value": "hybrid"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ },
+ {
+ "fieldName": "details.appDefinition.progressiveResponsive",
+ "icon": "question",
+ "description": "",
+ "title": "How should your app work when accessed via web browser?",
+ "type": "radio-group",
+ "summaryTitle": "Web App Type",
+ "validationError": "Please let us know the type of web app?",
+ "required": true,
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Progressive Web Applications are mobile web apps. They are built using a native framework so that it looks and functions like a native application, with rich features like GPS.
Responsive Web Applications are web apps that can be accessed from mobile, tablet, and/or desktop devices. You can choose custom layouts depending on device type.
Desktop Web Browser Applications come in one layout and are only accessed from desktop devices using common web browsers such as Chrome or Safari.
"
+ },
+ "condition": "( details.appDefinition.targetDevices contains 'web-browser' )",
+ "options": [
+ {
+ "description": "Your web application can be accessed from all common mobile web browsers and will be built using a native mobile framework.",
+ "label": "Progressive Web Application for Mobile Web Browsing",
+ "value": "progressive"
+ },
+ {
+ "description": "Your web application can be accessed from all common desktop, mobile and tablet web browsers and will be optimized for all screen sizes.",
+ "label": "Responsive Web Application for Desktop, Tablet, and Mobile Web Browsing",
+ "value": "responsive"
+ },
+ {
+ "description": "Your web application can be accessed from desktop devices on all common web browsers.",
+ "label": "Desktop Web Application",
+ "value": "desktop"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "target-devices-os",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.numberScreens",
+ "icon": "question",
+ "description": "",
+ "title": "How many screens do you need?",
+ "type": "radio-group",
+ "summaryTitle": "Screens",
+ "validationError": "Please let us know the number of screens required?",
+ "required": true,
+ "help": {
+ "linkTitle": "What are screens?",
+ "title": "What are screens?",
+ "content": "
Screens represent the number of unique pages within your application, which may include several features on each screen.
If you require more than 15 screens for your application, please indicate this in the Notes section of the form prior to submitting.
"
+ },
+ "condition": "( HAS_DESIGN_DELIVERABLE || HAS_DEV_DELIVERABLE ) && (!( MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP))",
+ "options": [
+ {
+ "description": "Suitable for small apps with 2-4 main features",
+ "disabled": false,
+ "label": "2-4 screens",
+ "value": "2-4"
+ },
+ {
+ "description": "Suitable for medium apps with 5-8 main features",
+ "disabled": false,
+ "label": "5-8 screens",
+ "value": "5-8"
+ },
+ {
+ "condition": "!QUICK_DESIGN_3_DAYS",
+ "description": "Suitable for larger apps with 9-15 main features",
+ "disabled": false,
+ "label": "9-15 screens",
+ "value": "9-15"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "app-size-questions",
+ "type": "questions"
+ },
+ {
+ "condition": "HAS_DEPLOY_DELIVERABLE",
+ "hideTitle": true,
+ "questions": [
+ {
+ "condition": "HAS_DEPLOY_DELIVERABLE",
+ "fieldName": "details.appDefinition.deploymentTargets",
+ "icon": "question",
+ "options": [
+ {
+ "condition": "( ONE_DELIVERABLE || (details.appDefinition.mobilePlatforms contains 'ios') )",
+ "description": "Apple App Store Deployment",
+ "label": "Apple App Store",
+ "value": "apple-app-store"
+ },
+ {
+ "condition": "( ONE_DELIVERABLE || (details.appDefinition.mobilePlatforms contains 'android') )",
+ "description": "Google App Store Deployment",
+ "label": "Google Play",
+ "value": "google-play"
+ },
+ {
+ "condition": "( ONE_DELIVERABLE || (details.appDefinition.targetDevices contains 'desktop') || (details.appDefinition.targetDevices contains 'web-browser') )",
+ "description": "Deployment to your internal production environment",
+ "label": "Internal Production Environment",
+ "value": "internal-production-environment"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "Where do you need your app deployed?",
+ "type": "checkbox-group",
+ "summaryTitle": "Deployment Targets",
+ "validationError": "Please, choose what do you need us to help with.",
+ "required": true
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "deployment-deliverable-questions",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.caNeeded",
+ "icon": "question",
+ "description": "",
+ "title": "What kind of support do you want on your project?",
+ "type": "radio-group",
+ "summaryTitle": "Architect",
+ "validationError": "Please, ley us know if you need a dedicated manager.",
+ "required": true,
+ "help": {
+ "linkTitle": "What is right for me?",
+ "title": "What is right for me?",
+ "content": "
Topcoder recommends including an Architect on projects where a high degree of technical complexity is anticipated, when multiple deliverables are needed, or when you are a new to Topcoder and need additional help navigating the crowdsourcing process. Architects will provide additional oversight to your project. The inclusion of an Architect on a project will result in a service charge.
"
+ },
+ "condition": "!( MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP)",
+ "options": [
+ {
+ "summaryLabel": "Yes",
+ "description": "Project managers will work with the Community on the execution of your deliverables. An Architect will be assigned to oversee the technical requirements and complexities of your project.",
+ "label": "Project Manager + Architect",
+ "value": "yes"
+ },
+ {
+ "summaryLabel": "No",
+ "description": "You will partner directly with your Project Manager to align on the requirements for your project and they will work with the Community on the execution of your deliverables.",
+ "label": "Project Manager",
+ "value": "no"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ },
+ {
+ "fieldName": "details.apiDefinition.notes",
+ "icon": "question",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)",
+ "title": "Notes",
+ "type": "textbox",
+ "summaryTitle": "Notes"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "tc-services-questions",
+ "type": "questions"
+ },
+ {
+ "condition": "MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP",
+ "fieldName": "details.appDefinition.message",
+ "hideTitle": true,
+ "description": "Wow! We love your idea. This is a very complex, technical solution. We will take a look at your project and contact you regarding next steps and a quote.",
+ "id": "customeQuote",
+ "title": "Message",
+ "type": "message"
+ },
+ {
+ "hiddenOnCreation": true,
+ "fieldName": "attachments",
+ "description": "",
+ "id": "files",
+ "title": "Please upload any document that can help us in moving ahead with the project",
+ "type": "files"
+ }
+ ],
+ "description": "",
+ "wizard": {
+ "previousStepVisibility": "write",
+ "enabled": true
+ },
+ "id": "appDefinition",
+ "title": "App Definition",
+ "required": true
+ },
+ {
+ "subSections": [
+ {
+ "condition": "!(MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP)",
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "static",
+ "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": "HAS_DESIGN_DELIVERABLE && !(MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP)",
+ "fieldName": "details.appDefinition.addons.design",
+ "icon": "question",
+ "description": "Select any desired add-ons to your project. Please note that each add-on will incur a cost and has a delivery duration. Your project estimate will be updated to reflect the cost and duration of your base solution and add-ons. Additionally, you will receive a full breakdown on cost in the final project proposal from Topcoder.",
+ "theme": "light",
+ "title": "Design add-ons",
+ "type": "add-ons",
+ "category": "visual_design"
+ },
+ {
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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": "HAS_DEV_DELIVERABLE && !(MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP)",
+ "fieldName": "details.appDefinition.addons.development",
+ "icon": "question",
+ "description": "Select any desired add-ons to your project. Please note that each add-on will incur a cost and has a delivery duration. Your project estimate will be updated to reflect the cost and duration of your base solution and add-ons. Additionally, you will receive a full breakdown on cost in the final project proposal from Topcoder.",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "title": "Development add-ons",
+ "type": "add-ons",
+ "category": "development"
+ },
+ {
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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": "HAS_DEPLOY_DELIVERABLE && !(MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP)",
+ "fieldName": "details.appDefinition.addons.delivery",
+ "icon": "question",
+ "description": "Select any desired add-ons to your project. Please note that each add-on will incur a cost and has a delivery duration. Your project estimate will be updated to reflect the cost and duration of your base solution and add-ons. Additionally, you will receive a full breakdown on cost in the final project proposal from Topcoder.",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "title": "Delivery add-ons",
+ "type": "add-ons",
+ "category": "deployment"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized",
+ "enabled": true
+ },
+ "type": "questions"
+ }
+ ],
+ "wizard": {
+ "enabled": true
+ },
+ "id": "add-ons",
+ "title": "Configure my app"
+ },
+ {
+ "subSections": [
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "static",
+ "content": "
"
+ },
+ {
+ "fieldName": "details.compVisDefinition.background",
+ "icon": "question",
+ "description": "",
+ "theme": "light",
+ "title": "Describe the background to the problem. What context would you like us to understand?",
+ "type": "textbox",
+ "summaryTitle": "Background",
+ "required": true
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "background",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.compVisDefinition.dataVariety",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Overhead imagery (drones, satellites, etc)",
+ "value": "overhead-imagery"
+ },
+ {
+ "label": "Video (GoPro, CCD, etc)",
+ "value": "video"
+ },
+ {
+ "label": "Medical Images",
+ "value": "medical-images"
+ },
+ {
+ "label": "Images of text",
+ "value": "images-of-text"
+ },
+ {
+ "label": "General scenery (e.g. ImageNet or wildlife data)",
+ "value": "general-scenery"
+ },
+ {
+ "label": "Other or Mixed Format (please describe it)",
+ "value": "other"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "title": "What sort of data do you expect to provide? Check all that apply.",
+ "type": "checkbox-group",
+ "summaryTitle": "Data Type",
+ "validationError": "Please, select what sort of data do you expect to provide?",
+ "required": true
+ },
+ {
+ "condition": "(details.compVisDefinition.dataVariety contains 'other')",
+ "fieldName": "details.compVisDefinition.otherDataVariety",
+ "icon": "question",
+ "description": "",
+ "theme": "light",
+ "title": "Please describe other types of data",
+ "type": "textbox",
+ "summaryTitle": "Other Data Types"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "dataType",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.compVisDefinition.solutionAim",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Shape or object recognition & tracking",
+ "value": "shape-object-recognition"
+ },
+ {
+ "label": "Optical Character Recognition",
+ "value": "optical-char-recognition"
+ },
+ {
+ "label": "Building footprints",
+ "value": "building-footprints"
+ },
+ {
+ "label": "Continuous paths (e.g. road networks)",
+ "value": "continuous-paths"
+ },
+ {
+ "label": "3D reconstruction or robotics applications",
+ "value": "3d-reconstruction-or-robotics"
+ },
+ {
+ "label": "Worker safety applications",
+ "value": "workder-safety-apps"
+ },
+ {
+ "label": "Security applications",
+ "value": "security-apps"
+ },
+ {
+ "label": "Face detection",
+ "value": "face-detection"
+ },
+ {
+ "label": "Other (please describe it)",
+ "value": "other"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "title": "What is the aim of the solution? Check all that apply.",
+ "type": "checkbox-group",
+ "summaryTitle": "Data Type",
+ "validationError": "Please, select what is the aim of the solution",
+ "required": true
+ },
+ {
+ "condition": "(details.compVisDefinition.solutionAim contains 'other')",
+ "fieldName": "details.compVisDefinition.otherSolutionAims",
+ "icon": "question",
+ "description": "",
+ "theme": "light",
+ "title": "Please describe other aims of your solution",
+ "type": "textbox",
+ "summaryTitle": "Other Data Types"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "solutionAim",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.compVisDefinition.dataFormat",
+ "icon": "question",
+ "description": "",
+ "title": "Describe your data and explain the data format (.tiff, png, etc or other special conditions).",
+ "type": "textbox",
+ "summaryTitle": "Data Format"
+ },
+ {
+ "fieldName": "details.compVisDefinition.dataSize",
+ "icon": "question",
+ "options": [
+ {
+ "description": "",
+ "label": "Less than 100MB",
+ "value": "less-than-100"
+ },
+ {
+ "description": "",
+ "label": "100MB - 10GB",
+ "value": "100mb-10gb"
+ },
+ {
+ "description": "",
+ "label": "10GB - 50GB",
+ "value": "10gb-50gb"
+ },
+ {
+ "description": "",
+ "label": "More than 50GB",
+ "value": "more-than-50gb"
+ },
+ {
+ "description": "",
+ "label": "More than 1TB",
+ "value": "more-than-1tb"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "title": "Approximately how large is your data set?",
+ "type": "radio-group",
+ "summaryTitle": "Data Size",
+ "introduction": "Select the best fit from the options below:"
+ },
+ {
+ "fieldName": "details.compVisDefinition.imagesCount",
+ "icon": "question",
+ "description": "",
+ "title": "Approximately how many images are in your data set?",
+ "type": "textbox",
+ "summaryTitle": "Images Count"
+ },
+ {
+ "fieldName": "details.compVisDefinition.dataLocation",
+ "icon": "question",
+ "description": "",
+ "title": "Where is your data located? Please provide one or more URLs, if possible.",
+ "type": "textbox",
+ "summaryTitle": "Data Location"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized",
+ "enabled": true
+ },
+ "id": "dataDetails",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.compVisDefinition.hasDataRestrictions",
+ "icon": "question",
+ "options": [
+ {
+ "description": "",
+ "label": "Yes",
+ "value": "yes"
+ },
+ {
+ "description": "",
+ "label": "No",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "title": "Is your data licensed, or subject to any patent, export or treaty restrictions, or are there other roadblocks of which we should be aware?",
+ "type": "radio-group",
+ "summaryTitle": "Patent/Licenses"
+ },
+ {
+ "condition": "(details.compVisDefinition.hasDataRestrictions == 'yes')",
+ "fieldName": "details.compVisDefinition.licenseRestrictions",
+ "icon": "question",
+ "description": "",
+ "theme": "light",
+ "title": "Please describe what are restrictions.",
+ "type": "textbox",
+ "summaryTitle": "Restrictions"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "licenseRestrictions",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.compVisDefinition.expectedOutcomes",
+ "icon": "question",
+ "options": [
+ {
+ "description": "I want first-pass, proof-of-concept style results, which leverage insightfully-modified, open source packages that can be delivered in 2-4 weeks. I will review submissions and pick a winner.",
+ "label": "POC Style Results",
+ "value": "poc"
+ },
+ {
+ "description": "I need best-in-class, research-grade outcomes. I am willing to accept a longer lead-time of 5-6 weeks, wherein real-time competition and objective scoring on a public leaderboard delivers maximum performance results.",
+ "label": "Research Grade Results",
+ "value": "research-grade"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "title": "Which scenario best matches your needs and expected outcomes?",
+ "type": "radio-group",
+ "summaryTitle": "Expected Outcomes"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized",
+ "enabled": true
+ },
+ "id": "outcomeDataDetails",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "condition": "( details.compVisDefinition.expectedOutcomes == 'research-grade')",
+ "fieldName": "details.compVisDefinition.scoringSystems",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Dice Coefficient",
+ "value": "dice-coefficient"
+ },
+ {
+ "label": "Jaccard Index/Intersection Over Union",
+ "value": "jaccard-index-over-union"
+ },
+ {
+ "label": "Classification Accuracy",
+ "value": "classification-accuracy"
+ },
+ {
+ "label": "ROC/AUC",
+ "value": "roc-auc"
+ },
+ {
+ "label": "F1 Score",
+ "value": "f1-score"
+ },
+ {
+ "label": "Mean Squared Error",
+ "value": "mean-squared-error"
+ },
+ {
+ "label": "Other (please describe it)",
+ "value": "other"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "title": "Topcoder can support many types of scoring systems, simultaneously.",
+ "type": "checkbox-group",
+ "summaryTitle": "Scoring Systems",
+ "introduction": "Select your preferred scoring system(s):",
+ "validationError": "Please, select the scoring system you need",
+ "required": true
+ },
+ {
+ "condition": "(details.compVisDefinition.scoringSystems contains 'other')",
+ "fieldName": "details.compVisDefinition.otherScoringSystems",
+ "icon": "question",
+ "description": "",
+ "theme": "light",
+ "title": "Please describe the other scoring systems",
+ "type": "textbox",
+ "summaryTitle": "Other Platforms"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "scoringSystems",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.compVisDefinition.isDataLabeled",
+ "icon": "question",
+ "options": [
+ {
+ "description": "",
+ "label": "Yes",
+ "value": "yes"
+ },
+ {
+ "description": "",
+ "label": "No",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "title": "Is any percent of your data labeled?",
+ "type": "radio-group",
+ "summaryTitle": "Is Data Labled"
+ },
+ {
+ "condition": "(details.compVisDefinition.isDataLabeled == 'yes')",
+ "fieldName": "details.compVisDefinition.labeledPercent",
+ "icon": "question",
+ "description": "",
+ "theme": "light",
+ "title": "Please indicate the percent of labeled images.",
+ "type": "textbox",
+ "summaryTitle": "Labeled Percent"
+ },
+ {
+ "condition": "(details.compVisDefinition.isDataLabeled == 'no')",
+ "fieldName": "details.compVisDefinition.isDataLabelingRequired",
+ "icon": "question",
+ "options": [
+ {
+ "description": "",
+ "label": "Yes",
+ "value": "yes"
+ },
+ {
+ "description": "",
+ "label": "No",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "title": "Would you like Topcoder to help label your data?",
+ "type": "radio-group",
+ "summaryTitle": "Labeling Required"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "dataLabeling",
+ "type": "questions"
+ },
+ {
+ "condition": "details.compVisDefinition.isDataLabelingRequired == 'no'",
+ "fieldName": "details.compVisDefinition.message",
+ "hideTitle": true,
+ "description": "Topcoder challenges are scored algorithmically. In order to support your challenge, we will need to know how to measure good vs poor solutions. A Topcoder Challenge Architect will work with you to define scoring.",
+ "id": "customeQuote",
+ "title": "Message",
+ "type": "message"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.compVisDefinition.productionPrepRequired",
+ "icon": "question",
+ "options": [
+ {
+ "description": "",
+ "label": "Yes, I will need results fitted with a GUI, deployed as an API, etc. ",
+ "value": "yes"
+ },
+ {
+ "description": "",
+ "label": "No, I will work with the command line results.",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "title": "Solutions are delivered as command line programs. Will you need your output to be further prepared for production use?",
+ "type": "radio-group",
+ "summaryTitle": "Need Production Prep"
+ },
+ {
+ "condition": "(details.compVisDefinition.productionPrepRequired == 'yes')",
+ "fieldName": "details.compVisDefinition.productionRequirements",
+ "icon": "question",
+ "description": "",
+ "theme": "light",
+ "title": "Describe how you will interact with and deploy your results.",
+ "type": "textbox",
+ "summaryTitle": "Production Req"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "requirements",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.compVisDefinition.notes",
+ "icon": "question",
+ "description": "",
+ "theme": "light",
+ "title": "Please provide any additional notes/context you believe is important for us to know.",
+ "type": "textbox",
+ "summaryTitle": "Additional Context"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "dataDetails",
+ "type": "questions"
+ },
+ {
+ "condition": "details.compVisDefinition.productionPrepRequired == 'yes'",
+ "fieldName": "details.compVisDefinition.message",
+ "hideTitle": true,
+ "description": "Topcoder will review your request and will respond with a custom quote.",
+ "id": "customeQuote",
+ "title": "Message",
+ "type": "message"
+ },
+ {
+ "hiddenOnCreation": true,
+ "fieldName": "attachments",
+ "description": "",
+ "id": "files",
+ "title": "Files",
+ "type": "files",
+ "required": false
+ }
+ ],
+ "description": "",
+ "wizard": {
+ "previousStepVisibility": "write",
+ "enabled": true
+ },
+ "id": "appDefinition",
+ "title": "Computer Vision",
+ "required": true
+ },
+ {
+ "subSections": [
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "static",
+ "content": "
Your Project Estimate
"
+ }
+ ],
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "type": "portal",
+ "content": [
+ {
+ "sectionIndex": 1
+ },
+ {
+ "sectionIndex": 3
+ }
+ ]
+ },
+ {
+ "condition": "PROD_PREP_NOT_REQUIRED",
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "estimation",
+ "title": "Your project timeline",
+ "deliverables": [
+ {
+ "id": "comp-viz-design",
+ "deliverableKey": "comp-viz-poc",
+ "title": "Poc",
+ "enableCondition": "HAS_POC_DELIVERABLE"
+ },
+ {
+ "id": "comp-viz-research-grade",
+ "deliverableKey": "comp-viz-research-grade",
+ "title": "Research Grade",
+ "enableCondition": "HAS_RESEARCH_GRADE_DELIVERABLE"
+ }
+ ]
+ }
+ ],
+ "type": "questions"
+ }
+ ],
+ "hiddenOnEdit": true,
+ "footer": {
+ "content": ""
+ },
+ "nextButtonText": "Save my project",
+ "id": "summary-final",
+ "hideFormHeader": true
+ }
+ ],
+ "baseTimeEstimateMax": 6,
+ "priceConfigOpt": null
+ },
+ "name": "Computer Vision",
+ "disabled": false,
+ "id": 205,
+ "category": "scoped-solutions",
+ "key": "computer_vision",
+ "phases": {
+ "1-dev-iteration-i": {
+ "duration": 25,
+ "name": "Dev Iteration",
+ "products": [
+ {
+ "id": 29,
+ "productKey": "development-iteration-5-milestones"
+ }
+ ]
+ }
+ },
+ "updatedAt": "2020-01-22T13:22:41.142Z",
+ "info": "Locate and classify patterns, object or building dimensions and actor behavior in still and video images."
+ },
+ {
+ "metadata": {},
+ "subCategory": null,
+ "aliases": [
+ "xxx-1",
+ "kxxx-2",
+ "key-2",
+ "key0-4"
+ ],
+ "updatedBy": 40051333,
+ "question": "question",
+ "hidden": true,
+ "icon": "icon",
+ "priceConfig": null,
+ "deletedBy": null,
+ "planConfig": null,
+ "createdAt": "2018-12-11T03:06:02.000Z",
+ "deletedAt": null,
+ "form": null,
+ "createdBy": 40051333,
+ "scope": {},
+ "name": "QA & Bug Fixes",
+ "disabled": false,
+ "id": 56,
+ "category": "quality_assurance",
+ "key": "generic-1",
+ "phases": {},
+ "updatedAt": "2020-01-22T13:22:41.143Z",
+ "info": "info"
+ },
+ {
+ "metadata": {},
+ "subCategory": null,
+ "aliases": [
+ "kubik_mobile",
+ "kubik-mobile"
+ ],
+ "updatedBy": 40051333,
+ "question": "What do you need to develop?",
+ "hidden": true,
+ "icon": "../../assets/icons/product-app-app.svg",
+ "priceConfig": null,
+ "deletedBy": null,
+ "planConfig": null,
+ "createdAt": "2019-04-24T19:30:14.000Z",
+ "deletedAt": null,
+ "form": null,
+ "createdBy": 40051333,
+ "scope": {
+ "sections": [
+ {
+ "subSections": [
+ {
+ "fieldName": "name",
+ "description": "",
+ "id": "projectName",
+ "title": "Project Name",
+ "type": "project-name",
+ "required": true,
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "questions": [
+ {
+ "fieldName": "details.businessUnit",
+ "description": "Business Unit or Group function (e.g. ZNA, UK, GF&SU, COMMERCIAL INSURANCE,…)",
+ "validations": "isRequired",
+ "title": "BU",
+ "type": "textinput",
+ "validationError": "Mandatory field",
+ "required": true
+ },
+ {
+ "fieldName": "details.costCentre",
+ "validations": "isRequired",
+ "title": "Cost Centre",
+ "type": "textinput",
+ "validationError": "Mandatory field",
+ "required": true
+ }
+ ],
+ "id": "questions",
+ "title": "Business Unit & Cost Center",
+ "type": "questions",
+ "required": true
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "description",
+ "validationErrors": {
+ "isRequired": "Please provide a description",
+ "minLength": "Please enter at least 160 characters"
+ },
+ "description": "Briefly describe the application we are developing.",
+ "id": "projectInfo",
+ "validations": "isRequired,minLength:160",
+ "title": "Application Overview",
+ "type": "textbox",
+ "required": true
+ },
+ {
+ "fieldName": "details.appDefinition.appType",
+ "icon": "question",
+ "options": [
+ {
+ "label": "iOS mobile application",
+ "value": "ios"
+ },
+ {
+ "label": "Android mobile application",
+ "value": "android"
+ },
+ {
+ "label": "Desktop web browser application - An app built to be accessed over the web using a desktop browser such as Chrome, Safari and MS Explorer",
+ "value": "web"
+ },
+ {
+ "label": "Responsive web application - 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.",
+ "value": "responsive"
+ },
+ {
+ "label": "Progressive Mobile Web App - An app that is accessed by using a mobile web browser like Safari or Chrome, but that provides a native mobile app experience (rich features, i.e access device features such as GPS).",
+ "value": "progressive"
+ },
+ {
+ "label": "Other",
+ "value": "other"
+ }
+ ],
+ "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. ",
+ "title": "App Type",
+ "type": "checkbox-group",
+ "required": true,
+ "validationError": "Please let us know the target device"
+ },
+ {
+ "fieldName": "details.appDefinition.appType1",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Native - An app built for phones or tablets using native iOS or Android (vs. a hybrid framework such has Ionic).",
+ "value": "native"
+ },
+ {
+ "label": "Hybrid - An app built for phones or tablets using a hybrid framework such has Ionic.",
+ "value": "hybrid"
+ }
+ ],
+ "description": "",
+ "title": "If you need a mobile application, please indicate if it should be native or hybrid ",
+ "type": "checkbox-group",
+ "required": false,
+ "validationError": "Please let us know the app type"
+ },
+ {
+ "fieldName": "details.appDefinition.formFactor",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Mobile Phone - Portrait",
+ "value": "mobile-phone-portrait"
+ },
+ {
+ "label": "Mobile Phone - Landscape",
+ "value": "mobile-phone-landscape"
+ },
+ {
+ "label": "Tablet Device - Portrait",
+ "value": "tablet-device-portrait"
+ },
+ {
+ "label": "Tablet Device - Landscape",
+ "value": "tablet-device-landscape"
+ }
+ ],
+ "description": "Please select each for each form factor/orientation that must be supported.",
+ "title": "If you need a mobile application, please indicate the devices you require the application to work on.",
+ "type": "checkbox-group"
+ },
+ {
+ "fieldName": "details.appDefinition.admin",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "admin-yes"
+ },
+ {
+ "label": "No",
+ "value": "admin-no"
+ }
+ ],
+ "description": "",
+ "title": "Will your application require an admin interface?",
+ "type": "radio-group"
+ }
+ ],
+ "description": "",
+ "id": "user",
+ "title": "Questions",
+ "type": "questions",
+ "required": true
+ },
+ {
+ "hideTitle": false,
+ "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"
+ }
+ ],
+ "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.",
+ "title": "Integration Points",
+ "type": "questions",
+ "required": false
+ },
+ {
+ "hideTitle": false,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.screens",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Enterprise Login - Supports integration with an existing authorization/authentication mechanism.",
+ "value": "enterprise-login"
+ },
+ {
+ "label": "Email Login - Support sign in using an email address/password.",
+ "value": "email-login"
+ },
+ {
+ "label": "Social Login - Support register and login using third-party services such as Facebook, Twitter, and Google.",
+ "value": "social-login"
+ },
+ {
+ "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": "registration"
+ },
+ {
+ "label": "Invitations - Allow users to invite others to use your app via email. ",
+ "value": "invitations"
+ },
+ {
+ "label": "Introductions - Present your app and inform users of core functionality using a series of introductory screens before they sign up.",
+ "value": "introductions"
+ },
+ {
+ "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": "onboarding"
+ },
+ {
+ "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": "search"
+ },
+ {
+ "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": "location-based-services"
+ },
+ {
+ "label": "Camera (Audio & Video) - Add this feature if your app will require using the camera to capture audio or video.",
+ "value": "camera"
+ },
+ {
+ "label": "File Upload - Allow users to upload photos or other files.",
+ "value": "file-upload"
+ },
+ {
+ "label": "Notifications - Take advantage of notifications; for example, remind users to do certain tasks or update them on new content.",
+ "value": "notifications"
+ },
+ {
+ "label": "Dashboard - App must have a central dashboard where users can access functionality",
+ "value": "dashboard"
+ },
+ {
+ "label": "Tagging - Allow users to tag products, people or content; for example, in order to classify and easily retrieve notes.",
+ "value": "tagging"
+ },
+ {
+ "label": "Account Settings - Allow your users to adjust settings or specify preferences, such as communication frequency.",
+ "value": "account-settings"
+ },
+ {
+ "label": "Help/FAQs - Include a section dedicated to FAQ or Help content.",
+ "value": "Help/FAQs"
+ },
+ {
+ "label": "Marketplace - Allow users to buy, sell, or rent products or services.",
+ "value": "marketplace"
+ },
+ {
+ "label": "Ratings & Reviews - Let users rate or review people, products, or services.",
+ "value": "ratings-reviews"
+ },
+ {
+ "label": "Payments - Allow users to pay in some way; for example, using credit cards, PayPal, or Bitcoin.",
+ "value": "payments"
+ },
+ {
+ "label": "Shopping Cart - Allow users to save items before purchasing. Please specify your desired functionality below.",
+ "value": "shopping-cart"
+ },
+ {
+ "label": "Product Listing - Add this feature to shows lists of product or services, with individual detail pages for each one.",
+ "value": "product-listing"
+ },
+ {
+ "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": "activity-feed"
+ },
+ {
+ "label": "Profiles - Add this feature if your app requires users to have a profile, including the ability to edit it.",
+ "value": "profiles"
+ },
+ {
+ "label": "Messaging - Allow direct communication between two or more users.",
+ "value": "messaging"
+ },
+ {
+ "label": "Admin Tool - App must have an administrative tool or panel to enable direct management of users, content and the application.",
+ "value": "admin-tool"
+ },
+ {
+ "label": "Social Media Integration - App must integrate with social media providers (Facebook, Instagram, Twitter, Google+, etc)",
+ "value": "social-media-integration"
+ },
+ {
+ "label": "Reporting - App must have the ability to report/export data",
+ "value": "reporting"
+ },
+ {
+ "label": "Contact Us - App must have the ability to allow users to contact an administrator/send feedback to administrators.",
+ "value": "contact-us"
+ },
+ {
+ "label": "3D Touch - If this is an iOS App -- should the designers make use of 3D Touch?",
+ "value": "3d-touch"
+ }
+ ],
+ "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. ",
+ "title": "Screen / Feature List",
+ "type": "checkbox-group"
+ },
+ {
+ "fieldName": "details.appDefinition.techFeatures",
+ "icon": "question",
+ "options": [
+ {
+ "label": "SSO Integration - App must integrate with enterprise single-sign-on capability.",
+ "value": "enterprise-login"
+ },
+ {
+ "label": "API Integration - App must integrate with a pre-existing API.",
+ "value": "api-integration"
+ },
+ {
+ "label": "Third Party System Integration - App must integrate with an external application or system and either retrieve or post data.",
+ "value": "third-party-system-integration"
+ },
+ {
+ "label": "Containerized Code - The codebase must be containerized via Docker to allow for easier deployment and maintenance.",
+ "value": "containerized-code"
+ },
+ {
+ "label": "Unit Tests - App must have unit tests to ensure code coverage.",
+ "value": "unit-tests"
+ },
+ {
+ "label": "Continuous Integration / Continuous Deployment - Establishment of a CI/CD pipeline.",
+ "value": "continuous-integration-/-continuous-deployment"
+ },
+ {
+ "label": "Analytics Implementation - Implementation of analytics to track user behavior and app usage.",
+ "value": "analytics-implementation"
+ },
+ {
+ "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": "email-(smtp-server)-setup"
+ },
+ {
+ "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": "offline-capability"
+ },
+ {
+ "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": "camera"
+ },
+ {
+ "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": "apple-app-store-&-google-play-submission-support"
+ },
+ {
+ "label": "SMS Gateway Integration - App must integrate with an external SMS gateway/provider for notifications via SMS.",
+ "value": "sms-gateway-integration"
+ },
+ {
+ "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": "error-logging"
+ },
+ {
+ "label": "Face ID / Touch ID -- If this is an iOS App -- should we support Face ID/Touch ID for login",
+ "value": "faceid-touchid"
+ }
+ ],
+ "description": "Please select each required technology requirement above",
+ "title": "Technology Requirements",
+ "type": "checkbox-group"
+ }
+ ],
+ "description": "",
+ "id": "screen-features",
+ "title": "Screen and Features",
+ "type": "questions",
+ "required": false
+ },
+ {
+ "hideTitle": false,
+ "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"
+ },
+ {
+ "fieldName": "details.techstack.others",
+ "title": "Others",
+ "type": "textbox"
+ }
+ ],
+ "description": "Do you have a preferred technology stack? If yes, please list those requirements here:",
+ "id": "techStackGeneral",
+ "title": "Technology Stack (General) - Do you have a preferred technology stack? If yes, please list them here:",
+ "type": "questions",
+ "required": false
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.qaTesting.security",
+ "options": [
+ {
+ "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": "enterprise"
+ },
+ {
+ "label": "Vulnerability Scanning - Vulnerability scanning is a security technique used to identify security weaknesses in a computer system.",
+ "value": "vulnerability"
+ },
+ {
+ "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": "auditing"
+ },
+ {
+ "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": "confidential"
+ },
+ {
+ "label": "Mobile Device Management (MDM) - Do you employ an MDM solution? If yes, what service do you use?",
+ "value": "mdm"
+ }
+ ],
+ "description": "Please select each required security requirement above.",
+ "title": "Security Requirements",
+ "type": "checkbox-group"
+ },
+ {
+ "fieldName": "details.qaTesting.testing",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Real World Unstructured - Functional testing performed without test scripts. Users search on their own for bugs or usability issues.",
+ "value": "rw-unstructured"
+ },
+ {
+ "label": "Real World Testing - Structured - Test case based execution, covering all the functional requirements & cross-browser device testing.",
+ "value": "rw-structured"
+ },
+ {
+ "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": "testcases"
+ },
+ {
+ "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": "certification"
+ },
+ {
+ "label": "Mobile Device Lab on Hire - Allows you to remotely access devices in real cell networks across the world",
+ "value": "devicelab"
+ },
+ {
+ "label": "Test Data - Should we create test data as part of the project, or will you provide obfuscated test data?",
+ "value": "testdata"
+ },
+ {
+ "label": "User Count - How many users do you anticipate the application will have?",
+ "value": "usercount"
+ },
+ {
+ "label": "Performance Testing - Testing web application’s robustness, availability, and reliability for defined business scenarios and concurrent users.",
+ "value": "performanceTuning"
+ },
+ {
+ "label": "Performance Tuning - Analyze and identify performance issues, actionable items for improvement.",
+ "value": "performanceTesting"
+ }
+ ],
+ "description": "Please select each for each required QA requirement.",
+ "title": "Quality Assurance, Test Data & Performance Testing",
+ "type": "checkbox-group"
+ },
+ {
+ "fieldName": "details.qaTesting.uat",
+ "icon": "question",
+ "options": [
+ {
+ "label": "1 UAT/Beta Test Cycle.",
+ "value": "uat"
+ },
+ {
+ "label": "Implementation of Updates (update the app based on UAT/Beta Testing feedback)",
+ "value": "uat-updates"
+ }
+ ],
+ "description": "UAT is the process of sharing the final application with users and gathering feedback. Please select each required UAT requirement.",
+ "title": "User Acceptance / Beta Testing",
+ "type": "checkbox-group"
+ }
+ ],
+ "description": "",
+ "title": "Quality Assurance, Testing and Security",
+ "type": "questions"
+ },
+ {
+ "hideTitle": false,
+ "questions": [
+ {
+ "fieldName": "details.loadDetails.budget",
+ "icon": "question",
+ "options": [
+ {
+ "title": "Under $25K ",
+ "value": "upto-25"
+ },
+ {
+ "title": "$50K",
+ "value": "upto-50"
+ },
+ {
+ "title": "$75K",
+ "value": "upto-75"
+ },
+ {
+ "title": "$100K",
+ "value": "upto-100"
+ },
+ {
+ "title": "$100K+",
+ "value": "above-100"
+ }
+ ],
+ "description": "How much budget do you have?",
+ "title": "Budget",
+ "type": "slide-radiogroup",
+ "required": true,
+ "validationError": "Please provide expected hours of execution"
+ },
+ {
+ "fieldName": "details.loadDetails.timeline",
+ "icon": "question",
+ "options": [
+ {
+ "title": "Under 1 month",
+ "value": "upto-1month"
+ },
+ {
+ "title": "1 to 2 months",
+ "value": "upto-2months"
+ },
+ {
+ "title": "2 to 3 months",
+ "value": "upto-3months"
+ },
+ {
+ "title": "3 to 6 months",
+ "value": "upto-6months"
+ }
+ ],
+ "description": "When do you need your solution?",
+ "title": "Timeline",
+ "type": "slide-radiogroup",
+ "required": true,
+ "validationError": "Please provide expected hours of execution"
+ }
+ ],
+ "description": "",
+ "title": "Budget and Timeline",
+ "type": "questions"
+ },
+ {
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g. links to documents or existing applications)",
+ "id": "notes",
+ "title": "Notes",
+ "type": "notes"
+ }
+ ],
+ "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.",
+ "id": "appDefinition",
+ "title": "Enterprise Mobile",
+ "required": true
+ }
+ ]
+ },
+ "name": "Development",
+ "disabled": false,
+ "id": 110,
+ "category": "app",
+ "key": "kubik_mobile",
+ "phases": {
+ "2-front-end-development-i": {
+ "duration": 19,
+ "name": "Front-End Development, Pt. I",
+ "products": [
+ {
+ "id": 27,
+ "productKey": "development-iteration-3-milestones"
+ }
+ ]
+ },
+ "4-back-end-development-i": {
+ "duration": 19,
+ "name": "Back-End Development, Pt. I",
+ "products": [
+ {
+ "id": 27,
+ "productKey": "development-iteration-3-milestones"
+ }
+ ]
+ },
+ "enterprise_mobile": {
+ "duration": 10,
+ "name": "Enterprise Mobile",
+ "products": [
+ {
+ "id": 6,
+ "productKey": "enterprise_mobile"
+ }
+ ]
+ },
+ "3-front-end-development-ii": {
+ "duration": 19,
+ "name": "Front-End Development, Pt. II",
+ "products": [
+ {
+ "id": 27,
+ "productKey": "development-iteration-3-milestones"
+ }
+ ]
+ },
+ "5-back-end-development-ii": {
+ "duration": 19,
+ "name": "Back-End Development, Pt. II",
+ "products": [
+ {
+ "id": 27,
+ "productKey": "development-iteration-3-milestones"
+ }
+ ]
+ },
+ "1-app-design": {
+ "duration": 25,
+ "name": "App Design",
+ "products": [
+ {
+ "id": 26,
+ "productKey": "design-iteration-3-milestones"
+ }
+ ]
+ },
+ "6-qa-and-bug-fixes": {
+ "duration": 24,
+ "name": "QA & Bug Fixes",
+ "products": [
+ {
+ "id": 30,
+ "productKey": "qa-iteration"
+ }
+ ]
+ }
+ },
+ "updatedAt": "2020-01-22T13:22:41.142Z",
+ "info": "Zurich Mobile App"
+ },
+ {
+ "metadata": {},
+ "subCategory": null,
+ "aliases": [
+ "generic-design",
+ "generic_design"
+ ],
+ "updatedBy": 40051333,
+ "question": "Other Design",
+ "hidden": false,
+ "icon": "../../assets/icons/product-design-other.svg",
+ "priceConfig": null,
+ "deletedBy": null,
+ "planConfig": null,
+ "createdAt": "2018-06-21T12:16:10.000Z",
+ "deletedAt": null,
+ "form": null,
+ "createdBy": 40051333,
+ "scope": {
+ "sections": [
+ {
+ "subSections": [
+ {
+ "fieldName": "name",
+ "description": "",
+ "id": "projectName",
+ "title": "Project Name",
+ "type": "project-name",
+ "required": true,
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "description",
+ "icon": "question",
+ "description": "Brief Description",
+ "id": "projectInfo",
+ "title": "Description",
+ "type": "textbox",
+ "required": true,
+ "validationError": "Please provide a description"
+ },
+ {
+ "fieldName": "details.appDefinition.goal.value",
+ "icon": "question",
+ "description": "Describe your objectives for creating this application",
+ "title": "What is the goal of your application? How will people use it?",
+ "type": "textbox",
+ "required": true,
+ "validationError": "Please let us know the goal of your application"
+ },
+ {
+ "fieldName": "details.appDefinition.users.value",
+ "icon": "question",
+ "description": "Describe the roles and needs of your target users",
+ "title": "Who are the users of your application? ",
+ "type": "textbox",
+ "required": true,
+ "validationError": "Please let us know users of your application"
+ }
+ ],
+ "description": "",
+ "id": "questions",
+ "title": "Questions",
+ "type": "questions",
+ "required": true
+ },
+ {
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications, budget or timing constraints)",
+ "id": "notes",
+ "title": "Notes",
+ "type": "notes"
+ }
+ ],
+ "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.",
+ "id": "appDefinition",
+ "title": "Other Design",
+ "required": true
+ }
+ ]
+ },
+ "name": "Other Design",
+ "disabled": false,
+ "id": 8,
+ "category": "wireframes",
+ "key": "generic_design",
+ "phases": {
+ "1-visual-design": {
+ "duration": 25,
+ "name": "Design",
+ "products": [
+ {
+ "id": 26,
+ "productKey": "design-iteration-3-milestones"
+ }
+ ]
+ }
+ },
+ "updatedAt": "2020-01-22T13:22:41.144Z",
+ "info": "Get help with other types of design"
+ },
+ {
+ "metadata": {},
+ "subCategory": null,
+ "aliases": [
+ "ds_sprint_test"
+ ],
+ "updatedBy": 40051333,
+ "question": "DS Sprint",
+ "hidden": true,
+ "icon": "ds-sprint",
+ "priceConfig": null,
+ "deletedBy": null,
+ "planConfig": null,
+ "createdAt": "2019-07-12T11:10:05.000Z",
+ "deletedAt": null,
+ "form": null,
+ "createdBy": 40051333,
+ "scope": {
+ "buildingBlocks": {
+ "RESEARCH_GRADE_NOT_LABELED_NO_LABELING_NO_PROD_PREP_COMP_VIZ_DESIGN": {
+ "maxTime": 30,
+ "metadata": {
+ "deliverable": "comp-viz-research-grade"
+ },
+ "price": "3411",
+ "minTime": 30,
+ "conditions": "( EXPECTED_OUTCOME_RESEARCH_GRADE && DATA_NOT_LABELED && LABELING_NOT_REQUIERD && PROD_PREP_NOT_REQUIRED )"
+ },
+ "RESEARCH_GRADE_LABELED_NO_PROD_PREP_COMP_VIZ_DESIGN": {
+ "maxTime": 30,
+ "metadata": {
+ "deliverable": "comp-viz-research-grade"
+ },
+ "price": "1096",
+ "minTime": 30,
+ "conditions": "( EXPECTED_OUTCOME_RESEARCH_GRADE && DATA_LABELED && PROD_PREP_NOT_REQUIRED )"
+ },
+ "POC_LABELED_NO_PROD_PREP_COMP_VIZ_DESIGN": {
+ "maxTime": 15,
+ "metadata": {
+ "deliverable": "comp-viz-poc"
+ },
+ "price": "3585",
+ "minTime": 15,
+ "conditions": "( EXPECTED_OUTCOME_POC && DATA_LABELED && PROD_PREP_NOT_REQUIRED )"
+ },
+ "RESEARCH_GRADE_NOT_LABELED_NO_PROD_PREP_COMP_VIZ_DESIGN": {
+ "maxTime": 45,
+ "metadata": {
+ "deliverable": "comp-viz-research-grade"
+ },
+ "price": "2771",
+ "minTime": 45,
+ "conditions": "( EXPECTED_OUTCOME_RESEARCH_GRADE && DATA_NOT_LABELED && LABELING_REQUIERD && PROD_PREP_NOT_REQUIRED )"
+ },
+ "POC_NOT_LABELED_NO_PROD_PREP_COMP_VIZ_DESIGN": {
+ "maxTime": 30,
+ "metadata": {
+ "deliverable": "comp-viz-poc"
+ },
+ "price": "1996",
+ "minTime": 30,
+ "conditions": "( EXPECTED_OUTCOME_POC && DATA_NOT_LABELED && LABELING_REQUIERD && PROD_PREP_NOT_REQUIRED )"
+ },
+ "POC_NOT_LABELED_NO_LABELING_NO_PROD_PREP_COMP_VIZ_DESIGN": {
+ "maxTime": 15,
+ "metadata": {
+ "deliverable": "comp-viz-poc"
+ },
+ "price": "7972",
+ "minTime": 15,
+ "conditions": "( EXPECTED_OUTCOME_POC && DATA_NOT_LABELED && LABELING_NOT_REQUIERD && PROD_PREP_NOT_REQUIRED )"
+ }
+ },
+ "preparedConditions": {
+ "EXPECTED_OUTCOME_POC": "(details.compVisDefinition.expectedOutcomes == 'poc')",
+ "LABELING_REQUIERD": "(details.compVisDefinition.isDataLabelingRequired == 'yes')",
+ "HAS_POC_DELIVERABLE": "(details.compVisDefinition.expectedOutcomes == 'poc')",
+ "HAS_RESEARCH_GRADE_DELIVERABLE": "(details.compVisDefinition.expectedOutcomes == 'research-grade')",
+ "EXPECTED_OUTCOME_RESEARCH_GRADE": "(details.compVisDefinition.expectedOutcomes == 'research-grade')",
+ "ONE_DELIVERABLE": "( 1 == 1)",
+ "LABELING_NOT_REQUIERD": "(details.compVisDefinition.isDataLabelingRequired == 'no')",
+ "TRUTHY": "( 1 == 1)",
+ "DATA_NOT_LABELED": "(details.compVisDefinition.isDataLabeled == 'no')",
+ "PROD_PREP_NOT_REQUIRED": "(details.compVisDefinition.productionPrepRequired == 'no')",
+ "DATA_LABELED": "(details.compVisDefinition.isDataLabeled == 'yes')",
+ "PROD_PREP_REQUIRED": "(details.compVisDefinition.productionPrepRequired == 'yes')"
+ },
+ "addonPriceConfig": {
+ "ONE_DELIVERABLE": []
+ },
+ "priceConfig-old": null,
+ "basePriceEstimate": 0,
+ "priceConfig": {
+ "ONE_DELIVERABLE": [
+ [
+ "POC_LABELED_NO_PROD_PREP_COMP_VIZ_DESIGN"
+ ],
+ [
+ "POC_NOT_LABELED_NO_PROD_PREP_COMP_VIZ_DESIGN"
+ ],
+ [
+ "POC_NOT_LABELED_NO_LABELING_NO_PROD_PREP_COMP_VIZ_DESIGN"
+ ],
+ [
+ "RESEARCH_GRADE_LABELED_NO_PROD_PREP_COMP_VIZ_DESIGN"
+ ],
+ [
+ "RESEARCH_GRADE_NOT_LABELED_NO_PROD_PREP_COMP_VIZ_DESIGN"
+ ],
+ [
+ "RESEARCH_GRADE_NOT_LABELED_NO_LABELING_NO_PROD_PREP_COMP_VIZ_DESIGN"
+ ]
+ ]
+ },
+ "wizard": {
+ "previousStepVisibility": "none",
+ "enabled": true
+ },
+ "baseTimeEstimateMin": 3,
+ "sections": [
+ {
+ "subSections": [
+ {
+ "hideTitle": true,
+ "description": "We will ask you several questions in order to determine your project’s scope. All estimates are based on our 15 years of experience and thousands of projects. Final prices will be determined after our team completes a final scope review.",
+ "theme": "light",
+ "type": "message"
+ },
+ {
+ "questions": [
+ {
+ "fieldName": "name",
+ "theme": "light",
+ "validations": "isRequired",
+ "type": "textinput",
+ "title": "Name your project",
+ "validationError": "Please, provide a name to your project",
+ "required": true
+ },
+ {
+ "fieldName": "details.utm.code",
+ "theme": "light",
+ "type": "textinput",
+ "title": "Do you have a Reference code? (optional)"
+ }
+ ],
+ "title": "App details",
+ "type": "questions"
+ }
+ ],
+ "statusText": "Let's go!",
+ "id": "project-basic-details",
+ "title": "Data Science Sprint"
+ },
+ {
+ "subSections": [
+ {
+ "questions": [
+ {
+ "hiddenOnEdit": true,
+ "type": "static",
+ "content": "
{{name}}
{{description}}
"
+ },
+ {
+ "fieldName": "details.dsSprint.problemStatement",
+ "icon": "question",
+ "description": "",
+ "title": "Describe the problem you would like to solve or the concept you would like to explore.",
+ "type": "textbox",
+ "summaryTitle": "Problem Concept",
+ "required": true,
+ "validationError": "Please, provide problem statement/concept for your project"
+ },
+ {
+ "fieldName": "details.dsSprint.goals",
+ "icon": "question",
+ "description": "",
+ "title": "Expanding on your answer above, what are the one or two most important goals this project should achieve?",
+ "type": "textbox",
+ "summaryTitle": "Project Goals",
+ "required": true,
+ "validationError": "Please, provide goals for your project"
+ },
+ {
+ "fieldName": "details.dsSprint.problemDesc",
+ "icon": "question",
+ "description": "",
+ "title": "Provide a descriptive background of the problem.",
+ "type": "textbox",
+ "summaryTitle": "Problem Description",
+ "required": true,
+ "validationError": "Please, provide descriptive background for your project"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "background",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.dsSprint.academicPapers",
+ "icon": "question",
+ "options": [
+ {
+ "description": "",
+ "label": "Yes",
+ "value": "yes"
+ },
+ {
+ "description": "",
+ "label": "No",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "title": "Are there academic papers or other sources that should be considered as inputs for your project?",
+ "type": "radio-group",
+ "summaryTitle": "Academic Papers"
+ },
+ {
+ "condition": "(details.dsSprint.academicPapers == 'yes')",
+ "fieldName": "details.dsSprint.urls",
+ "icon": "question",
+ "description": "",
+ "theme": "light",
+ "title": "Please list URLs to academic papers or other sources. ",
+ "type": "textbox",
+ "summaryTitle": "Academic URLs",
+ "required": true,
+ "validationError": "Please, provide URLs to your academic papers"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "academicPapers",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.dsSprint.preferredTech",
+ "icon": "question",
+ "options": [
+ {
+ "description": "",
+ "label": "Yes",
+ "value": "yes"
+ },
+ {
+ "description": "",
+ "label": "No",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "title": "Do you have a preferred technologies that should be used for development?",
+ "type": "radio-group",
+ "summaryTitle": "Do you have Preferred Technology"
+ },
+ {
+ "condition": "( details.dsSprint.preferredTech == 'yes')",
+ "fieldName": "details.dsSprint.preferredTechnologies",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Python",
+ "value": "python"
+ },
+ {
+ "label": "R and derivatives",
+ "value": "rDerivatives"
+ },
+ {
+ "label": "Jupyter Notebook",
+ "value": "jupyter"
+ },
+ {
+ "label": "Java",
+ "value": "java"
+ },
+ {
+ "label": "C++",
+ "value": "cpp"
+ },
+ {
+ "label": "Other",
+ "value": "other"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "title": "Indicate your preferred technologies",
+ "type": "checkbox-group",
+ "summaryTitle": "Preferred Technology",
+ "introduction": "Select your preferred scoring system(s):",
+ "validationError": "Please, select the preffered technologies",
+ "required": true
+ },
+ {
+ "condition": "details.dsSprint.preferredTechnologies contains 'other'",
+ "fieldName": "details.dsSprint.techPlatforms",
+ "icon": "question",
+ "description": "",
+ "title": "Describe which technologies or platforms you’d like to use",
+ "type": "textbox",
+ "summaryTitle": "Other Technologies",
+ "validationError": "Please, provide technologies or platforms you’d like to use"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "preferredTechnology",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "condition": "!(details.dsSprint.preferredTechnologies hasLength 0)",
+ "fieldName": "details.dsSprint.selectedTechRequired",
+ "icon": "question",
+ "options": [
+ {
+ "description": "",
+ "label": "Required",
+ "value": "required"
+ },
+ {
+ "description": "",
+ "label": "Optional",
+ "value": "optional"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "title": "Are the selected technologies required, or optional?",
+ "type": "radio-group",
+ "summaryTitle": "Technologies Required/Optional ?"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "selectedTechRequired",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.dsSprint.openSourceLibraries",
+ "icon": "question",
+ "options": [
+ {
+ "description": "",
+ "label": "Open source is acceptable",
+ "value": "openSourceAcceptable"
+ },
+ {
+ "description": "",
+ "label": "Open source is acceptable in general but I want to approve specific libraries",
+ "value": "openSourceSpecificLibraries"
+ },
+ {
+ "description": "",
+ "label": "Open source is not acceptable",
+ "value": "openSourceUnacceptable"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "title": "By default, Topcoder will employ open source libraries when the use of them improves outcome or speed.",
+ "type": "radio-group",
+ "summaryTitle": "Open Source",
+ "introduction": "Please indicate your preference for open source libraries."
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "openSourceLibraries",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "minLabel": "See Many Concepts",
+ "fieldName": "details.dsSprint.outcome",
+ "max": 100,
+ "icon": "question",
+ "description": "",
+ "title": "What outcome is more important?",
+ "type": "slider-standard",
+ "summaryTitle": "Outcome",
+ "maxLabel": "See Best Implementations",
+ "required": true,
+ "validationError": "Please provide expected hours of execution",
+ "min": 1,
+ "theme": "light",
+ "step": 1,
+ "introduction": "Topcoder’s deliverables can be adjusted to produce many concepts exploring possible solutions to a problem, or to produce focused proofs of concept based on a given technology stack or problem statement. Drag the tab below towards the most appropriate answer."
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "outcome",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.dsSprint.dataAvailable",
+ "icon": "question",
+ "options": [
+ {
+ "description": "",
+ "label": "Yes",
+ "value": "yes"
+ },
+ {
+ "description": "",
+ "label": "No",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "title": "Do you have data that you can provide?",
+ "type": "radio-group",
+ "summaryTitle": "Data Available"
+ },
+ {
+ "condition": "(details.dsSprint.dataAvailable == 'yes')",
+ "fieldName": "details.dsSprint.dataFormat",
+ "icon": "question",
+ "description": "",
+ "title": "Describe the data’s format, size, and the steps you’ll need to take to share it.",
+ "type": "textbox",
+ "summaryTitle": "Data format & other details"
+ },
+ {
+ "condition": "(details.dsSprint.dataAvailable == 'yes')",
+ "fieldName": "details.dsSprint.pIIData",
+ "icon": "question",
+ "options": [
+ {
+ "description": "",
+ "label": "Yes",
+ "value": "yes"
+ },
+ {
+ "description": "",
+ "label": "No",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "title": "Does your data contain PII?",
+ "type": "radio-group",
+ "summaryTitle": "PII Data"
+ },
+ {
+ "condition": "(details.dsSprint.dataAvailable == 'yes')",
+ "fieldName": "details.dsSprint.dataModifications",
+ "icon": "question",
+ "options": [
+ {
+ "description": "",
+ "label": "Yes",
+ "value": "yes"
+ },
+ {
+ "description": "",
+ "label": "No",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "title": "Does your data need to be further obfuscated or privatized",
+ "type": "radio-group",
+ "summaryTitle": "Data Obfuscated/Privatized"
+ },
+ {
+ "condition": "(details.dsSprint.dataModifications == 'yes')",
+ "fieldName": "details.dsSprint.dataModificationsDesc",
+ "icon": "question",
+ "description": "",
+ "theme": "light",
+ "title": "Briefly describe the additional obfuscation/privatization required.",
+ "type": "textbox",
+ "summaryTitle": "Obfuscation/Privatization Description"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "dataDetails",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.dsSprint.criteria",
+ "icon": "question",
+ "description": "Consider how you will differentiate between first and second place solutions",
+ "title": "Describe the criteria you would like to use for deciding winning options.",
+ "type": "textbox",
+ "summaryTitle": "Winning Criteria",
+ "required": true,
+ "validationError": "Please, describe the criteria for deciding winning options"
+ },
+ {
+ "fieldName": "details.dsSprint.notes",
+ "icon": "question",
+ "description": "",
+ "title": "Notes: Anything else you’d like to describe?",
+ "type": "textbox",
+ "summaryTitle": "Notes"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "criteriaAndNotes",
+ "type": "questions"
+ }
+ ],
+ "description": "",
+ "wizard": {
+ "previousStepVisibility": "write",
+ "enabled": true
+ },
+ "id": "appDefinition",
+ "title": "Data Science Sprint",
+ "required": true
+ },
+ {
+ "subSections": [
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "static",
+ "content": "
Your Project Estimate
"
+ }
+ ],
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "type": "portal",
+ "content": [
+ {
+ "sectionIndex": 1
+ },
+ {
+ "sectionIndex": 3
+ }
+ ]
+ },
+ {
+ "condition": "PROD_PREP_NOT_REQUIRED",
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "estimation",
+ "title": "Your project timeline",
+ "deliverables": [
+ {
+ "id": "comp-viz-design",
+ "deliverableKey": "comp-viz-poc",
+ "title": "Poc",
+ "enableCondition": "HAS_POC_DELIVERABLE"
+ },
+ {
+ "id": "comp-viz-research-grade",
+ "deliverableKey": "comp-viz-research-grade",
+ "title": "Research Grade",
+ "enableCondition": "HAS_RESEARCH_GRADE_DELIVERABLE"
+ }
+ ]
+ }
+ ],
+ "type": "questions"
+ }
+ ],
+ "hiddenOnEdit": true,
+ "footer": {
+ "content": ""
+ },
+ "nextButtonText": "Save my project",
+ "id": "summary-final",
+ "hideFormHeader": true
+ }
+ ],
+ "baseTimeEstimateMax": 6,
+ "priceConfigOpt": null
+ },
+ "name": "DS Sprint test",
+ "disabled": false,
+ "id": 214,
+ "category": "scoped-solutions",
+ "key": "ds_sprint_test",
+ "phases": {
+ "1-dev-iteration-i": {
+ "duration": 25,
+ "name": "Dev Iteration",
+ "products": [
+ {
+ "id": 29,
+ "productKey": "development-iteration-5-milestones"
+ }
+ ]
+ }
+ },
+ "updatedAt": "2020-01-22T13:22:41.143Z",
+ "info": "Data Science Sprint"
+ },
+ {
+ "metadata": {},
+ "subCategory": null,
+ "aliases": [
+ "generic-development",
+ "generic_dev",
+ "stest"
+ ],
+ "updatedBy": 40051333,
+ "question": "Development Integration",
+ "hidden": false,
+ "icon": "../../assets/icons/product-dev-other.svg",
+ "priceConfig": null,
+ "deletedBy": null,
+ "planConfig": null,
+ "createdAt": "2018-06-22T05:46:23.000Z",
+ "deletedAt": null,
+ "form": null,
+ "createdBy": 40051333,
+ "scope": {
+ "sections": [
+ {
+ "subSections": [
+ {
+ "fieldName": "name",
+ "description": "",
+ "id": "projectName",
+ "title": "Project Name",
+ "type": "project-name",
+ "required": true,
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.primaryTarget",
+ "icon": "question",
+ "options": [
+ {
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "icon": "IconTechOutlineMobile",
+ "title": "Phone",
+ "value": "phone",
+ "desc": "iOS, Android, Hybrid"
+ },
+ {
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "icon": "IconTechOutlineTablet",
+ "title": "Tablet",
+ "value": "tablet",
+ "desc": "iOS, Android, Hybrid"
+ },
+ {
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "icon": "IconTechOutlineDesktop",
+ "title": "Desktop",
+ "value": "desktop",
+ "desc": "all OS"
+ },
+ {
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "icon": "IconTechOutlineWatchApple",
+ "title": "Wearable",
+ "value": "wearable",
+ "desc": "Watch OS, Android Wear"
+ }
+ ],
+ "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.",
+ "title": "Which is your primary device target?",
+ "type": "tiled-radio-group",
+ "required": true,
+ "validationError": "Please let us know the target device"
+ },
+ {
+ "fieldName": "description",
+ "validationErrors": {
+ "isRequired": "Please provide a description",
+ "minLength": "Please enter at least 160 characters"
+ },
+ "description": "Brief Description",
+ "id": "projectInfo",
+ "validations": "isRequired,minLength:160",
+ "title": "Description",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.appDefinition.goal.value",
+ "icon": "question",
+ "description": "Describe your objectives for creating this application",
+ "title": "What is the goal of your application? How will people use it?",
+ "type": "textbox",
+ "required": true,
+ "validationError": "Please let us know the goal of your application"
+ },
+ {
+ "fieldName": "details.appDefinition.users.value",
+ "icon": "question",
+ "description": "Describe the roles and needs of your target users",
+ "title": "Who are the users of your application? ",
+ "type": "textbox",
+ "required": true,
+ "validationError": "Please let us know users of your application"
+ }
+ ],
+ "description": "",
+ "id": "questions",
+ "title": "Questions",
+ "type": "questions",
+ "required": true
+ },
+ {
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)",
+ "id": "notes",
+ "title": "Notes",
+ "type": "notes"
+ }
+ ],
+ "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.",
+ "id": "appDefinition",
+ "title": "Development Integration",
+ "required": true
+ }
+ ]
+ },
+ "name": "Development Integration",
+ "disabled": false,
+ "id": 11,
+ "category": "app_dev",
+ "key": "generic_dev",
+ "phases": {
+ "1-dev-iteration-i": {
+ "duration": 25,
+ "name": "Dev Itegration",
+ "products": [
+ {
+ "id": 25,
+ "productKey": "design-iteration-2-milestones"
+ }
+ ]
+ },
+ "2-dev-iteration-ii": {
+ "duration": 25,
+ "name": "Dev Itegration",
+ "products": [
+ {
+ "id": 25,
+ "productKey": "design-iteration-2-milestones"
+ }
+ ]
+ }
+ },
+ "updatedAt": "2020-01-22T13:22:41.146Z",
+ "info": "Get help with any part of your app or software"
+ },
+ {
+ "metadata": {},
+ "subCategory": null,
+ "aliases": [
+ "test_dependent_questions_v2_none",
+ "test-dependent-questions-v2-none"
+ ],
+ "updatedBy": 40051333,
+ "question": "What kind of development do you need?",
+ "hidden": true,
+ "icon": "../../assets/icons/product-dev-other.svg",
+ "priceConfig": null,
+ "deletedBy": null,
+ "planConfig": null,
+ "createdAt": "2018-12-15T04:55:18.000Z",
+ "deletedAt": null,
+ "form": null,
+ "createdBy": 40051333,
+ "scope": {
+ "wizard": {
+ "previousStepVisibility": "none",
+ "enabled": true
+ },
+ "sections": [
+ {
+ "subSections": [
+ {
+ "fieldName": "name",
+ "description": "",
+ "id": "projectName",
+ "title": "Project Names",
+ "type": "project-name-advanced",
+ "required": true,
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "description",
+ "validationErrors": {
+ "isRequired": "Please provide a description",
+ "minLength": "Please enter at least 160 characters"
+ },
+ "description": "Please describe the testing application (background) and objectives of this test cycle. Please describe the users of this application and any other details that will help us understand your project.",
+ "id": "projectInfo",
+ "validations": "isRequired,minLength:160",
+ "title": "Project Type/Overview",
+ "type": "textbox",
+ "required": true
+ }
+ ],
+ "description": "",
+ "id": "user",
+ "title": "Questions",
+ "type": "questions",
+ "required": true
+ },
+ {
+ "hideTitle": false,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.isLive",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "true"
+ },
+ {
+ "label": "No",
+ "value": "false"
+ }
+ ],
+ "description": "",
+ "title": "Is this a live application (online/production)?",
+ "type": "radio-group",
+ "required": true,
+ "validationError": "Please let us know if you have test cases."
+ },
+ {
+ "condition": "details.appDefinition.isLive == false",
+ "fieldName": "details.appDefinition.deployNeeded",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "true"
+ },
+ {
+ "label": "No",
+ "value": "false"
+ }
+ ],
+ "description": "",
+ "title": "If answer to above is ‘No’, do we need to deploy the app for testing?",
+ "type": "radio-group"
+ },
+ {
+ "condition": "details.appDefinition.deployNeeded == true",
+ "fieldName": "details.appDefinition.deployActions",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "true"
+ },
+ {
+ "label": "No",
+ "value": "false"
+ }
+ ],
+ "description": "Please describe if can’t directly install the app using IPA/APK, using app store, google play store",
+ "title": "If needed to deploy, are there special actions required to install/deploy the app? ",
+ "type": "radio-group"
+ },
+ {
+ "condition": "details.appDefinition.deployActions == true",
+ "fieldName": "details.appDefinition.deployActionsDetails",
+ "description": "Please describe if can’t directly install the app using IPA/APK, using app store, google play store",
+ "title": "If Yes, Please Describe ",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.appDefinition.createAccount",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "true"
+ },
+ {
+ "label": "No",
+ "value": "false"
+ }
+ ],
+ "description": "",
+ "title": "Do users need to create accounts for testing (vs. you providing test accounts)? ",
+ "type": "radio-group"
+ },
+ {
+ "fieldName": "details.appDefinition.restrictions",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "true"
+ },
+ {
+ "label": "No",
+ "value": "false"
+ }
+ ],
+ "title": "Are there any other restrictions?",
+ "type": "radio-group"
+ },
+ {
+ "condition": "details.appDefinition.restrictions == true",
+ "fieldName": "details.appDefinition.restrictionsDescribed",
+ "title": "If yes, Please describe",
+ "type": "textbox"
+ }
+ ],
+ "description": "",
+ "wizard": {
+ "enabled": false
+ },
+ "id": "application-information",
+ "title": "Application Information",
+ "type": "questions",
+ "required": false
+ },
+ {
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g. links to documents or existing applications)",
+ "id": "notes",
+ "title": "Notes",
+ "type": "notes"
+ }
+ ],
+ "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.",
+ "wizard": {
+ "enabled": true
+ },
+ "id": "appDefinition",
+ "title": "Website Development",
+ "required": true
+ },
+ {
+ "subSections": [
+ {
+ "hideTitle": false,
+ "questions": [
+ {
+ "fieldName": "details.techstack.languages",
+ "title": "Programming Languages",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.techstack.frameworks",
+ "title": "Frameworks",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.techstack.Database",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.techstack.server",
+ "title": "Server",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.techstack.hosting",
+ "title": "Hosting Environment",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.techstack.others",
+ "title": "Others",
+ "type": "textbox"
+ }
+ ],
+ "description": "Do you have a preferred technology stack? If yes, please list those requirements here:",
+ "wizard": {
+ "enabled": false
+ },
+ "id": "techStackGeneral",
+ "title": "Technology Stack (General) - Do you have a preferred technology stack? If yes, please list them here:",
+ "type": "questions",
+ "required": false
+ },
+ {
+ "hideTitle": false,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.testType",
+ "icon": "question",
+ "options": [
+ {
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "icon": "icon-test-unstructured",
+ "title": "Unstructured",
+ "value": "unstructured",
+ "desc": ""
+ },
+ {
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "icon": "icon-test-structured",
+ "title": "Structured",
+ "value": "structured",
+ "desc": ""
+ },
+ {
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "icon": "icon-dont-know",
+ "title": "Do not know",
+ "value": "dontKnow",
+ "desc": ""
+ }
+ ],
+ "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.",
+ "title": "What kind of crowd testing are you interested in?",
+ "type": "tiled-radio-group",
+ "required": true,
+ "validationError": "Please let us know what kind of testing you would like to execute"
+ },
+ {
+ "condition": "details.appDefinition.testType == structured",
+ "fieldName": "details.appDefinition.structuredTestsHelp",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "true"
+ },
+ {
+ "label": "No",
+ "value": "false"
+ }
+ ],
+ "title": "If Structured, do you require help developing the test cases?",
+ "type": "radio-group"
+ },
+ {
+ "condition": "details.appDefinition.structuredTestsHelp == false",
+ "fieldName": "details.appDefinition.prePreparedTestcases",
+ "title": "If No, how will you provide the test cases (Excel file, Google Doc, Other etc…)?",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.appDefinition.automatedTestingRequired",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "true"
+ },
+ {
+ "label": "No",
+ "value": "false"
+ }
+ ],
+ "title": "Will testing be automated (using selenium or similar tools)?",
+ "type": "radio-group"
+ },
+ {
+ "condition": "details.appDefinition.automatedTestingRequired == true",
+ "fieldName": "details.appDefinition.automatedTestingDesc",
+ "title": "If ‘Yes’, please describe",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.appDefinition.targetDevices",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Desktop",
+ "value": "desktop"
+ },
+ {
+ "label": "Tablet",
+ "value": "tablet"
+ },
+ {
+ "label": "Mobile",
+ "value": "mobile"
+ }
+ ],
+ "description": "",
+ "title": "What’s the target device(s)?",
+ "type": "checkbox-group"
+ },
+ {
+ "condition": "details.appDefinition.targetDevices contains 'mobile'",
+ "fieldName": "details.appDefinition.specificDevices",
+ "icon": "question",
+ "options": [
+ {
+ "label": "iPad Air",
+ "value": "ipadair"
+ },
+ {
+ "label": "iPad Air2",
+ "value": "ipadair2"
+ },
+ {
+ "label": "iPad Pro",
+ "value": "ipadpro"
+ },
+ {
+ "label": "iPhone 7",
+ "value": "iphone7"
+ },
+ {
+ "label": "iPhone 8",
+ "value": "iphone8"
+ },
+ {
+ "label": "iPhone X",
+ "value": "iphonex"
+ },
+ {
+ "label": "iOS 10+",
+ "value": "ios"
+ },
+ {
+ "label": "Android 7+",
+ "value": "android"
+ },
+ {
+ "label": "Others",
+ "value": "others"
+ }
+ ],
+ "description": "",
+ "title": "Specific mobile devices/OSs ?",
+ "type": "checkbox-group"
+ },
+ {
+ "condition": "( details.appDefinition.targetDevices contains 'mobile' ) && ( details.appDefinition.specificDevices contains 'others' )",
+ "fieldName": "details.appDefinition.specificDevice.others",
+ "title": "If ‘Others’, please describe",
+ "type": "textbox"
+ },
+ {
+ "condition": "details.appDefinition.targetDevices contains 'mobile'",
+ "fieldName": "details.appDefinition.orientation",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Portrait",
+ "value": "portrait"
+ },
+ {
+ "label": "Landscape",
+ "value": "landscape"
+ },
+ {
+ "label": "Both",
+ "value": "both"
+ }
+ ],
+ "description": "",
+ "title": "For Mobile Testing, what’s the orientation?",
+ "type": "checkbox-group"
+ },
+ {
+ "fieldName": "details.appDefinition.browsers",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Google Chrome",
+ "value": "chrome"
+ },
+ {
+ "label": "Firefox",
+ "value": "firefox"
+ },
+ {
+ "label": "Safari",
+ "value": "safari"
+ },
+ {
+ "label": "Microsoft Edge",
+ "value": "edge"
+ },
+ {
+ "label": "IE11",
+ "value": "ie"
+ }
+ ],
+ "description": "",
+ "title": "What are the browser requirements?",
+ "type": "checkbox-group"
+ },
+ {
+ "fieldName": "details.appDefinition.resolutions",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "true"
+ },
+ {
+ "label": "No",
+ "value": "false"
+ }
+ ],
+ "title": "Would you like to test on different screen sizes/resolutions? ",
+ "type": "radio-group"
+ },
+ {
+ "condition": "details.appDefinition.resolutions == true",
+ "fieldName": "details.appDefinition.resolutionsDesc",
+ "title": "If ‘Yes’, please describe",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.appDefinition.geography",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "true"
+ },
+ {
+ "label": "No",
+ "value": "false"
+ }
+ ],
+ "title": "Should testing target any specific country or geography?",
+ "type": "radio-group"
+ },
+ {
+ "condition": "details.appDefinition.geography == true",
+ "fieldName": "details.appDefinition.geographyDesc",
+ "title": "If ‘Yes’, please describe",
+ "type": "textbox"
+ }
+ ],
+ "description": "",
+ "wizard": {
+ "enabled": true
+ },
+ "id": "testing-nformation",
+ "title": "Testing Information",
+ "type": "questions",
+ "required": false
+ },
+ {
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g. links to documents or existing applications)",
+ "id": "notes",
+ "title": "Design Specs Notes",
+ "type": "notes"
+ }
+ ],
+ "description": "Please answer a few basic questions about your design specs.",
+ "wizard": {
+ "enabled": true
+ },
+ "id": "designSpecification",
+ "title": "Design Specs",
+ "required": true
+ }
+ ]
+ },
+ "name": "Test Project Intake Dev",
+ "disabled": false,
+ "id": 69,
+ "category": "app_dev",
+ "key": "test_dev_v2_none",
+ "phases": {
+ "1-dev-iteration-i": {
+ "duration": 25,
+ "name": "Dev Iteration",
+ "products": [
+ {
+ "id": 29,
+ "productKey": "development-iteration-5-milestones"
+ }
+ ]
+ }
+ },
+ "updatedAt": "2020-01-22T13:22:41.145Z",
+ "info": "Test Dependent questions Project"
+ },
+ {
+ "metadata": {},
+ "subCategory": null,
+ "aliases": [
+ "prepared-conditions"
+ ],
+ "updatedBy": 40051333,
+ "question": "test",
+ "hidden": true,
+ "icon": "test",
+ "priceConfig": null,
+ "deletedBy": null,
+ "planConfig": null,
+ "createdAt": "2019-04-23T07:18:51.000Z",
+ "deletedAt": null,
+ "form": null,
+ "createdBy": 40051333,
+ "scope": {
+ "preparedConditions": {
+ "TARGET_DEVICE_MOBILE": "( details.appDefinition.targetDevices contains 'mobile' )",
+ "HAS_DESIGN_DELIVERABLE": "(details.appDefinition.deliverables contains 'design')",
+ "DESIGN_GOAL_CONCEPT_DESIGN": "( details.appDefinition.designGoal == 'concept-designs' )",
+ "TARGET_DEVICE_TABLET": "( details.appDefinition.targetDevices contains 'tablet' )",
+ "HAS_DEV_QA_DELIVERABLE": "(details.appDefinition.deliverables contains 'dev-qa')",
+ "WANNA_MOBILE_APP": "( details.appDefinition.mobilePlatforms contains 'ios' ) || ( details.appDefinition.mobilePlatforms contains 'android' )"
+ },
+ "basePriceEstimate": 21000,
+ "wizard": {
+ "previousStepVisibility": "none",
+ "enabled": true
+ },
+ "baseTimeEstimateMin": 3,
+ "sections": [
+ {
+ "subSections": [
+ {
+ "hideTitle": true,
+ "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.",
+ "theme": "light",
+ "type": "message"
+ },
+ {
+ "questions": [
+ {
+ "fieldName": "name",
+ "theme": "light",
+ "validations": "isRequired",
+ "type": "textinput",
+ "title": "What is the name of your app?",
+ "validationError": "Please, provide a name to your project",
+ "required": true
+ },
+ {
+ "fieldName": "description",
+ "validationErrors": {
+ "isRequired": "Please provide a description",
+ "minLength": "Please enter at least 160 characters"
+ },
+ "theme": "light",
+ "validations": "isRequired,minLength:160",
+ "type": "textbox",
+ "title": "Please describe your app using 2-3 sentences",
+ "required": true
+ },
+ {
+ "fieldName": "details.utm.code",
+ "theme": "light",
+ "type": "textinput",
+ "title": "Do you have a Reference code? (optional)"
+ }
+ ],
+ "title": "App details",
+ "type": "questions"
+ }
+ ],
+ "statusText": "Let's go",
+ "id": "project-basic-details",
+ "title": "Basic Details"
+ },
+ {
+ "subSections": [
+ {
+ "questions": [
+ {
+ "hiddenOnEdit": true,
+ "type": "static",
+ "content": "
{{name}}
{{description}}
"
+ },
+ {
+ "help": {
+ "linkTitle": "What work is right for me?",
+ "title": "What work is right for me?",
+ "content": "
Section One Title Goes Here
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.
"
+ },
+ "fieldName": "details.appDefinition.deliverables",
+ "icon": "question",
+ "options": [
+ {
+ "summaryLabel": "Design",
+ "description": "We will design your app experience, focusing on the major features and experiences.",
+ "label": "Design",
+ "value": "design"
+ },
+ {
+ "summaryLabel": "Development",
+ "description": "We will develop your app based on existing designs. Building a reliable application for you is our priority. We include standard quality assurance testing at no additional cost when doing any development.",
+ "label": "App Development",
+ "value": "dev-qa"
+ },
+ {
+ "disableCondition": "HAS_DEV_QA_DELIVERABLE",
+ "summaryLabel": "QA",
+ "autoSelectCondition": "HAS_DEV_QA_DELIVERABLE",
+ "description": "We will extensively test your source code on multiple environments and eliminate any bugs. This will make sure your app is 100% ready for the prime-time.",
+ "label": "QA, Fixes & Enhancements",
+ "value": "qa"
+ },
+ {
+ "description": "Our team will ensure that your code is packaged and distributed correctly on the all target platforms and/or App Stores.",
+ "label": "Deployment",
+ "value": "deployment"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "What do you need?",
+ "type": "checkbox-group",
+ "summaryTitle": "Work needed",
+ "validationError": "Please, choose what do you need.",
+ "required": true
+ },
+ {
+ "fieldName": "details.appDefinition.designGoal",
+ "icon": "question",
+ "description": "",
+ "title": "What is the goal of your designs?",
+ "type": "radio-group",
+ "summaryTitle": "Design goal",
+ "validationError": "Please, choose you design goal.",
+ "required": true,
+ "help": {
+ "linkTitle": "What should I choose?",
+ "title": "What should I choose?",
+ "content": "
Section One Title Goes Here
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": "HAS_DESIGN_DELIVERABLE",
+ "options": [
+ {
+ "disableCondition": "HAS_DEV_QA_DELIVERABLE",
+ "summaryLabel": "Concept",
+ "description": "We will produce high-quality screens with different directions that would help you define your product direction, and present to stakeholders.",
+ "label": "Concept exploration",
+ "value": "concept-designs"
+ },
+ {
+ "summaryLabel": "Comprehensive design",
+ "autoSelectCondition": "HAS_DEV_QA_DELIVERABLE",
+ "description": "Our designers will create all the design deliverables for your app, including app icons, design specifications, and design assets.",
+ "label": "Comprehensive design for development",
+ "value": "comprehensive-designs"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ },
+ {
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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": "DESIGN_GOAL_CONCEPT_DESIGN",
+ "fieldName": "details.appDefinition.quickTurnaround",
+ "icon": "question",
+ "options": [
+ {
+ "summaryLabel": "3 days",
+ "minTimeUp": 0,
+ "description": "Our designer consultants will work with you to formulate the app screens and deliver the final concepts within only 3 short days.",
+ "label": "Yes, I need designs ASAP",
+ "value": "under-3-days",
+ "maxTimeUp": 0
+ },
+ {
+ "summaryLabel": "7 days",
+ "minTimeUp": 3,
+ "description": "Topcoder will create agency-quality design variants for your app within 7 days.",
+ "label": "A week works for me!",
+ "value": "under-6-days",
+ "maxTimeUp": 3
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "No problem! We can get you high-quality concept designs within a week. Do you need designs faster than this?",
+ "type": "radio-group",
+ "validationError": "Please, choose your time expectations.",
+ "required": true
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "deliverables",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.targetDevices",
+ "icon": "question",
+ "description": "Select maximum 2 types of platforms 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.",
+ "title": "Where should your app work?",
+ "type": "checkbox-group",
+ "summaryTitle": "Devices",
+ "validationError": "Please, select devices",
+ "required": true,
+ "help": {
+ "linkTitle": "What to choose",
+ "title": "What to choose",
+ "content": "
Section One Title Goes Here
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.deliverables contains 'design') || (details.appDefinition.deliverables contains 'dev-qa') )",
+ "affectsQuickQuote": true,
+ "options": [
+ {
+ "description": "Your app would work in all mobile devices. Our most requested option.",
+ "label": "Mobile",
+ "value": "mobile"
+ },
+ {
+ "description": "Your app would be optimized for the larger form-factor of a tablet device.",
+ "label": "Tablet",
+ "value": "tablet"
+ },
+ {
+ "description": "We will deliver a native desktop app, working under the selected desktop OS.",
+ "label": "Desktop",
+ "value": "desktop"
+ },
+ {
+ "description": "Your app would be accessed via any web browser on desktop and mobile devices alike.",
+ "label": "Web Browser",
+ "value": "web-browser"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ },
+ {
+ "help": {
+ "linkTitle": "Which platforms to select?",
+ "title": "Which platforms to select?",
+ "content": "
Section One Title Goes Here
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": "TARGET_DEVICE_MOBILE || TARGET_DEVICE_TABLET",
+ "fieldName": "details.appDefinition.mobilePlatforms",
+ "affectsQuickQuote": true,
+ "icon": "question",
+ "options": [
+ {
+ "description": "Your app would work on iOS phones. We will develop it using Objective-C and SWIFT",
+ "label": "iOS",
+ "value": "ios"
+ },
+ {
+ "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.",
+ "label": "Android",
+ "value": "android"
+ }
+ ],
+ "description": "Select maximum 2 types of platforms 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.",
+ "theme": "light",
+ "title": "What type of platform do you need?",
+ "type": "checkbox-group",
+ "summaryTitle": "Mobile platforms"
+ },
+ {
+ "help": {
+ "linkTitle": "Which OS to select?",
+ "title": "Which OS to select?",
+ "content": "
Section One Title Goes Here
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": "WANNA_MOBILE_APP",
+ "fieldName": "details.appDefinition.nativeHybrid",
+ "icon": "question",
+ "options": [
+ {
+ "description": "A native mobile app is a smartphone application that is coded in a specific programming language, such as Objective C for iOS or Java for Android operating systems.",
+ "label": "Native",
+ "value": "native"
+ },
+ {
+ "description": "A hybrid application (hybrid app) is one that combines elements of both native and Web applications.",
+ "label": "Hybrid",
+ "value": "hybrid"
+ }
+ ],
+ "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.",
+ "theme": "light",
+ "title": "Does your app need to be Native or Hybrid?",
+ "type": "radio-group"
+ },
+ {
+ "help": {
+ "linkTitle": "What is responsive?",
+ "title": "What is responsive?",
+ "content": "
Section One Title Goes Here
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.targetDevices contains 'web-browser' )",
+ "fieldName": "details.appDefinition.progressiveResponsive",
+ "icon": "question",
+ "options": [
+ {
+ "description": "Your app would be optimized for all devices desktops.",
+ "label": "Progressive",
+ "value": "progressive"
+ },
+ {
+ "description": "Your app would be optimized for all devices from mobile phones to large desktops.",
+ "label": "Responsive",
+ "value": "responsive"
+ }
+ ],
+ "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.",
+ "theme": "light",
+ "title": "Should your web app be progressive or responsive?",
+ "type": "radio-group"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "target-devices-os",
+ "type": "questions"
+ }
+ ],
+ "description": "",
+ "wizard": {
+ "previousStepVisibility": "write",
+ "enabled": true
+ },
+ "id": "appDefinition",
+ "title": "App Definition",
+ "required": true
+ },
+ {
+ "subSections": [
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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": "HAS_DESIGN_DELIVERABLE",
+ "fieldName": "details.appDefinition.addons.design",
+ "icon": "question",
+ "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.",
+ "theme": "light",
+ "title": "Design features",
+ "type": "add-ons",
+ "category": "design"
+ },
+ {
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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": "HAS_DEV_QA_DELIVERABLE",
+ "fieldName": "details.appDefinition.addons.development",
+ "icon": "question",
+ "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.",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "title": "Development features",
+ "type": "add-ons",
+ "category": "development"
+ },
+ {
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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.deliverables contains 'qa')",
+ "fieldName": "details.appDefinition.addons.qa",
+ "icon": "question",
+ "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.",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "title": "QA features",
+ "type": "add-ons",
+ "category": "qa"
+ },
+ {
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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.deliverables contains 'deployment')",
+ "fieldName": "details.appDefinition.addons.delivery",
+ "icon": "question",
+ "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.",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "title": "Delivery features",
+ "type": "add-ons",
+ "category": "deployment"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized",
+ "enabled": true
+ },
+ "type": "questions"
+ }
+ ],
+ "wizard": {
+ "enabled": true
+ },
+ "id": "add-ons",
+ "title": "Configure my app"
+ }
+ ],
+ "baseTimeEstimateMax": 6
+ },
+ "name": "Prepared conditions",
+ "disabled": false,
+ "id": 105,
+ "category": "app",
+ "key": "prepared-conditions",
+ "phases": {
+ "1-dev-iteration-i": {
+ "duration": 24,
+ "name": "Dev Iteration",
+ "products": [
+ {
+ "id": 29,
+ "productKey": "development-iteration-5-milestones"
+ }
+ ]
+ }
+ },
+ "updatedAt": "2020-01-22T13:22:41.145Z",
+ "info": "test"
+ },
+ {
+ "metadata": {},
+ "subCategory": null,
+ "aliases": [
+ "kubik-website",
+ "kubik_website"
+ ],
+ "updatedBy": 40051333,
+ "question": "What do you need to Develop?",
+ "hidden": true,
+ "icon": "../../assets/icons/product-cat-website.svg",
+ "priceConfig": null,
+ "deletedBy": null,
+ "planConfig": null,
+ "createdAt": "2018-11-13T10:54:47.000Z",
+ "deletedAt": null,
+ "form": null,
+ "createdBy": 40051333,
+ "scope": {
+ "sections": [
+ {
+ "subSections": [
+ {
+ "fieldName": "name",
+ "description": "",
+ "id": "projectName",
+ "title": "Project Name",
+ "type": "project-name-advanced",
+ "required": true,
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "description",
+ "validationErrors": {
+ "isRequired": "Please provide a description",
+ "minLength": "Please enter at least 160 characters"
+ },
+ "description": "Can you provide a brief summary of the application you’d like to develop?",
+ "id": "projectInfo",
+ "validations": "isRequired,minLength:160",
+ "title": "App Summary",
+ "type": "textbox",
+ "required": true
+ },
+ {
+ "fieldName": "details.appDefinition.appType",
+ "icon": "question",
+ "options": [
+ {
+ "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": "web"
+ },
+ {
+ "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.",
+ "value": "responsive"
+ },
+ {
+ "label": "Other Software - Any other type of software (i.e backend development, API development, etc.)",
+ "value": "other"
+ }
+ ],
+ "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. ",
+ "title": "App Type",
+ "type": "checkbox-group",
+ "required": true,
+ "validationError": "Please let us know the target 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"
+ }
+ ],
+ "description": "",
+ "id": "user",
+ "title": "Questions",
+ "type": "questions",
+ "required": true
+ },
+ {
+ "hideTitle": false,
+ "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"
+ }
+ ],
+ "description": "Please add your answers below. If you do not know the answer, please add “Open to suggestions from the community/looking for creative solutions",
+ "title": "Style Guide & Brand Guidelines",
+ "type": "questions",
+ "required": false
+ },
+ {
+ "hideTitle": false,
+ "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"
+ }
+ ],
+ "description": "Please select each for each user type/role. Please provide details on what the user/role should do in the Description column.",
+ "title": "User Roles. If the role is not applicable, please enter N/A",
+ "type": "questions",
+ "required": false
+ },
+ {
+ "hideTitle": false,
+ "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"
+ }
+ ],
+ "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.",
+ "title": "Integration Points",
+ "type": "questions",
+ "required": false
+ },
+ {
+ "hideTitle": false,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.screens",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Enterprise Login - Supports integration with an existing authorization/authentication mechanism.",
+ "value": "enterprise-login"
+ },
+ {
+ "label": "Email Login - Support sign in using an email address/password.",
+ "value": "email-login"
+ },
+ {
+ "label": "Social Login - Support register and login using third-party services such as Facebook, Twitter, and Google.",
+ "value": "social-login"
+ },
+ {
+ "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": "registration"
+ },
+ {
+ "label": "Invitations - Allow users to invite others to use your app via email. ",
+ "value": "invitations"
+ },
+ {
+ "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": "onboarding"
+ },
+ {
+ "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": "search"
+ },
+ {
+ "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": "location-based-services"
+ },
+ {
+ "label": "File Upload - Allow users to upload photos or other files.",
+ "value": "file-upload"
+ },
+ {
+ "label": "Notifications - Take advantage of notifications; for example, remind users to do certain tasks or update them on new content.",
+ "value": "notifications"
+ },
+ {
+ "label": "Dashboard - App must have a central dashboard where users can access functionality",
+ "value": "dashboard"
+ },
+ {
+ "label": "Tagging - Allow users to tag products, people or content; for example, in order to classify and easily retrieve notes.",
+ "value": "tagging"
+ },
+ {
+ "label": "Account Settings - Allow your users to adjust settings or specify preferences, such as communication frequency.",
+ "value": "account-settings"
+ },
+ {
+ "label": "Help/FAQs - Include a section dedicated to FAQ or Help content.",
+ "value": "Help/FAQs"
+ },
+ {
+ "label": "Marketplace - Allow users to buy, sell, or rent products or services.",
+ "value": "marketplace"
+ },
+ {
+ "label": "Ratings & Reviews - Let users rate or review people, products, or services.",
+ "value": "ratings-reviews"
+ },
+ {
+ "label": "Payments - Allow users to pay in some way; for example, using credit cards, PayPal, or Bitcoin.",
+ "value": "payments"
+ },
+ {
+ "label": "Shopping Cart - Allow users to save items before purchasing. Please specify your desired functionality below.",
+ "value": "shopping-cart"
+ },
+ {
+ "label": "Product Listing - Add this feature to shows lists of product or services, with individual detail pages for each one.",
+ "value": "product-listing"
+ },
+ {
+ "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": "activity-feed"
+ },
+ {
+ "label": "Profiles - Add this feature if your app requires users to have a profile, including the ability to edit it.",
+ "value": "profiles"
+ },
+ {
+ "label": "Messaging - Allow direct communication between two or more users.",
+ "value": "messaging"
+ },
+ {
+ "label": "Admin Tool - App must have an administrative tool or panel to enable direct management of users, content and the application.",
+ "value": "admin-tool"
+ },
+ {
+ "label": "Social Media Integration - App must integrate with social media providers (Facebook, Instagram, Twitter, Google+, etc)",
+ "value": "social-media-integration"
+ },
+ {
+ "label": "Reporting - App must have the ability to report/export data",
+ "value": "reporting"
+ },
+ {
+ "label": "Contact Us - App must have the ability to allow users to contact an administrator/send feedback to administrators.",
+ "value": "contact-us"
+ }
+ ],
+ "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. ",
+ "title": "Screen / Feature List",
+ "type": "checkbox-group"
+ }
+ ],
+ "description": "",
+ "id": "screen-features",
+ "title": "Screen and Features",
+ "type": "questions",
+ "required": false
+ },
+ {
+ "hideTitle": false,
+ "questions": [
+ {
+ "fieldName": "details.strategicassets.sfdc",
+ "title": "SFDC",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.strategicassets.guidewire",
+ "title": "Guidewire",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.strategicassets.tableau",
+ "title": "Tableau",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.strategicassets.sitecore",
+ "title": "Sitecore",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.strategicassets.innoveoskye",
+ "title": "Innoveo Skye",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.strategicassets.smartcommunications",
+ "title": "SmartCommunications",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.strategicassets.msdynamics",
+ "title": "MS Dynamics",
+ "type": "textbox"
+ }
+ ],
+ "description": "Do you have a preferred technology stack? If yes, please list those requirements here:",
+ "id": "techStackStrategicAssets",
+ "title": "Technology Stack (Strategic Assets)",
+ "type": "questions",
+ "required": false
+ },
+ {
+ "hideTitle": false,
+ "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"
+ },
+ {
+ "fieldName": "details.techstack.others",
+ "title": "Others",
+ "type": "textbox"
+ }
+ ],
+ "description": "Do you have a preferred technology stack? If yes, please list those requirements here:",
+ "id": "techStackGeneral",
+ "title": "Technology Stack (General) - Do you have a preferred technology stack? If yes, please list them here:",
+ "type": "questions",
+ "required": false
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.techFeatures",
+ "icon": "question",
+ "options": [
+ {
+ "label": "SSO Integration - App must integrate with enterprise single-sign-on capability.",
+ "value": "enterprise-login"
+ },
+ {
+ "label": "API Integration - App must integrate with a pre-existing API.",
+ "value": "api-integration"
+ },
+ {
+ "label": "Third Party System Integration - App must integrate with an external application or system and either retrieve or post data.",
+ "value": "third-party-system-integration"
+ },
+ {
+ "label": "Containerized Code - The codebase must be containerized via Docker to allow for easier deployment and maintenance.",
+ "value": "containerized-code"
+ },
+ {
+ "label": "Unit Tests - App must have unit tests to ensure code coverage.",
+ "value": "unit-tests"
+ },
+ {
+ "label": "Continuous Integration / Continuous Deployment - Establishment of a CI/CD pipeline.",
+ "value": "continuous-integration-/-continuous-deployment"
+ },
+ {
+ "label": "Analytics Implementation - Implementation of analytics to track user behavior and app usage.",
+ "value": "analytics-implementation"
+ },
+ {
+ "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": "email-(smtp-server)-setup"
+ },
+ {
+ "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": "offline-capability"
+ },
+ {
+ "label": "SMS Gateway Integration - App must integrate with an external SMS gateway/provider for notifications via SMS.",
+ "value": "sms-gateway-integration"
+ },
+ {
+ "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": "error-logging"
+ }
+ ],
+ "description": "Please select each required technology requirement above",
+ "title": "Technology Requirements",
+ "type": "checkbox-group"
+ }
+ ],
+ "description": "",
+ "id": "technology-requirements",
+ "title": "Technology Requirements",
+ "type": "questions",
+ "required": false
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.qaTesting.security",
+ "options": [
+ {
+ "label": "Standard Security - Select this option if your app requires standard security.",
+ "value": "standard"
+ },
+ {
+ "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": "enterprise"
+ },
+ {
+ "label": "Vulnerability Scanning - Vulnerability scanning is a security technique used to identify security weaknesses in a computer system.",
+ "value": "vulnerability"
+ },
+ {
+ "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": "auditing"
+ },
+ {
+ "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": "confidential"
+ }
+ ],
+ "description": "Please select each required security requirement above.",
+ "title": "Security Requirements",
+ "type": "checkbox-group"
+ },
+ {
+ "fieldName": "details.qaTesting.testing",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Real World Unstructured - Functional testing performed without test scripts. Users search on their own for bugs or usability issues.",
+ "value": "rw-unstructured"
+ },
+ {
+ "label": "Real World Testing - Structured - Test case based execution, covering all the functional requirements & cross-browser device testing.",
+ "value": "rw-structured"
+ },
+ {
+ "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": "testcases"
+ },
+ {
+ "label": "Test Data - Should we create test data as part of the project, or will you provide obfuscated test data?",
+ "value": "testdata"
+ },
+ {
+ "label": "User Count - How many users do you anticipate the application will have?",
+ "value": "usercount"
+ },
+ {
+ "label": "Performance Testing - Testing web application’s robustness, availability, and reliability for defined business scenarios and concurrent users.",
+ "value": "performanceTuning"
+ },
+ {
+ "label": "Performance Tuning - Analyze and identify performance issues, actionable items for improvement.",
+ "value": "performanceTesting"
+ }
+ ],
+ "description": "Please select each required QA requirement.",
+ "title": "Quality Assurance, Test Data & Performance Testing",
+ "type": "checkbox-group"
+ },
+ {
+ "fieldName": "details.qaTesting.uat",
+ "icon": "question",
+ "options": [
+ {
+ "label": "1 UAT/Beta Test Cycle.",
+ "value": "uat"
+ },
+ {
+ "label": "Implementation of Updates (update the app based on UAT/Beta Testing feedback)",
+ "value": "uat-updates"
+ }
+ ],
+ "description": "UAT is the process of sharing the final application with users and gathering feedback. Please select each required UAT requirement.",
+ "title": "User Acceptance / Beta Testing",
+ "type": "checkbox-group"
+ }
+ ],
+ "description": "",
+ "title": "Quality Assurance, Testing and Security",
+ "type": "questions"
+ },
+ {
+ "hideTitle": false,
+ "questions": [
+ {
+ "fieldName": "details.loadDetails.budget",
+ "icon": "question",
+ "options": [
+ {
+ "title": "Under $25K ",
+ "value": "upto-25"
+ },
+ {
+ "title": "$25K to $50K",
+ "value": "upto-50"
+ },
+ {
+ "title": "$50K to $75K",
+ "value": "upto-75"
+ },
+ {
+ "title": "$75K to $100K",
+ "value": "upto-100"
+ },
+ {
+ "title": "More than $100K",
+ "value": "above-100"
+ }
+ ],
+ "description": "How much budget do you have?",
+ "title": "Budget",
+ "type": "slide-radiogroup",
+ "required": true,
+ "validationError": "Please provide expected hours of execution"
+ },
+ {
+ "fieldName": "details.loadDetails.timeline",
+ "icon": "question",
+ "options": [
+ {
+ "title": "Under 1 month",
+ "value": "upto-1month"
+ },
+ {
+ "title": "1 to 2 months",
+ "value": "upto-2months"
+ },
+ {
+ "title": "2 to 3 months",
+ "value": "upto-3months"
+ },
+ {
+ "title": "3 to 6 months",
+ "value": "upto-6months"
+ }
+ ],
+ "description": "When do you need your solution?",
+ "title": "Timeline",
+ "type": "slide-radiogroup",
+ "required": true,
+ "validationError": "Please provide expected hours of execution"
+ }
+ ],
+ "description": "",
+ "title": "Budget and Timeline",
+ "type": "questions"
+ },
+ {
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g. links to documents or existing applications)",
+ "id": "notes",
+ "title": "Notes",
+ "type": "notes"
+ }
+ ],
+ "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.",
+ "id": "appDefinition",
+ "title": "Website Development",
+ "required": true
+ }
+ ]
+ },
+ "name": "Zurich Website",
+ "disabled": false,
+ "id": 26,
+ "category": "website",
+ "key": "website-default",
+ "phases": {
+ "2-front-end-development-i": {
+ "duration": 19,
+ "name": "Front-End Development, Pt. I",
+ "products": [
+ {
+ "id": 27,
+ "productKey": "development-iteration-3-milestones"
+ }
+ ]
+ },
+ "4-back-end-development-i": {
+ "duration": 19,
+ "name": "Back-End Development, Pt. I",
+ "products": [
+ {
+ "id": 27,
+ "productKey": "development-iteration-3-milestones"
+ }
+ ]
+ },
+ "3-front-end-development-ii": {
+ "duration": 19,
+ "name": "Front-End Development, Pt. II",
+ "products": [
+ {
+ "id": 27,
+ "productKey": "development-iteration-3-milestones"
+ }
+ ]
+ },
+ "5-back-end-development-ii": {
+ "duration": 19,
+ "name": "Back-End Development, Pt. II",
+ "products": [
+ {
+ "id": 27,
+ "productKey": "development-iteration-3-milestones"
+ }
+ ]
+ },
+ "1-app-design": {
+ "duration": 25,
+ "name": "Website Design",
+ "products": [
+ {
+ "id": 26,
+ "productKey": "design-iteration-3-milestones"
+ }
+ ]
+ },
+ "6-qa-and-bug-fixes": {
+ "duration": 24,
+ "name": "QA & Bug Fixes",
+ "products": [
+ {
+ "id": 30,
+ "productKey": "qa-iteration"
+ }
+ ]
+ }
+ },
+ "updatedAt": "2020-01-22T13:22:41.146Z",
+ "info": "Design and build the high-impact pages for your blog, online store, or company"
+ },
+ {
+ "metadata": {},
+ "subCategory": null,
+ "aliases": [
+ "api_development_new",
+ "api-development-new"
+ ],
+ "updatedBy": 40051333,
+ "question": "what",
+ "hidden": true,
+ "icon": "api",
+ "priceConfig": null,
+ "deletedBy": null,
+ "planConfig": null,
+ "createdAt": "2019-05-14T04:52:53.000Z",
+ "deletedAt": null,
+ "form": null,
+ "createdBy": 40051333,
+ "scope": {
+ "buildingBlocks": {
+ "FREE_SIZE_API_GATEWAY_NO_CA": {
+ "maxTime": 54,
+ "metadata": {
+ "deliverable": "api-gateway-dev-integration"
+ },
+ "price": "3143",
+ "minTime": 54,
+ "conditions": "( HAS_API_GATEWAY_DELIVERABLE && CA_NOT_NEEDED )"
+ },
+ "API_DEVELOPMENT_ADDON_CA": {
+ "maxTime": 10,
+ "metadata": {
+ "deliverable": "api-development",
+ "addonLocation": "details.apiDefinition.addons.api",
+ "addonProductKey": "additional-api-development"
+ },
+ "price": "2560",
+ "minTime": 10,
+ "conditions": "( HAS_API_DEVELOPMENT_ADDON && CA_NEEDED)"
+ },
+ "FREE_SIZE_API_DEVELOPMENT_NO_CA": {
+ "maxTime": 33,
+ "metadata": {
+ "deliverable": "api-development"
+ },
+ "price": "3361",
+ "minTime": 33,
+ "conditions": "( HAS_API_DEVELOPMENT_DELIVERABLE && CA_NOT_NEEDED )"
+ },
+ "API_INTEGRATION_ADDON_CA": {
+ "maxTime": 7,
+ "metadata": {
+ "deliverable": "api-integration",
+ "addonLocation": "details.apiDefinition.addons.api",
+ "addonProductKey": "additional-api-integration"
+ },
+ "price": "9415",
+ "minTime": 7,
+ "conditions": "( HAS_API_INTEGRATION_ADDON && CA_NEEDED)"
+ },
+ "FREE_SIZE_API_GATEWAY_CA": {
+ "maxTime": 54,
+ "metadata": {
+ "deliverable": "api-gateway-dev-integration"
+ },
+ "price": "1444",
+ "minTime": 54,
+ "conditions": "( HAS_API_GATEWAY_DELIVERABLE && CA_NEEDED )"
+ },
+ "FREE_SIZE_API_INTEGRATION_NO_CA": {
+ "maxTime": 34,
+ "metadata": {
+ "deliverable": "api-integration"
+ },
+ "price": "1286",
+ "minTime": 34,
+ "conditions": "( HAS_API_INTEGRATION_DELIVERABLE && CA_NOT_NEEDED )"
+ },
+ "API_DEVELOPMENT_ADDON_NO_CA": {
+ "maxTime": 10,
+ "metadata": {
+ "deliverable": "api-development",
+ "addonLocation": "details.apiDefinition.addons.api",
+ "addonProductKey": "additional-api-development"
+ },
+ "price": "4864",
+ "minTime": 10,
+ "conditions": "( HAS_API_DEVELOPMENT_ADDON && CA_NOT_NEEDED)"
+ },
+ "FREE_SIZE_API_INTEGRATION_CA": {
+ "maxTime": 34,
+ "metadata": {
+ "deliverable": "api-integration"
+ },
+ "price": "4310",
+ "minTime": 34,
+ "conditions": "( HAS_API_INTEGRATION_DELIVERABLE && CA_NEEDED )"
+ },
+ "API_INTEGRATION_ADDON_NO_CA": {
+ "maxTime": 7,
+ "metadata": {
+ "deliverable": "api-integration",
+ "addonLocation": "details.apiDefinition.addons.api",
+ "addonProductKey": "additional-api-integration"
+ },
+ "price": "6229",
+ "minTime": 7,
+ "conditions": "( HAS_API_INTEGRATION_ADDON && CA_NOT_NEEDED)"
+ },
+ "FREE_SIZE_API_DEVELOPMENT_CA": {
+ "maxTime": 33,
+ "metadata": {
+ "deliverable": "api-development"
+ },
+ "price": "9915",
+ "minTime": 33,
+ "conditions": "( HAS_API_DEVELOPMENT_DELIVERABLE && CA_NEEDED )"
+ }
+ },
+ "preparedConditions": {
+ "HAS_API_INTEGRATION_ADDON": "(details.apiDefinition.addons.api contains '{\"productKey\":\"additional-api-integration\"}')",
+ "HAS_API_DEVELOPMENT_DELIVERABLE": "(details.apiDefinition.deliverables == 'api-development')",
+ "ONE_DELIVERABLE": "( 1 == 1)",
+ "HAS_API_INTEGRATION_DELIVERABLE": "(details.apiDefinition.deliverables == 'api-integration')",
+ "CA_NEEDED": "(details.apiDefinition.caNeeded == 'yes')",
+ "HAS_API_DEVELOPMENT_ADDON": "(details.apiDefinition.addons.api contains '{\"productKey\":\"additional-api-development\"}')",
+ "HAS_API_GATEWAY_DELIVERABLE": "(details.apiDefinition.deliverables == 'api-gateway-dev-integration')",
+ "CA_NOT_NEEDED": "(details.apiDefinition.caNeeded != 'yes')"
+ },
+ "addonPriceConfig": {
+ "ONE_DELIVERABLE": [
+ [
+ "API_INTEGRATION_ADDON_NO_CA"
+ ],
+ [
+ "API_INTEGRATION_ADDON_CA"
+ ],
+ [
+ "API_DEVELOPMENT_ADDON_NO_CA"
+ ],
+ [
+ "API_DEVELOPMENT_ADDON_CA"
+ ]
+ ]
+ },
+ "priceConfig-old": null,
+ "basePriceEstimate": 0,
+ "priceConfig": {
+ "ONE_DELIVERABLE": [
+ [
+ "FREE_SIZE_API_GATEWAY_NO_CA"
+ ],
+ [
+ "FREE_SIZE_API_GATEWAY_CA"
+ ],
+ [
+ "FREE_SIZE_API_INTEGRATION_NO_CA"
+ ],
+ [
+ "FREE_SIZE_API_INTEGRATION_CA"
+ ],
+ [
+ "FREE_SIZE_API_DEVELOPMENT_NO_CA"
+ ],
+ [
+ "FREE_SIZE_API_DEVELOPMENT_CA"
+ ]
+ ]
+ },
+ "wizard": {
+ "previousStepVisibility": "none",
+ "enabled": true
+ },
+ "baseTimeEstimateMin": 3,
+ "sections": [
+ {
+ "subSections": [
+ {
+ "hideTitle": true,
+ "description": "We will ask you several questions in order to determine your project’s scope. All estimates are based on our 15 years of experience and thousands of projects. Final prices will be determined after our team completes a final scope review.",
+ "theme": "light",
+ "type": "message"
+ },
+ {
+ "questions": [
+ {
+ "fieldName": "name",
+ "theme": "light",
+ "validations": "isRequired",
+ "type": "textinput",
+ "title": "Name your project",
+ "validationError": "Please, provide a name to your project",
+ "required": true
+ },
+ {
+ "fieldName": "description",
+ "theme": "light",
+ "type": "textbox",
+ "title": "Describe the objectives of your API project in 2-3 sentences.",
+ "validationError": "Please, provide a description",
+ "required": true
+ },
+ {
+ "fieldName": "details.utm.code",
+ "theme": "light",
+ "type": "textinput",
+ "title": "Do you have a Reference code? (optional)"
+ }
+ ],
+ "title": "App details",
+ "type": "questions"
+ }
+ ],
+ "statusText": "Let's go",
+ "id": "project-basic-details",
+ "title": "API"
+ },
+ {
+ "subSections": [
+ {
+ "questions": [
+ {
+ "hiddenOnEdit": true,
+ "type": "static",
+ "content": "
{{name}}
{{description}}
"
+ },
+ {
+ "help": {
+ "linkTitle": "What is right for me?",
+ "title": "What is right for me?",
+ "content": "
API Gateway Development & Integration utilizes open source tools (Kong, Tyk and API Umbrella) to handle multiple APIs and correctly route/orchestrate multiple API requests. This solution does not include the development of APIs, only the gateway development and integration of up to 5 APIs. If you require integration of more than 5 APIs, please indicate this in the comments section of the form prior to submitting and we will include this estimate in the detailed proposal.
API Integration solutions cover integration of up to 5 APIs with a third party API management platform, such as Mulesoft, Apigee, Azure API Management, and AWS API Gateway. This solution does not include the development of APIs, only the integration. If you require integration of more than 5 APIs, please indicate this in the comments section of the form prior to submitting and we will include this estimate in the detailed proposal.
API Developmentsolutions cover the development of one API for an existing application. The app does not need to have been built by Topcoder. If you require development of more than one API, please indicate this in the comments section of the form prior to submitting and we will include this estimate in the detailed proposal.
Topcoder recommends including an Architect on projects where a high degree of technical complexity is anticipated, when multiple deliverables are needed, or when you are a new to Topcoder and need additional help navigating the crowdsourcing process. Architects will provide additional oversight to your project. The inclusion of an Architect on a project will result in a service charge.
"
+ },
+ "fieldName": "details.apiDefinition.caNeeded",
+ "icon": "question",
+ "options": [
+ {
+ "summaryLabel": "Yes",
+ "description": "Project managers will work with the Community on the execution of your deliverables. An Architect will be assigned to oversee the technical requirements and complexities of your project.",
+ "label": "Project Manager + Architect",
+ "value": "yes"
+ },
+ {
+ "summaryLabel": "No",
+ "description": "You will partner directly with your Project Manager to align on the requirements for your project and they will work with the Community on the execution of your deliverables.",
+ "label": "Project Manager",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "What kind of support do you want on your project?",
+ "type": "radio-group",
+ "summaryTitle": "Architect",
+ "validationError": "Please, ley us know if you need a dedicated manager.",
+ "required": true
+ },
+ {
+ "fieldName": "details.apiDefinition.notes",
+ "icon": "question",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)",
+ "title": "Notes",
+ "type": "textbox",
+ "summaryTitle": "Notes"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "tc-services-questions",
+ "type": "questions"
+ }
+ ],
+ "description": "",
+ "wizard": {
+ "previousStepVisibility": "write",
+ "enabled": true
+ },
+ "id": "appDefinition",
+ "title": "App Definition",
+ "required": true
+ },
+ {
+ "subSections": [
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "static",
+ "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.
"
+ }
+ ],
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "type": "portal",
+ "content": [
+ {
+ "sectionIndex": 1
+ },
+ {
+ "sectionIndex": 3
+ }
+ ]
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "estimation",
+ "title": "Your project timeline",
+ "deliverables": [
+ {
+ "id": "api-gateway",
+ "deliverableKey": "api-gateway-dev-integration",
+ "title": "API Gateway",
+ "enableCondition": "HAS_API_GATEWAY_DELIVERABLE"
+ },
+ {
+ "id": "api-integration",
+ "deliverableKey": "api-integration",
+ "title": "API Integration",
+ "enableCondition": "HAS_API_INTEGRATION_DELIVERABLE"
+ },
+ {
+ "id": "api-development",
+ "deliverableKey": "api-development",
+ "title": "API Development",
+ "enableCondition": "HAS_API_DEVELOPMENT_DELIVERABLE"
+ }
+ ]
+ }
+ ],
+ "type": "questions"
+ }
+ ],
+ "hiddenOnEdit": true,
+ "footer": {
+ "content": ""
+ },
+ "nextButtonText": "Save my project",
+ "id": "summary-final",
+ "hideFormHeader": true
+ }
+ ],
+ "baseTimeEstimateMax": 6,
+ "priceConfigOpt": null
+ },
+ "name": "API",
+ "disabled": false,
+ "id": 118,
+ "category": "app_dev",
+ "key": "api_development_new",
+ "phases": {
+ "1-dev-iteration-i": {
+ "duration": 25,
+ "name": "Dev Iteration",
+ "products": [
+ {
+ "id": 29,
+ "productKey": "development-iteration-5-milestones"
+ }
+ ]
+ }
+ },
+ "updatedAt": "2020-01-22T13:22:41.146Z",
+ "info": "why"
+ },
+ {
+ "metadata": {},
+ "subCategory": null,
+ "aliases": [
+ "kubik_design",
+ "kubik-design"
+ ],
+ "updatedBy": 40051333,
+ "question": "Visual Design",
+ "hidden": true,
+ "icon": "../../assets/icons/product-design-app-visual.svg",
+ "priceConfig": null,
+ "deletedBy": null,
+ "planConfig": null,
+ "createdAt": "2019-04-24T10:03:30.000Z",
+ "deletedAt": null,
+ "form": null,
+ "createdBy": 40051333,
+ "scope": {
+ "sections": [
+ {
+ "subSections": [
+ {
+ "fieldName": "name",
+ "description": "",
+ "id": "projectName",
+ "title": "Project Name",
+ "type": "project-name",
+ "required": true,
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "layout": {
+ "spacing": "codes",
+ "direction": "vertical"
+ },
+ "questions": [
+ {
+ "fieldName": "details.businessUnit",
+ "description": "Business Unit or Group function (e.g. ZNA, UK, GF&SU, COMMERCIAL INSURANCE,…)",
+ "validations": "isRequired",
+ "title": "BU",
+ "type": "textinput",
+ "validationError": "Mandatory field",
+ "required": true
+ },
+ {
+ "fieldName": "details.costCentre",
+ "validations": "isRequired",
+ "title": "Cost Centre",
+ "type": "textinput",
+ "validationError": "Mandatory field",
+ "required": true
+ }
+ ],
+ "id": "questions",
+ "title": "Business Unit & Cost Center",
+ "type": "questions",
+ "required": true
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "description",
+ "validationErrors": {
+ "isRequired": "Please provide a description",
+ "minLength": "Please enter at least 160 characters"
+ },
+ "description": "Briefly describe the application we are designing.",
+ "id": "projectInfo",
+ "validations": "isRequired,minLength:160",
+ "title": "Project Overview",
+ "type": "textbox",
+ "required": true
+ },
+ {
+ "layout": "vertical",
+ "fieldName": "details.loadDetails.designType",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Concept exploration (Recommended use: when you are looking to quickly explore concepts for an application or website through designs, but are not ready to begin development yet)",
+ "value": "concept-exploration"
+ },
+ {
+ "label": "Full application designs (Recommended use: when you need detailed, development-ready designs)",
+ "value": "full-application-designs"
+ }
+ ],
+ "description": "",
+ "title": "Do you need concept exploration design or full application designs that can be development-ready?",
+ "type": "radio-group",
+ "required": true,
+ "validationError": "Please provide expected hours of execution"
+ },
+ {
+ "fieldName": "details.appDefinition.numberScreens",
+ "icon": "question",
+ "options": [
+ {
+ "iconOptions": {
+ "number": "2-4"
+ },
+ "icon": "NumberText",
+ "title": "screens",
+ "value": "2-4",
+ "desc": ""
+ },
+ {
+ "iconOptions": {
+ "number": "5-8"
+ },
+ "icon": "NumberText",
+ "title": "screens",
+ "value": "5-8",
+ "desc": ""
+ },
+ {
+ "iconOptions": {
+ "number": "9-15"
+ },
+ "icon": "NumberText",
+ "title": "screens",
+ "value": "9-15",
+ "desc": ""
+ }
+ ],
+ "description": "Please select required option for the total amount of screens/features. If you need more than 15 screens, please indicate this in the Notes section.",
+ "title": "How many screens do you need designed?",
+ "type": "tiled-radio-group",
+ "required": true,
+ "validationError": "Please let us know the number of screens required"
+ },
+ {
+ "fieldName": "details.appDefinition.deviceType",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Mobile",
+ "value": "mobile"
+ },
+ {
+ "label": "Tablet",
+ "value": "tablet"
+ },
+ {
+ "label": "Web Browser",
+ "value": "web-browser"
+ }
+ ],
+ "description": "",
+ "title": "Where should your app work?",
+ "type": "checkbox-group"
+ },
+ {
+ "fieldName": "details.appDefinition.osType",
+ "icon": "question",
+ "options": [
+ {
+ "label": "iOS",
+ "value": "ios"
+ },
+ {
+ "label": "Android",
+ "value": "android"
+ }
+ ],
+ "description": "",
+ "title": "If you selected Mobile or Tablet in the previous question, please indicate your application type (Optional Question)",
+ "type": "checkbox-group"
+ }
+ ],
+ "description": "",
+ "id": "user",
+ "title": "Questions",
+ "type": "questions",
+ "required": true
+ },
+ {
+ "hideTitle": false,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.screens",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Enterprise Login - Supports integration with an existing authorization/authentication mechanism.",
+ "value": "enterprise-login"
+ },
+ {
+ "label": "Email Login - Support sign in using an email address/password.",
+ "value": "email-login"
+ },
+ {
+ "label": "Social Login - Support register and login using third-party services such as Facebook, Twitter, and Google.",
+ "value": "social-login"
+ },
+ {
+ "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": "registration"
+ },
+ {
+ "label": "Invitations - Allow users to invite others to use your app via email. ",
+ "value": "invitations"
+ },
+ {
+ "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": "onboarding"
+ },
+ {
+ "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": "search"
+ },
+ {
+ "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": "location-based-services"
+ },
+ {
+ "label": "File Upload - Allow users to upload photos or other files.",
+ "value": "file-upload"
+ },
+ {
+ "label": "Notifications - Take advantage of notifications; for example, remind users to do certain tasks or update them on new content.",
+ "value": "notifications"
+ },
+ {
+ "label": "Dashboard - App must have a central dashboard where users can access functionality",
+ "value": "dashboard"
+ },
+ {
+ "label": "Tagging - Allow users to tag products, people or content; for example, in order to classify and easily retrieve notes.",
+ "value": "tagging"
+ },
+ {
+ "label": "Account Settings - Allow your users to adjust settings or specify preferences, such as communication frequency.",
+ "value": "account-settings"
+ },
+ {
+ "label": "Help/FAQs - Include a section dedicated to FAQ or Help content.",
+ "value": "Help/FAQs"
+ },
+ {
+ "label": "Marketplace - Allow users to buy, sell, or rent products or services.",
+ "value": "marketplace"
+ },
+ {
+ "label": "Ratings & Reviews - Let users rate or review people, products, or services.",
+ "value": "ratings-reviews"
+ },
+ {
+ "label": "Payments - Allow users to pay in some way; for example, using credit cards, PayPal, or Bitcoin.",
+ "value": "payments"
+ },
+ {
+ "label": "Shopping Cart - Allow users to save items before purchasing. Please specify your desired functionality below.",
+ "value": "shopping-cart"
+ },
+ {
+ "label": "Product Listing - Add this feature to shows lists of product or services, with individual detail pages for each one.",
+ "value": "product-listing"
+ },
+ {
+ "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": "activity-feed"
+ },
+ {
+ "label": "Profiles - Add this feature if your app requires users to have a profile, including the ability to edit it.",
+ "value": "profiles"
+ },
+ {
+ "label": "Messaging - Allow direct communication between two or more users.",
+ "value": "messaging"
+ },
+ {
+ "label": "Admin Tool - App must have an administrative tool or panel to enable direct management of users, content and the application.",
+ "value": "admin-tool"
+ },
+ {
+ "label": "Social Media Integration - App must integrate with social media providers (Facebook, Instagram, Twitter, Google+, etc)",
+ "value": "social-media-integration"
+ },
+ {
+ "label": "Reporting - App must have the ability to report/export data",
+ "value": "reporting"
+ },
+ {
+ "label": "Contact Us - App must have the ability to allow users to contact an administrator/send feedback to administrators.",
+ "value": "contact-us"
+ }
+ ],
+ "description": "",
+ "title": "",
+ "type": "checkbox-group"
+ }
+ ],
+ "description": "",
+ "id": "screen-features",
+ "title": "Screen and Features",
+ "type": "questions",
+ "required": false
+ },
+ {
+ "hideTitle": false,
+ "questions": [
+ {
+ "fieldName": "details.loadDetails.budget",
+ "icon": "question",
+ "options": [
+ {
+ "title": "Under $5K ",
+ "value": "upto-5"
+ },
+ {
+ "title": "$10K",
+ "value": "upto-10"
+ },
+ {
+ "title": "$15K",
+ "value": "upto-15"
+ },
+ {
+ "title": "$20K",
+ "value": "upto-20"
+ },
+ {
+ "title": "$25K",
+ "value": "upto-25"
+ },
+ {
+ "title": "$25K+",
+ "value": "above-25"
+ }
+ ],
+ "description": "How much budget do you have?",
+ "title": "Budget",
+ "type": "slide-radiogroup",
+ "required": true,
+ "validationError": "Please provide expected hours of execution"
+ },
+ {
+ "fieldName": "details.loadDetails.timeline",
+ "icon": "question",
+ "options": [
+ {
+ "title": "3 Days",
+ "value": "3-days"
+ },
+ {
+ "title": "6 Days",
+ "value": "6-days"
+ },
+ {
+ "title": "9 Days",
+ "value": "9-days"
+ },
+ {
+ "title": "12 Days",
+ "value": "12-days"
+ },
+ {
+ "title": "15 Days",
+ "value": "15-days"
+ },
+ {
+ "title": "19 Days",
+ "value": "19-days"
+ },
+ {
+ "title": "22 Days",
+ "value": "22-days"
+ },
+ {
+ "title": "25 Days",
+ "value": "25-days"
+ },
+ {
+ "title": "25+ Days",
+ "value": "above-25-days"
+ }
+ ],
+ "description": "When do you need your solution?",
+ "title": "Timeline",
+ "type": "slide-radiogroup",
+ "required": true,
+ "validationError": "Please provide expected hours of execution"
+ }
+ ],
+ "description": "",
+ "title": "Budget and Timeline",
+ "type": "questions"
+ },
+ {
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g. links to documents or existing applications)",
+ "id": "notes",
+ "title": "Notes",
+ "type": "notes"
+ },
+ {
+ "hiddenOnCreation": true,
+ "fieldName": "attachments",
+ "description": "",
+ "id": "files",
+ "title": "Files",
+ "type": "files",
+ "required": false
+ }
+ ],
+ "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.",
+ "id": "appDefinition",
+ "title": "",
+ "required": true
+ }
+ ]
+ },
+ "name": "Design",
+ "disabled": false,
+ "id": 106,
+ "category": "quality_assurance",
+ "key": "zurich_visual_design_prod",
+ "phases": {},
+ "updatedAt": "2020-01-22T13:22:41.146Z",
+ "info": "Create development-ready designs"
+ },
+ {
+ "metadata": {},
+ "subCategory": null,
+ "aliases": [
+ "mobility-testing",
+ "mobility_testing"
+ ],
+ "updatedBy": 40051333,
+ "question": "What kind of quality assurance (QA) do you need?",
+ "hidden": false,
+ "icon": "product-qa-mobility-testing",
+ "priceConfig": null,
+ "deletedBy": null,
+ "planConfig": null,
+ "createdAt": "2018-07-06T07:31:13.000Z",
+ "deletedAt": null,
+ "form": null,
+ "createdBy": 40051333,
+ "scope": {
+ "sections": [
+ {
+ "subSections": [
+ {
+ "fieldName": "name",
+ "description": "",
+ "id": "projectName",
+ "title": "Project Name",
+ "type": "project-name",
+ "required": true,
+ "validationError": "Please provide a name to your project"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.mobilityTestingType",
+ "icon": "question",
+ "options": [
+ {
+ "title": "Select",
+ "value": ""
+ },
+ {
+ "title": "Banking or Financial Services",
+ "value": "finserv"
+ },
+ {
+ "title": "eCommerce",
+ "value": "ecommerce"
+ },
+ {
+ "title": "Media / Entertainment",
+ "value": "entertainment"
+ },
+ {
+ "title": "Gaming",
+ "value": "gaming"
+ },
+ {
+ "title": "Health and Fitness",
+ "value": "health"
+ },
+ {
+ "title": "Manufacturing",
+ "value": "manufacturing"
+ },
+ {
+ "title": "Retail",
+ "value": "retail"
+ },
+ {
+ "title": "Travel / Transportation",
+ "value": "travel"
+ },
+ {
+ "title": "Other",
+ "value": "other"
+ }
+ ],
+ "description": "Please let us know the type of application to test. If you are unsure, please select \"Other\"",
+ "title": "What kind of application would you like to test?",
+ "type": "select-dropdown",
+ "required": true,
+ "validationError": "Please let us know what kind of application you would like to test."
+ },
+ {
+ "fieldName": "details.appDefinition.testCases",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Yes I have test cases.",
+ "value": "true"
+ },
+ {
+ "label": "No I do not have test cases.",
+ "value": "false"
+ }
+ ],
+ "description": "Please let us know if you have any test cases written. If not, they can be created as part of your test cycle.",
+ "title": "Do you have test cases written?",
+ "type": "radio-group",
+ "required": true,
+ "validationError": "Please let us know if you have test cases."
+ },
+ {
+ "fieldName": "description",
+ "icon": "question",
+ "validationErrors": {
+ "isRequired": "Please provide a description",
+ "minLength": "Please enter at least 160 characters"
+ },
+ "description": "Brief Description",
+ "validations": "isRequired,minLength:160",
+ "id": "projectInfo",
+ "title": "Description",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.appDefinition.userInfo",
+ "icon": "question",
+ "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.",
+ "title": "Please tell us about your users.",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.appDefinition.primaryTarget",
+ "icon": "question",
+ "options": [
+ {
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "icon": "icon-tech-outline-mobile",
+ "title": "Phone",
+ "value": "phone",
+ "desc": "iOS, Android, Hybrid"
+ },
+ {
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "icon": "icon-tech-outline-tablet",
+ "title": "Tablet",
+ "value": "tablet",
+ "desc": "iOS, Android, Hybrid"
+ },
+ {
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "icon": "icon-tech-outline-watch-apple",
+ "title": "Wearable",
+ "value": "wearable",
+ "desc": "Watch OS, Android Wear"
+ }
+ ],
+ "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.",
+ "title": "Which is your primary device target?",
+ "type": "tiled-radio-group"
+ }
+ ],
+ "description": "",
+ "id": "questions",
+ "title": "Questions",
+ "type": "questions",
+ "required": true
+ },
+ {
+ "fieldName": "details.appDefinition.notes",
+ "description": "Please enter any additional information like requirements and/or test cases. After creating your project you will be able to upload files.",
+ "id": "notes",
+ "title": "Notes",
+ "type": "notes"
+ }
+ ],
+ "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.",
+ "id": "appDefinition",
+ "title": "Mobility Testing",
+ "required": true
+ }
+ ]
+ },
+ "name": "Mobility Testing",
+ "disabled": false,
+ "id": 13,
+ "category": "quality_assurance",
+ "key": "mobility_testing",
+ "phases": {
+ "1-qa-iteration-i": {
+ "duration": 24,
+ "name": "QA Phase",
+ "products": [
+ {
+ "id": 30,
+ "productKey": "qa-iteration"
+ }
+ ]
+ }
+ },
+ "updatedAt": "2020-01-22T13:22:41.147Z",
+ "info": "App Certification, Lab on Hire, User Sentiment Analysis"
+ },
+ {
+ "metadata": {},
+ "subCategory": null,
+ "aliases": [
+ "test1_api_template_new"
+ ],
+ "updatedBy": 40051333,
+ "question": "what",
+ "hidden": true,
+ "icon": "api",
+ "priceConfig": null,
+ "deletedBy": null,
+ "planConfig": null,
+ "createdAt": "2019-05-14T07:38:18.000Z",
+ "deletedAt": null,
+ "form": null,
+ "createdBy": 40051333,
+ "scope": {
+ "buildingBlocks": {
+ "FREE_SIZE_API_GATEWAY_NO_CA": {
+ "maxTime": 54,
+ "metadata": {
+ "deliverable": "api-gateway-dev-integration"
+ },
+ "price": "1769",
+ "minTime": 54,
+ "conditions": "( HAS_API_GATEWAY_DELIVERABLE && CA_NOT_NEEDED )"
+ },
+ "FREE_SIZE_API_DEVELOPMENT_NO_CA": {
+ "maxTime": 33,
+ "metadata": {
+ "deliverable": "api-development"
+ },
+ "price": "7498",
+ "minTime": 33,
+ "conditions": "( HAS_API_DEVELOPMENT_DELIVERABLE && CA_NOT_NEEDED )"
+ },
+ "FREE_SIZE_API_GATEWAY_CA": {
+ "maxTime": 54,
+ "metadata": {
+ "deliverable": "api-gateway-dev-integration"
+ },
+ "price": "3904",
+ "minTime": 54,
+ "conditions": "( HAS_API_GATEWAY_DELIVERABLE && CA_NEEDED )"
+ },
+ "FREE_SIZE_API_INTEGRATION_NO_CA": {
+ "maxTime": 34,
+ "metadata": {
+ "deliverable": "api-integration"
+ },
+ "price": "1815",
+ "minTime": 34,
+ "conditions": "( HAS_API_INTEGRATION_DELIVERABLE && CA_NOT_NEEDED )"
+ },
+ "FREE_SIZE_API_INTEGRATION_CA": {
+ "maxTime": 34,
+ "metadata": {
+ "deliverable": "api-integration"
+ },
+ "price": "733",
+ "minTime": 34,
+ "conditions": "( HAS_API_INTEGRATION_DELIVERABLE && CA_NEEDED )"
+ },
+ "FREE_SIZE_API_DEVELOPMENT_CA": {
+ "maxTime": 33,
+ "metadata": {
+ "deliverable": "api-development"
+ },
+ "price": "625",
+ "minTime": 33,
+ "conditions": "( HAS_API_DEVELOPMENT_DELIVERABLE && CA_NEEDED )"
+ }
+ },
+ "preparedConditions": {
+ "HAS_WIREFRAMES_ADDON": "(details.appDefinition.addons.design contains '{\"productKey\":\"wireframes\"}')",
+ "HAS_API_DEVELOPMENT_DELIVERABLE": "(details.apiDefinition.deliverables == 'api-development')",
+ "ONE_DELIVERABLE": "( 1 == 1)",
+ "HAS_API_INTEGRATION_DELIVERABLE": "(details.apiDefinition.deliverables == 'api-integration')",
+ "CA_NEEDED": "(details.apiDefinition.caNeeded == 'yes')",
+ "HAS_API_GATEWAY_DELIVERABLE": "(details.apiDefinition.deliverables == 'api-gateway-dev-integration')",
+ "CA_NOT_NEEDED": "(details.apiDefinition.caNeeded != 'yes')"
+ },
+ "addonPriceConfig": {
+ "HAS_DEPLOY_DELIVERABLE": [
+ [
+ "HAS_CI_CD_ADDON_NO_CA"
+ ],
+ [
+ "HAS_CI_CD_ADDON_CA"
+ ]
+ ],
+ "HAS_DEV_DELIVERABLE": [
+ [
+ "API_DEVELOPMENT_ADDON_NO_CA"
+ ]
+ ]
+ },
+ "priceConfig-old": null,
+ "basePriceEstimate": 0,
+ "priceConfig": {
+ "ONE_DELIVERABLE": [
+ [
+ "FREE_SIZE_API_GATEWAY_NO_CA"
+ ],
+ [
+ "FREE_SIZE_API_GATEWAY_CA"
+ ],
+ [
+ "FREE_SIZE_API_INTEGRATION_NO_CA"
+ ],
+ [
+ "FREE_SIZE_API_INTEGRATION_CA"
+ ],
+ [
+ "FREE_SIZE_API_DEVELOPMENT_NO_CA"
+ ],
+ [
+ "FREE_SIZE_API_DEVELOPMENT_CA"
+ ]
+ ]
+ },
+ "wizard": {
+ "previousStepVisibility": "none",
+ "enabled": true
+ },
+ "baseTimeEstimateMin": 3,
+ "sections": [
+ {
+ "subSections": [
+ {
+ "hideTitle": true,
+ "description": "We will ask you several questions in order to determine your project’s scope. All estimates are based on our 15 years of experience and thousands of projects. Final prices will be determined after our team completes a final scope review.",
+ "theme": "light",
+ "type": "message"
+ },
+ {
+ "questions": [
+ {
+ "fieldName": "name",
+ "theme": "light",
+ "validations": "isRequired",
+ "type": "textinput",
+ "title": "Name your project",
+ "validationError": "Please, provide a name to your project",
+ "required": true
+ },
+ {
+ "fieldName": "description",
+ "validationErrors": {
+ "isRequired": "Please provide a description",
+ "minLength": "Please enter at least 160 characters"
+ },
+ "theme": "light",
+ "validations": "isRequired,minLength:160",
+ "type": "textbox",
+ "title": "Describe the objectives of your API project in 2-3 sentences.",
+ "required": true
+ },
+ {
+ "fieldName": "details.utm.code",
+ "theme": "light",
+ "type": "textinput",
+ "title": "Do you have a Reference code? (optional)"
+ }
+ ],
+ "title": "App details",
+ "type": "questions"
+ }
+ ],
+ "statusText": "Let's go",
+ "id": "project-basic-details",
+ "title": "API"
+ },
+ {
+ "subSections": [
+ {
+ "questions": [
+ {
+ "hiddenOnEdit": true,
+ "type": "static",
+ "content": "
{{name}}
{{description}}
"
+ },
+ {
+ "help": {
+ "linkTitle": "What is right for me?",
+ "title": "What is right for me?",
+ "content": "
API Gateway Development & Integration utilizes open source tools (Kong, Tyk and API Umbrella) to handle multiple APIs and correctly route/orchestrate multiple API requests. This solution does not include the development of APIs, only the gateway development and integration of up to 5 APIs. If you require integration of more than 5 APIs, please indicate this in the comments section of the form prior to submitting and we will include this estimate in the detailed proposal.
API Integration solutions cover integration of up to 5 APIs with a third party API management platform, such as Mulesoft, Apigee, Azure API Management, and AWS API Gateway. This solution does not include the development of APIs, only the integration. If you require integration of more than 5 APIs, please indicate this in the comments section of the form prior to submitting and we will include this estimate in the detailed proposal.
API Developmentsolutions cover the development of one API for an existing application. The app does not need to have been built by Topcoder. If you require development of more than one API, please indicate this in the comments section of the form prior to submitting and we will include this estimate in the detailed proposal.
Topcoder recommends including an Architect on projects where a high degree of technical complexity is anticipated, when multiple deliverables are needed, or when you are a new customer to Topcoder and need additional help navigating the crowdsourcing process as Architects will provide additional oversight to your project. The inclusion of an Architect on a project will result in a service charge.
"
+ },
+ "fieldName": "details.apiDefinition.caNeeded",
+ "icon": "question",
+ "options": [
+ {
+ "summaryLabel": "Yes",
+ "description": "Project managers will work with the Community on the execution of your deliverables. An Architect will be assigned to oversee the technical requirements and complexities of your project.",
+ "label": "Project Manager + Architect",
+ "value": "yes"
+ },
+ {
+ "summaryLabel": "No",
+ "description": "You will partner directly with your Project Manager to align on the requirements for your project and they will work with the Community on the execution of your deliverables.",
+ "label": "Project Manager",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "What kind of support do you want on your project?",
+ "type": "radio-group",
+ "summaryTitle": "Architect",
+ "validationError": "Please, ley us know if you need a dedicated manager.",
+ "required": true
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "tc-services-questions",
+ "type": "questions"
+ }
+ ],
+ "description": "",
+ "wizard": {
+ "previousStepVisibility": "write",
+ "enabled": true
+ },
+ "id": "appDefinition",
+ "title": "App Definition",
+ "required": true
+ },
+ {
+ "subSections": [
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "static",
+ "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": "HAS_DESIGN_DELIVERABLE",
+ "fieldName": "details.appDefinition.addons.design",
+ "icon": "question",
+ "description": "Select any desired add-ons to your project. Please note that each add-on will incur a cost and has a delivery duration. Your project estimate will be updated to reflect the cost and duration of your base solution and add-ons. Additionally, you will receive a full breakdown on cost in the final project proposal from Topcoder.",
+ "theme": "light",
+ "title": "Design add-ons",
+ "type": "add-ons",
+ "category": "visual_design"
+ },
+ {
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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": "HAS_DEV_DELIVERABLE",
+ "fieldName": "details.appDefinition.addons.development",
+ "icon": "question",
+ "description": "Select any desired add-ons to your project. Please note that each add-on will incur a cost and has a delivery duration. Your project estimate will be updated to reflect the cost and duration of your base solution and add-ons. Additionally, you will receive a full breakdown on cost in the final project proposal from Topcoder.",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "title": "Development add-ons",
+ "type": "add-ons",
+ "category": "development"
+ },
+ {
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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": "HAS_QA_DELIVERABLE",
+ "fieldName": "details.appDefinition.addons.qa",
+ "icon": "question",
+ "description": "Select any desired add-ons to your project. Please note that each add-on will incur a cost and has a delivery duration. Your project estimate will be updated to reflect the cost and duration of your base solution and add-ons. Additionally, you will receive a full breakdown on cost in the final project proposal from Topcoder.",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "title": "QA add-ons",
+ "type": "add-ons",
+ "category": "qa"
+ },
+ {
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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": "HAS_DEPLOY_DELIVERABLE",
+ "fieldName": "details.appDefinition.addons.delivery",
+ "icon": "question",
+ "description": "Select any desired add-ons to your project. Please note that each add-on will incur a cost and has a delivery duration. Your project estimate will be updated to reflect the cost and duration of your base solution and add-ons. Additionally, you will receive a full breakdown on cost in the final project proposal from Topcoder.",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "title": "Delivery add-ons",
+ "type": "add-ons",
+ "category": "deployment"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized",
+ "enabled": true
+ },
+ "type": "questions"
+ }
+ ],
+ "wizard": {
+ "enabled": true
+ },
+ "id": "add-ons",
+ "title": "Configure my app"
+ },
+ {
+ "subSections": [
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "static",
+ "content": "
"
+ },
+ {
+ "help": {
+ "linkTitle": "What work is right for me?",
+ "title": "What work is right for me?",
+ "content": "
Topcoder has design, development, and deployment solutions can be combined in a single project to help you deliver an end-to-end application.
It is important to note that all Topcoder development projects include standard quality assurance testing at no additional cost to help ensure you are getting the highest-quality application possible.
"
+ },
+ "fieldName": "details.appDefinition.deliverables",
+ "icon": "question",
+ "options": [
+ {
+ "summaryLabel": "Design",
+ "description": "We will design your app experience, focusing on the major features and experiences.",
+ "label": "Design",
+ "value": "design"
+ },
+ {
+ "summaryLabel": "Development",
+ "description": "We will develop your app based on existing designs. Building a reliable application for you is our priority. We include standard quality assurance testing at no additional cost when doing any development.",
+ "label": "Development & QA",
+ "value": "dev-qa"
+ },
+ {
+ "description": "Our team will ensure that your code is packaged and distributed on all targeted platforms and/or in the Apple/Google app stores.",
+ "label": "Deployment",
+ "value": "deployment"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "What do you need?",
+ "type": "checkbox-group",
+ "summaryTitle": "Work needed",
+ "validationError": "Please, choose what do you need.",
+ "required": true
+ },
+ {
+ "fieldName": "details.appDefinition.designGoal",
+ "icon": "question",
+ "description": "",
+ "title": "What is the goal of your designs?",
+ "type": "radio-group",
+ "summaryTitle": "Design goal",
+ "validationError": "Please, choose you design goal.",
+ "required": true,
+ "help": {
+ "linkTitle": "What should I choose?",
+ "title": "What should I choose?",
+ "content": "
Conceptual exploration
It enables you to explore UI and UX concepts for your application with industry-leading experts. This is the best choice when you are exploring ideas for a new application, but are not ready to begin development immediately. While design concepts empower you to explore different ideas, the design-deliverables are not considered production-ready as they will not contain detailed workflows for your entire application.
Production-ready designs
These are best used when you are ready to begin development on your application immediately after design-completion. These designs will include detailed workflows and options for your application.
"
+ },
+ "condition": "HAS_DESIGN_DELIVERABLE",
+ "options": [
+ {
+ "disableCondition": "HAS_DEV_DELIVERABLE",
+ "summaryLabel": "Concept",
+ "description": "We will produce high-quality screens with different directions that would help you define your product direction, and present to stakeholders.",
+ "label": "Concept exploration",
+ "value": "concept-designs"
+ },
+ {
+ "summaryLabel": "Production-ready designs",
+ "autoSelectCondition": "HAS_DEV_DELIVERABLE",
+ "description": "Our designers will create detailed, designed workflows that can be immediately ready for development upon completion.",
+ "label": "Production-ready designs",
+ "value": "comprehensive-designs"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ },
+ {
+ "fieldName": "details.appDefinition.quickTurnaround",
+ "icon": "question",
+ "description": "",
+ "title": "How quickly do you need your conceptual designs?",
+ "type": "radio-group",
+ "summaryTitle": "Quick Turnaround",
+ "validationError": "Please, choose your time expectations.",
+ "required": true,
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Topcoder has two backend solutions - RUX (3 Days) and Design Sprint (6 Days) - that provide customers with design concepts. The deliverables that you can expect from these two solutions are consistent, meaning that both will produce high-quality design concepts that will enable you to leverage our expert crowd in generating ideas for your application. The primary difference between these two solutions is the turnaround time. As the RUX solution has an expedited turnaround time of three days, a service charge is included in the price.
"
+ },
+ "condition": "CONCEPT_DESIGN",
+ "options": [
+ {
+ "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.",
+ "label": "I want concept designs in 3 days.",
+ "value": "under-3-days"
+ },
+ {
+ "summaryLabel": "6 days",
+ "description": "Topcoder will create agency-quality design variants for your app within 7 days.",
+ "label": "I want concept designs in 6 days.",
+ "value": "under-6-days"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "deliverables",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.targetDevices",
+ "icon": "question",
+ "description": "",
+ "title": "Where should your app work?",
+ "type": "checkbox-group",
+ "summaryTitle": "Devices",
+ "validationError": "Please, select devices",
+ "required": true,
+ "help": {
+ "linkTitle": "What to choose",
+ "title": "What to choose",
+ "content": "
Topcoder has the capability to create applications that are accessible as standalone applications from mobile or tablet devices, as well as applications that are accessible via a web browser from desktops, mobile or tablet devices.
"
+ },
+ "condition": "( HAS_DESIGN_DELIVERABLE || HAS_DEV_DELIVERABLE )",
+ "affectsQuickQuote": true,
+ "options": [
+ {
+ "description": "Your app can be installed and launched on mobile devices. This is Topcoder’s most requested option.",
+ "label": "Mobile",
+ "value": "mobile"
+ },
+ {
+ "description": "Your app can be used on tablet devices, with an optimized layout for tablets.",
+ "label": "Tablet",
+ "value": "tablet"
+ },
+ {
+ "description": "Your app would be accessed via web browser on desktop, mobile and tablet devices alike.",
+ "label": "Web Browser",
+ "value": "web-browser"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ },
+ {
+ "help": {
+ "linkTitle": "Which platforms to select?",
+ "title": "Which platforms to select?",
+ "content": "
Topcoder can create mobile applications for iOS, Android, or iOS and Android platforms.
"
+ },
+ "condition": "( details.appDefinition.targetDevices contains 'mobile' ) || ( details.appDefinition.targetDevices contains 'tablet' )",
+ "fieldName": "details.appDefinition.mobilePlatforms",
+ "affectsQuickQuote": true,
+ "icon": "question",
+ "options": [
+ {
+ "description": "Your app would work on iOS phones. We will develop it using Objective-C and SWIFT",
+ "label": "iOS",
+ "value": "ios"
+ },
+ {
+ "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.",
+ "label": "Android",
+ "value": "android"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "title": "What type of platform do you need?",
+ "type": "checkbox-group",
+ "summaryTitle": "Mobile platforms"
+ },
+ {
+ "fieldName": "details.appDefinition.nativeHybrid",
+ "icon": "question",
+ "description": "",
+ "title": "Does your app need to be Native or Hybrid?",
+ "type": "radio-group",
+ "summaryTitle": "App Type",
+ "validationError": "Please let us know the type of the app?",
+ "required": true,
+ "help": {
+ "linkTitle": "Which OS to select?",
+ "title": "Which OS to select?",
+ "content": "
Native operating systems are a SDK framework for building iOS and/or Android applications. Native applications typically have better performance if rich features such as video or audio are required.
Hybrid operating systems leverages a hybrid framework, such as Iconic, to build iOS and/or Android applications. Hybrid gives you the benefit of only having to maintain one code base for your application.
"
+ },
+ "condition": "( details.appDefinition.mobilePlatforms contains 'ios' ) || ( details.appDefinition.mobilePlatforms contains 'android' )",
+ "options": [
+ {
+ "description": "",
+ "label": "Native",
+ "value": "native"
+ },
+ {
+ "description": "",
+ "label": "Hybrid",
+ "value": "hybrid"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ },
+ {
+ "fieldName": "details.appDefinition.progressiveResponsive",
+ "icon": "question",
+ "description": "",
+ "title": "How should your app work when accessed via web browser?",
+ "type": "radio-group",
+ "summaryTitle": "Web App Type",
+ "validationError": "Please let us know the type of web app?",
+ "required": true,
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Progressive Web Applications are mobile web apps. They are built using a native framework so that it looks and functions like a native application, with rich features like GPS.
Responsive Web Applications are web apps that can be accessed from mobile, tablet, and/or desktop devices. You can choose custom layouts depending on device type.
Desktop Web Browser Applications come in one layout and are only accessed from desktop devices using common web browsers such as Chrome or Safari.
"
+ },
+ "condition": "( details.appDefinition.targetDevices contains 'web-browser' )",
+ "options": [
+ {
+ "description": "Your web application can be accessed from all common mobile web browsers and will be built using a native mobile framework.",
+ "label": "Progressive Web Application for Mobile Web Browsing",
+ "value": "progressive"
+ },
+ {
+ "description": "Your web application can be accessed from all common desktop, mobile and tablet web browsers and will be optimized for all screen sizes.",
+ "label": "Responsive Web Application for Desktop, Tablet, and Mobile Web Browsing",
+ "value": "responsive"
+ },
+ {
+ "description": "Your web application can be accessed from desktop devices on all common web browsers.",
+ "label": "Desktop Web Application",
+ "value": "desktop"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "target-devices-os",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.numberScreens",
+ "icon": "question",
+ "description": "",
+ "title": "How many screens do you need?",
+ "type": "radio-group",
+ "summaryTitle": "Screens",
+ "validationError": "Please let us know the number of screens required?",
+ "required": true,
+ "help": {
+ "linkTitle": "What are screens?",
+ "title": "What are screens?",
+ "content": "
Screens represent the number of unique pages within your application, which may include several features on each screen.
If you require more than 15 screens for your application, please indicate this in the Notes section of the form prior to submitting.
"
+ },
+ "condition": "( HAS_DESIGN_DELIVERABLE || HAS_DEV_DELIVERABLE ) && (!( MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP))",
+ "options": [
+ {
+ "description": "Suitable for small apps with 2-4 main features",
+ "disabled": false,
+ "label": "2-4 screens",
+ "value": "2-4"
+ },
+ {
+ "description": "Suitable for medium apps with 5-8 main features",
+ "disabled": false,
+ "label": "5-8 screens",
+ "value": "5-8"
+ },
+ {
+ "condition": "!QUICK_DESIGN_3_DAYS",
+ "description": "Suitable for larger apps with 9-15 main features",
+ "disabled": false,
+ "label": "9-15 screens",
+ "value": "9-15"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "app-size-questions",
+ "type": "questions"
+ },
+ {
+ "condition": "HAS_DEPLOY_DELIVERABLE",
+ "hideTitle": true,
+ "questions": [
+ {
+ "condition": "HAS_DEPLOY_DELIVERABLE",
+ "fieldName": "details.appDefinition.deploymentTargets",
+ "icon": "question",
+ "options": [
+ {
+ "condition": "( ONE_DELIVERABLE || (details.appDefinition.mobilePlatforms contains 'ios') )",
+ "description": "Apple App Store Deployment",
+ "label": "Apple App Store",
+ "value": "apple-app-store"
+ },
+ {
+ "condition": "( ONE_DELIVERABLE || (details.appDefinition.mobilePlatforms contains 'android') )",
+ "description": "Google App Store Deployment",
+ "label": "Google Play",
+ "value": "google-play"
+ },
+ {
+ "condition": "( ONE_DELIVERABLE || (details.appDefinition.targetDevices contains 'desktop') || (details.appDefinition.targetDevices contains 'web-browser') )",
+ "description": "Deployment to your internal production environment",
+ "label": "Internal Production Environment",
+ "value": "internal-production-environment"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "Where do you need your app deployed?",
+ "type": "checkbox-group",
+ "summaryTitle": "Deployment Targets",
+ "validationError": "Please, choose what do you need us to help with.",
+ "required": true
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "deployment-deliverable-questions",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.caNeeded",
+ "icon": "question",
+ "description": "",
+ "title": "What kind of support do you want on your project?",
+ "type": "radio-group",
+ "summaryTitle": "Architect",
+ "validationError": "Please, ley us know if you need a dedicated manager.",
+ "required": true,
+ "help": {
+ "linkTitle": "What is right for me?",
+ "title": "What is right for me?",
+ "content": "
Topcoder recommends including an Architect on projects where a high degree of technical complexity is anticipated, when multiple deliverables are needed, or when you are a new to Topcoder and need additional help navigating the crowdsourcing process. Architects will provide additional oversight to your project. The inclusion of an Architect on a project will result in a service charge.
"
+ },
+ "condition": "!( MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP)",
+ "options": [
+ {
+ "summaryLabel": "Yes",
+ "description": "Project managers will work with the Community on the execution of your deliverables. An Architect will be assigned to oversee the technical requirements and complexities of your project.",
+ "label": "Project Manager + Architect",
+ "value": "yes"
+ },
+ {
+ "summaryLabel": "No",
+ "description": "You will partner directly with your Project Manager to align on the requirements for your project and they will work with the Community on the execution of your deliverables.",
+ "label": "Project Manager",
+ "value": "no"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ },
+ {
+ "fieldName": "details.apiDefinition.notes",
+ "icon": "question",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)",
+ "title": "Notes",
+ "type": "textbox",
+ "summaryTitle": "Notes"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "tc-services-questions",
+ "type": "questions"
+ },
+ {
+ "condition": "MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP",
+ "fieldName": "details.appDefinition.message",
+ "hideTitle": true,
+ "description": "Wow! We love your idea. This is a very complex, technical solution. We will take a look at your project and contact you regarding next steps and a quote.",
+ "id": "customeQuote",
+ "title": "Message",
+ "type": "message"
+ },
+ {
+ "hiddenOnCreation": true,
+ "fieldName": "attachments",
+ "description": "",
+ "id": "files",
+ "title": "Please upload any document that can help us in moving ahead with the project",
+ "type": "files"
+ }
+ ],
+ "description": "",
+ "wizard": {
+ "previousStepVisibility": "write",
+ "enabled": true
+ },
+ "id": "appDefinition",
+ "title": "App Definition",
+ "required": true
+ },
+ {
+ "subSections": [
+ {
+ "condition": "!(MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP)",
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "static",
+ "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": "HAS_DESIGN_DELIVERABLE && !(MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP)",
+ "fieldName": "details.appDefinition.addons.design",
+ "icon": "question",
+ "description": "Select any desired add-ons to your project. Please note that each add-on will incur a cost and has a delivery duration. Your project estimate will be updated to reflect the cost and duration of your base solution and add-ons. Additionally, you will receive a full breakdown on cost in the final project proposal from Topcoder.",
+ "theme": "light",
+ "title": "Design add-ons",
+ "type": "add-ons",
+ "category": "design"
+ },
+ {
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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": "HAS_DEV_DELIVERABLE && !(MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP)",
+ "fieldName": "details.appDefinition.addons.development",
+ "icon": "question",
+ "description": "Select any desired add-ons to your project. Please note that each add-on will incur a cost and has a delivery duration. Your project estimate will be updated to reflect the cost and duration of your base solution and add-ons. Additionally, you will receive a full breakdown on cost in the final project proposal from Topcoder.",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "title": "Development add-ons",
+ "type": "add-ons",
+ "category": "development"
+ },
+ {
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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": "HAS_DEPLOY_DELIVERABLE && !(MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP)",
+ "fieldName": "details.appDefinition.addons.delivery",
+ "icon": "question",
+ "description": "Select any desired add-ons to your project. Please note that each add-on will incur a cost and has a delivery duration. Your project estimate will be updated to reflect the cost and duration of your base solution and add-ons. Additionally, you will receive a full breakdown on cost in the final project proposal from Topcoder.",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "title": "Delivery add-ons",
+ "type": "add-ons",
+ "category": "deployment"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized",
+ "enabled": true
+ },
+ "type": "questions"
+ }
+ ],
+ "wizard": {
+ "enabled": true
+ },
+ "id": "add-ons",
+ "title": "Configure my app"
+ },
+ {
+ "subSections": [
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "static",
+ "content": "
Your Project Estimate
"
+ }
+ ],
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "type": "portal",
+ "content": [
+ {
+ "sectionIndex": 1
+ },
+ {
+ "sectionIndex": 3
+ }
+ ]
+ },
+ {
+ "condition": "!(MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP)",
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "estimation",
+ "title": "Your project timeline",
+ "deliverables": [
+ {
+ "id": "design",
+ "deliverableKey": "design",
+ "title": "Design",
+ "enableCondition": "HAS_DESIGN_DELIVERABLE"
+ },
+ {
+ "id": "development",
+ "deliverableKey": "dev-qa",
+ "title": "Development & QA",
+ "enableCondition": "HAS_DEV_DELIVERABLE"
+ },
+ {
+ "id": "deployment",
+ "deliverableKey": "deployment",
+ "title": "Deploy",
+ "enableCondition": "HAS_DEPLOY_DELIVERABLE"
+ }
+ ]
+ }
+ ],
+ "type": "questions"
+ },
+ {
+ "hiddenOnCreation": false,
+ "fieldName": "attachments",
+ "description": "",
+ "id": "files",
+ "title": "Please upload any document that can help us in moving ahead with the project",
+ "type": "files"
+ }
+ ],
+ "hiddenOnEdit": true,
+ "footer": {
+ "content": ""
+ },
+ "nextButtonText": "Save my project",
+ "id": "summary-final",
+ "hideFormHeader": true
+ }
+ ],
+ "baseTimeEstimateMax": 6,
+ "priceConfigOpt": null
+ },
+ "name": "Design, Development & Deployment",
+ "disabled": false,
+ "id": 104,
+ "category": "scoped-solutions",
+ "key": "app_new",
+ "phases": {},
+ "updatedAt": "2020-01-22T13:22:41.142Z",
+ "info": "Create high-quality designs, develop and/or deploy your app or website"
+ },
+ {
+ "metadata": {},
+ "subCategory": null,
+ "aliases": [
+ "sfdc_testing",
+ "sfdc-testing"
+ ],
+ "updatedBy": 40051333,
+ "question": "What kind of quality assurance (QA) do you need?",
+ "hidden": false,
+ "icon": "product-qa-sfdc-accelerator",
+ "priceConfig": null,
+ "deletedBy": null,
+ "planConfig": null,
+ "createdAt": "2018-07-06T07:38:29.000Z",
+ "deletedAt": null,
+ "form": null,
+ "createdBy": 40051333,
+ "scope": {
+ "sections": [
+ {
+ "subSections": [
+ {
+ "fieldName": "name",
+ "description": "",
+ "id": "projectName",
+ "title": "Project Name",
+ "type": "project-name",
+ "required": true,
+ "validationError": "Please provide a name to your project"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "description",
+ "validationErrors": {
+ "isRequired": "Please provide a description",
+ "minLength": "Please enter at least 160 characters"
+ },
+ "description": "Brief description of your project, Salesforce.com implementation testing objectives",
+ "id": "projectInfo",
+ "validations": "isRequired,minLength:160",
+ "title": "Description",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.appDefinition.components",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Manual Test packs + Business Models + Automation scripts",
+ "value": "pack_one"
+ },
+ {
+ "label": "License for AssureNXT and Tosca for 2 months",
+ "value": "pack_two"
+ },
+ {
+ "label": "Customization services to fit the pre-built assets to your specific use cases",
+ "value": "pack_three"
+ }
+ ],
+ "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",
+ "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)",
+ "type": "checkbox-group",
+ "required": true,
+ "validationError": "Please provide the required options"
+ },
+ {
+ "fieldName": "details.appDefinition.functionalities",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Sales Cloud - Campaign",
+ "value": "sales_cloud_campaign"
+ },
+ {
+ "label": "Lead",
+ "value": "lead"
+ },
+ {
+ "label": "Account",
+ "value": "account"
+ },
+ {
+ "label": "Contact",
+ "value": "contact"
+ },
+ {
+ "label": "Opportunity",
+ "value": "opportunity"
+ },
+ {
+ "label": "Quote",
+ "value": "quote"
+ },
+ {
+ "label": "Contract & Order Management",
+ "value": "contract_and_order"
+ },
+ {
+ "label": "Product & Price Book and End to End Processes & Misc Functions (Activites Chatter Reports & Dashboards)",
+ "value": "product_price"
+ },
+ {
+ "label": "Service Cloud – Case Management",
+ "value": "service_cloud_case_management"
+ }
+ ],
+ "description": "",
+ "title": "Select the functionalities which are applicable for your Salesforce.com Implementation ( 1 or multiple from the 10 listed below)",
+ "type": "checkbox-group"
+ },
+ {
+ "fieldName": "details.appDefinition.lightningExperience.value",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "Yes"
+ },
+ {
+ "label": "No",
+ "value": "No"
+ },
+ {
+ "label": "I Don't Know",
+ "value": "Neither"
+ }
+ ],
+ "description": "",
+ "title": "Are you using the Lightning Experience?",
+ "type": "radio-group",
+ "required": true
+ }
+ ],
+ "description": "",
+ "id": "questions",
+ "title": "Questions",
+ "type": "questions",
+ "required": true
+ },
+ {
+ "fieldName": "details.appDefinition.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.",
+ "id": "notes",
+ "title": "Notes",
+ "type": "notes"
+ }
+ ],
+ "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",
+ "id": "appDefinition",
+ "title": "Salesforce Accelerator",
+ "required": true
+ }
+ ]
+ },
+ "name": "Salesforce Accelerator",
+ "disabled": false,
+ "id": 15,
+ "category": "quality_assurance",
+ "key": "sfdc_testing",
+ "phases": {
+ "1-qa-iteration-i": {
+ "duration": 24,
+ "name": "QA Phase",
+ "products": [
+ {
+ "id": 30,
+ "productKey": "qa-iteration"
+ }
+ ]
+ }
+ },
+ "updatedAt": "2020-01-22T13:22:41.239Z",
+ "info": "SalesForce Testing, Cross browser-device Testing"
+ },
+ {
+ "metadata": {},
+ "subCategory": null,
+ "aliases": [
+ "app-new-test",
+ "app_new_test"
+ ],
+ "updatedBy": 40051333,
+ "question": "What do you need to develop ?",
+ "hidden": true,
+ "icon": "product-app-app",
+ "priceConfig": null,
+ "deletedBy": null,
+ "planConfig": null,
+ "createdAt": "2018-12-27T10:51:50.000Z",
+ "deletedAt": null,
+ "form": null,
+ "createdBy": 40051333,
+ "scope": {
+ "basePriceEstimate": 5000,
+ "wizard": {
+ "previousStepVisibility": "readOnly",
+ "enabled": true
+ },
+ "baseTimeEstimateMin": 7,
+ "sections": [
+ {
+ "subSections": [
+ {
+ "description": "",
+ "id": "projectName",
+ "type": "project-name",
+ "title": "Project Name"
+ },
+ {
+ "questions": [
+ {
+ "layout": "horizontal",
+ "fieldName": "details.appDefinition.appType",
+ "affectsQuickQuote": true,
+ "icon": "question",
+ "options": [
+ {
+ "disableCondition": "details.appDefinition.appType contains 'responsive-web-app'",
+ "minTimeUp": 5,
+ "icon": "icon-tech-outline-mobile",
+ "label": "iOS",
+ "value": "ios",
+ "quoteUp": 1000,
+ "maxTimeUp": 7,
+ "desc": "iOS Apps"
+ },
+ {
+ "disableCondition": "details.appDefinition.appType contains 'responsive-web-app'",
+ "iconOptions": {
+ "fill": "#000000"
+ },
+ "minTimeUp": 4,
+ "icon": "icon-tech-outline-mobile",
+ "label": "Android",
+ "value": "android",
+ "quoteUp": 800,
+ "maxTimeUp": 6,
+ "desc": "Android Apps"
+ },
+ {
+ "disableCondition": "details.appDefinition.appType contains 'responsive-web-app'",
+ "iconOptions": {
+ "fill": "#000000"
+ },
+ "icon": "icon-tech-outline-desktop",
+ "label": "Progressive Web App",
+ "value": "progressive-web-app",
+ "desc": "Progressive Web Apps"
+ },
+ {
+ "disableCondition": "details.appDefinition.appType contains 'responsive-web-app'",
+ "iconOptions": {
+ "fill": "#000000"
+ },
+ "icon": "icon-tech-outline-desktop",
+ "label": "Desktop",
+ "value": "desktop",
+ "desc": "Desktop Apps"
+ },
+ {
+ "disableCondition": "( details.appDefinition.appType contains 'progressive-web-app' ) || ( details.appDefinition.appType contains 'ios' ) || ( details.appDefinition.appType contains 'android' ) || ( details.appDefinition.appType contains 'desktop' )",
+ "iconOptions": {
+ "fill": "#000000"
+ },
+ "icon": "icon-tech-outline-desktop",
+ "label": "Responsive Web App",
+ "value": "responsive-web-app",
+ "desc": "Responsive Web Apps"
+ }
+ ],
+ "description": "Select maximum 2 types of app 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.",
+ "title": "What do you need?",
+ "type": "checkbox-group"
+ },
+ {
+ "condition": "( details.appDefinition.appType contains 'ios' ) || ( details.appDefinition.appType contains 'android' )",
+ "fieldName": "details.appDefinition.nativeHybrid",
+ "icon": "question",
+ "options": [
+ {
+ "icon": "icon-tech-outline-mobile",
+ "title": "Native",
+ "value": "native",
+ "desc": "Native Apps"
+ },
+ {
+ "iconOptions": {
+ "fill": "#000000"
+ },
+ "icon": "icon-tech-outline-mobile",
+ "title": "Hybrid",
+ "value": "hybrid",
+ "desc": "Hybrid Apps"
+ }
+ ],
+ "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.",
+ "title": "Does your app need to be Native or Hybrid?",
+ "type": "tiled-radio-group"
+ },
+ {
+ "layout": "horizontal",
+ "fieldName": "details.appDefinition.targetDevices",
+ "icon": "question",
+ "options": [
+ {
+ "condition": "( details.appDefinition.appType contains 'responsive-web-app' ) || ( details.appDefinition.appType contains 'desktop' )",
+ "label": "Desktop",
+ "value": "desktop"
+ },
+ {
+ "label": "Tablet",
+ "value": "tablet"
+ },
+ {
+ "label": "Mobile",
+ "value": "mobile"
+ }
+ ],
+ "description": "",
+ "title": "What devices do you need this for?",
+ "type": "checkbox-group"
+ },
+ {
+ "fieldName": "details.appDefinition.numberScreens",
+ "icon": "question",
+ "options": [
+ {
+ "iconOptions": {
+ "number": "2-4"
+ },
+ "price": 1887,
+ "icon": "NumberText",
+ "title": "screens (small)",
+ "value": "2-4",
+ "desc": "7-10 days"
+ },
+ {
+ "iconOptions": {
+ "number": "5-8"
+ },
+ "price": 6208,
+ "icon": "NumberText",
+ "title": "screens (medium)",
+ "value": "5-8",
+ "desc": "10-12 days"
+ },
+ {
+ "iconOptions": {
+ "number": "9-15"
+ },
+ "price": 8758,
+ "icon": "NumberText",
+ "title": "screens (large)",
+ "value": "9-15",
+ "desc": "10-12 days"
+ }
+ ],
+ "description": "This is the most popular project size that can get a medium-sized app designed in a breeze",
+ "title": "How many screens do you need?",
+ "type": "tiled-radio-group",
+ "required": true,
+ "validationError": "Please let us know the number of screens required?"
+ },
+ {
+ "fieldName": "details.appDefinition.deliverables",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Design",
+ "value": "design"
+ },
+ {
+ "label": "Development & QA",
+ "value": "dev-qa"
+ },
+ {
+ "label": "Design, Development & QA",
+ "value": "design-dev-qa"
+ }
+ ],
+ "description": "",
+ "title": "What kind of deliverables do you need?",
+ "type": "radio-group"
+ },
+ {
+ "condition": "( details.appDefinition.deliverables contains 'design' )",
+ "fieldName": "details.appDefinition.quickTurnaround",
+ "icon": "question",
+ "options": [
+ {
+ "label": "I need designs in three days",
+ "value": "under-3-days"
+ },
+ {
+ "label": "I need designs in six days",
+ "value": "under-6-days"
+ },
+ {
+ "label": "I need a comprehensive design solution",
+ "value": "comprehensive-design"
+ }
+ ],
+ "description": "",
+ "title": "Need a quick turnaround for your designs?",
+ "type": "radio-group"
+ },
+ {
+ "condition": "(details.appDefinition.deliverables == 'design' && details.appDefinition.quickTurnaround == 'comprehensive-design')",
+ "fieldName": "details.appDefinition.designAddons",
+ "icon": "question",
+ "description": "",
+ "title": "Choose Design add-ons",
+ "type": "add-ons",
+ "category": "generic",
+ "subCategories": [
+ "design",
+ "qa"
+ ]
+ },
+ {
+ "condition": "(details.appDefinition.deliverables == 'dev-qa')",
+ "fieldName": "details.appDefinition.devQAAddons",
+ "icon": "question",
+ "description": "",
+ "title": "Choose Dev/QA add-ons",
+ "type": "add-ons",
+ "category": "generic",
+ "subCategories": [
+ "dev-qa",
+ "security"
+ ]
+ },
+ {
+ "condition": "(details.appDefinition.deliverables == 'design-dev-qa')",
+ "fieldName": "details.appDefinition.devQAAddons",
+ "icon": "question",
+ "description": "",
+ "title": "Choose Design/Dev/QA add-ons",
+ "type": "add-ons",
+ "category": "generic",
+ "subCategories": [
+ "dev-qa",
+ "security"
+ ]
+ },
+ {
+ "fieldName": "details.appDefinition.caNeeded",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Yes (Managed)",
+ "value": "yes"
+ },
+ {
+ "label": "No (Unmanaged)",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "title": "Do you want a Community Architect to oversee your project?",
+ "type": "radio-group"
+ }
+ ],
+ "description": "",
+ "wizard": {
+ "enabled": true
+ },
+ "id": "questions",
+ "type": "questions",
+ "title": "Requirements"
+ },
+ {
+ "fieldName": "details.appDefinition.notes",
+ "description": "Please enter any additional information like requirements and/or test cases. After creating your project you will be able to upload files.",
+ "id": "notes",
+ "title": "Notes",
+ "type": "notes"
+ },
+ {
+ "fieldName": "details.appDefinition.message",
+ "hideTitle": true,
+ "description": "If you are done with requirements for your projects please review and continue to create project.",
+ "id": "message",
+ "title": "Message",
+ "type": "message"
+ }
+ ],
+ "description": "",
+ "wizard": {
+ "enabled": true
+ },
+ "id": "appDefinition",
+ "title": "App Definition",
+ "required": true
+ }
+ ],
+ "baseTimeEstimateMax": 10
+ },
+ "name": "App",
+ "disabled": false,
+ "id": 74,
+ "category": "app",
+ "key": "app_new",
+ "phases": {
+ "2-front-end-development-i": {
+ "duration": 19,
+ "name": "Front-End Development, Pt. I",
+ "products": [
+ {
+ "id": 27,
+ "productKey": "development-iteration-3-milestones"
+ }
+ ]
+ },
+ "4-back-end-development-i": {
+ "duration": 19,
+ "name": "Back-End Development, Pt. I",
+ "products": [
+ {
+ "id": 27,
+ "productKey": "development-iteration-3-milestones"
+ }
+ ]
+ },
+ "3-front-end-development-ii": {
+ "duration": 19,
+ "name": "Front-End Development, Pt. II",
+ "products": [
+ {
+ "id": 27,
+ "productKey": "development-iteration-3-milestones"
+ }
+ ]
+ },
+ "5-back-end-development-ii": {
+ "duration": 19,
+ "name": "Back-End Development, Pt. II",
+ "products": [
+ {
+ "id": 27,
+ "productKey": "development-iteration-3-milestones"
+ }
+ ]
+ },
+ "1-app-design": {
+ "duration": 25,
+ "name": "App Design",
+ "products": [
+ {
+ "id": 26,
+ "productKey": "design-iteration-3-milestones"
+ }
+ ]
+ },
+ "6-qa-and-bug-fixes": {
+ "duration": 24,
+ "name": "QA & Bug Fixes",
+ "products": [
+ {
+ "id": 30,
+ "productKey": "qa-iteration"
+ }
+ ]
+ }
+ },
+ "updatedAt": "2020-01-22T13:22:41.240Z",
+ "info": "Build apps for mobile, web, or wearables"
+ },
+ {
+ "metadata": {},
+ "subCategory": null,
+ "aliases": [
+ "enterprise_mobile",
+ "enterprise-mobile"
+ ],
+ "updatedBy": 40051333,
+ "question": "What do you need to develop?",
+ "hidden": true,
+ "icon": "../../assets/icons/product-app-app.svg",
+ "priceConfig": null,
+ "deletedBy": null,
+ "planConfig": null,
+ "createdAt": "2018-07-09T10:00:42.000Z",
+ "deletedAt": null,
+ "form": null,
+ "createdBy": 40051333,
+ "scope": {
+ "sections": [
+ {
+ "subSections": [
+ {
+ "fieldName": "name",
+ "description": "",
+ "id": "projectName",
+ "title": "Project Name",
+ "type": "project-name",
+ "required": true,
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "description",
+ "validationErrors": {
+ "isRequired": "Please provide a description",
+ "minLength": "Please enter at least 160 characters"
+ },
+ "description": "Can you provide a brief summary of the application you’d like to develop?",
+ "id": "projectInfo",
+ "validations": "isRequired,minLength:160",
+ "title": "App Summary",
+ "type": "textbox",
+ "required": true
+ },
+ {
+ "fieldName": "details.appDefinition.appType",
+ "icon": "question",
+ "options": [
+ {
+ "label": "iOS App - An app built for iPhone or iPads",
+ "value": "ios"
+ },
+ {
+ "label": "Android App - An app built for mobile phones or tablets running Android.",
+ "value": "android"
+ },
+ {
+ "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": "hybrid"
+ },
+ {
+ "label": "Mobile Web App - An app that is accessed by using a mobile web browser like Safari or Chrome.",
+ "value": "web"
+ }
+ ],
+ "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. ",
+ "title": "App Type",
+ "type": "checkbox-group",
+ "required": true,
+ "validationError": "Please let us know the target 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"
+ },
+ {
+ "fieldName": "details.appDefinition.formFactor",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Mobile Phone - Portrait",
+ "value": "mobile-phone-portrait"
+ },
+ {
+ "label": "Mobile Phone - Landscape",
+ "value": "mobile-phone-landscape"
+ },
+ {
+ "label": "Tablet Device - Portrait",
+ "value": "tablet-device-portrait"
+ },
+ {
+ "label": "Tablet Device - Landscape",
+ "value": "tablet-device-landscape"
+ }
+ ],
+ "description": "Please select each for each form factor/orientation that must be supported.",
+ "title": "Form Factor/Orientation",
+ "type": "checkbox-group"
+ }
+ ],
+ "description": "",
+ "id": "user",
+ "title": "Questions",
+ "type": "questions",
+ "required": true
+ },
+ {
+ "hideTitle": false,
+ "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"
+ }
+ ],
+ "description": "",
+ "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”",
+ "type": "questions",
+ "required": false
+ },
+ {
+ "hideTitle": false,
+ "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"
+ }
+ ],
+ "description": "Please select each for each user type/role. Please provide details on what the user/role should do in the Description column.",
+ "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",
+ "required": false
+ },
+ {
+ "hideTitle": false,
+ "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"
+ }
+ ],
+ "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.",
+ "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.",
+ "type": "questions",
+ "required": false
+ },
+ {
+ "hideTitle": false,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.screens",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Enterprise Login - Supports integration with an existing authorization/authentication mechanism.",
+ "value": "enterprise-login"
+ },
+ {
+ "label": "Email Login - Support sign in using an email address/password.",
+ "value": "email-login"
+ },
+ {
+ "label": "Social Login - Support register and login using third-party services such as Facebook, Twitter, and Google.",
+ "value": "social-login"
+ },
+ {
+ "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": "registration"
+ },
+ {
+ "label": "Invitations - Allow users to invite others to use your app via email. ",
+ "value": "invitations"
+ },
+ {
+ "label": "Introductions - Present your app and inform users of core functionality using a series of introductory screens before they sign up.",
+ "value": "introductions"
+ },
+ {
+ "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": "onboarding"
+ },
+ {
+ "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": "search"
+ },
+ {
+ "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": "location-based-services"
+ },
+ {
+ "label": "Camera (Audio & Video) - Add this feature if your app will require using the camera to capture audio or video.",
+ "value": "camera"
+ },
+ {
+ "label": "File Upload - Allow users to upload photos or other files.",
+ "value": "file-upload"
+ },
+ {
+ "label": "Notifications - Take advantage of notifications; for example, remind users to do certain tasks or update them on new content.",
+ "value": "notifications"
+ },
+ {
+ "label": "Dashboard - App must have a central dashboard where users can access functionality",
+ "value": "dashboard"
+ },
+ {
+ "label": "Tagging - Allow users to tag products, people or content; for example, in order to classify and easily retrieve notes.",
+ "value": "tagging"
+ },
+ {
+ "label": "Account Settings - Allow your users to adjust settings or specify preferences, such as communication frequency.",
+ "value": "account-settings"
+ },
+ {
+ "label": "Help/FAQs - Include a section dedicated to FAQ or Help content.",
+ "value": "help-faws"
+ },
+ {
+ "label": "Marketplace - Allow users to buy, sell, or rent products or services.",
+ "value": "marketplace"
+ },
+ {
+ "label": "Ratings & Reviews - Let users rate or review people, products, or services.",
+ "value": "ratings-reviews"
+ },
+ {
+ "label": "Payments - Allow users to pay in some way; for example, using credit cards, PayPal, or Bitcoin.",
+ "value": "payments"
+ },
+ {
+ "label": "Shopping Cart - Allow users to save items before purchasing. Please specify your desired functionality below.",
+ "value": "shopping-cart"
+ },
+ {
+ "label": "Product Listing - Add this feature to shows lists of product or services, with individual detail pages for each one.",
+ "value": "product-listing"
+ },
+ {
+ "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": "activity-feed"
+ },
+ {
+ "label": "Profiles - Add this feature if your app requires users to have a profile, including the ability to edit it.",
+ "value": "profiles"
+ },
+ {
+ "label": "Messaging - Allow direct communication between two or more users.",
+ "value": "messaging"
+ },
+ {
+ "label": "Admin Tool - App must have an administrative tool or panel to enable direct management of users, content and the application.",
+ "value": "admin-tool"
+ },
+ {
+ "label": "Social Media Integration - App must integrate with social media providers (Facebook, Instagram, Twitter, Google+, etc)",
+ "value": "social-media-integration"
+ },
+ {
+ "label": "Reporting - App must have the ability to report/export data",
+ "value": "reporting"
+ },
+ {
+ "label": "Contact Us - App must have the ability to allow users to contact an administrator/send feedback to administrators.",
+ "value": "contact-us"
+ },
+ {
+ "label": "3D Touch - If this is an iOS App -- should the designers make use of 3D Touch?",
+ "value": "3d-touch"
+ }
+ ],
+ "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. ",
+ "title": "Screen / Feature List",
+ "type": "checkbox-group"
+ },
+ {
+ "fieldName": "details.appDefinition.techFeatures",
+ "icon": "question",
+ "options": [
+ {
+ "label": "SSO Integration - App must integrate with enterprise single-sign-on capability.",
+ "value": "enterprise-login"
+ },
+ {
+ "label": "API Integration - App must integrate with a pre-existing API.",
+ "value": "api-integration"
+ },
+ {
+ "label": "Third Party System Integration - App must integrate with an external application or system and either retrieve or post data.",
+ "value": "third-party-system-integration"
+ },
+ {
+ "label": "Containerized Code - The codebase must be containerized via Docker to allow for easier deployment and maintenance.",
+ "value": "containerized-code"
+ },
+ {
+ "label": "Unit Tests - App must have unit tests to ensure code coverage.",
+ "value": "unit-tests"
+ },
+ {
+ "label": "Continuous Integration / Continuous Deployment - Establishment of a CI/CD pipeline.",
+ "value": "continuous-integration-/-continuous-deployment"
+ },
+ {
+ "label": "Analytics Implementation - Implementation of analytics to track user behavior and app usage.",
+ "value": "analytics-implementation"
+ },
+ {
+ "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": "email-(smtp-server)-setup"
+ },
+ {
+ "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": "offline-capability"
+ },
+ {
+ "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": "camera"
+ },
+ {
+ "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": "apple-app-store-&-google-play-submission-support"
+ },
+ {
+ "label": "SMS Gateway Integration - App must integrate with an external SMS gateway/provider for notifications via SMS.",
+ "value": "sms-gateway-integration"
+ },
+ {
+ "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": "error-logging"
+ },
+ {
+ "label": "Face ID / Touch ID -- If this is an iOS App -- should we support Face ID/Touch ID for login",
+ "value": "faceid-touchid"
+ }
+ ],
+ "description": "Please select each required technology requirement above",
+ "title": "Technology Requirements",
+ "type": "checkbox-group"
+ }
+ ],
+ "description": "",
+ "id": "screen-features",
+ "title": "Screen and Features",
+ "type": "questions",
+ "required": false
+ },
+ {
+ "hideTitle": false,
+ "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"
+ }
+ ],
+ "description": "Do you have a preferred technology stack? If yes, please list those requirements here:",
+ "id": "techStack",
+ "title": "Technology Stack - Do you have a preferred technology stack? If yes, please list those requirements here:",
+ "type": "questions",
+ "required": false
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.qaTesting.security",
+ "options": [
+ {
+ "label": "Standard Security - Select this option if your app requires standard security.",
+ "value": "standard"
+ },
+ {
+ "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": "enterprise"
+ },
+ {
+ "label": "Vulnerability Scanning - Vulnerability scanning is a security technique used to identify security weaknesses in a computer system.",
+ "value": "vulnerability"
+ },
+ {
+ "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": "auditing"
+ },
+ {
+ "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": "confidential"
+ },
+ {
+ "label": "Mobile Device Management (MDM) - Do you employ an MDM solution? If yes, what service do you use?",
+ "value": "mdm"
+ }
+ ],
+ "description": "Please select each required security requirement above.",
+ "title": "Security Requirements",
+ "type": "checkbox-group"
+ },
+ {
+ "fieldName": "details.qaTesting.testing",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Real World Unstructured - Functional testing performed without test scripts. Users search on their own for bugs or usability issues.",
+ "value": "rw-unstructured"
+ },
+ {
+ "label": "Real World Testing - Structured - Test case based execution, covering all the functional requirements & cross-browser device testing.",
+ "value": "rw-structured"
+ },
+ {
+ "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": "testcases"
+ },
+ {
+ "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": "certification"
+ },
+ {
+ "label": "Mobile Device Lab on Hire - Allows you to remotely access devices in real cell networks across the world",
+ "value": "devicelab"
+ },
+ {
+ "label": "Performance Testing - Testing web application’s robustness, availability, and reliability for defined business scenarios and concurrent users.",
+ "value": "performanceTuning"
+ },
+ {
+ "label": "Performance Tuning - Analyze and identify performance issues, actionable items for improvement.",
+ "value": "performanceTesting"
+ }
+ ],
+ "description": "Please select each for each required QA requirement.",
+ "title": "Quality Assurance, Test Data & Performance Testing",
+ "type": "checkbox-group"
+ },
+ {
+ "fieldName": "details.qaTesting.users",
+ "icon": "question",
+ "title": "How many users do you intend to support?",
+ "type": "textbox",
+ "required": false
+ },
+ {
+ "fieldName": "details.qaTesting.data",
+ "icon": "question",
+ "options": [
+ {
+ "title": "We will provide obfuscated data",
+ "value": "create"
+ },
+ {
+ "title": "Topcoder will create data",
+ "value": "provide"
+ }
+ ],
+ "title": "Do you intend to supply test data or should Topcoder create it?",
+ "type": "slide-radiogroup",
+ "required": false
+ },
+ {
+ "fieldName": "details.qaTesting.uat",
+ "icon": "question",
+ "options": [
+ {
+ "label": "1 UAT/Beta Test Cycle.",
+ "value": "uat"
+ },
+ {
+ "label": "Implementation of Updates (update the app based on UAT/Beta Testing feedback)",
+ "value": "uat-updates"
+ }
+ ],
+ "description": "UAT is the process of sharing the final application with users and gathering feedback. Please select each required UAT requirement.",
+ "title": "User Acceptance / Beta Testing",
+ "type": "checkbox-group"
+ }
+ ],
+ "description": "",
+ "title": "Quality Assurance, Testing and Security",
+ "type": "questions"
+ },
+ {
+ "hideTitle": false,
+ "questions": [
+ {
+ "fieldName": "details.loadDetails.budget",
+ "icon": "question",
+ "options": [
+ {
+ "title": "Under $25K ",
+ "value": "upto-25"
+ },
+ {
+ "title": "$25K to $50K",
+ "value": "upto-50"
+ },
+ {
+ "title": "$50K to $75K",
+ "value": "upto-75"
+ },
+ {
+ "title": "$75K to $100K",
+ "value": "upto-100"
+ },
+ {
+ "title": "More than $100K",
+ "value": "above-100"
+ }
+ ],
+ "description": "How much budget do you have?",
+ "title": "Budget",
+ "type": "slide-radiogroup",
+ "required": true,
+ "validationError": "Please provide expected hours of execution"
+ },
+ {
+ "fieldName": "details.loadDetails.timeline",
+ "icon": "question",
+ "options": [
+ {
+ "title": "Under 1 month",
+ "value": "upto-1month"
+ },
+ {
+ "title": "1 to 2 months",
+ "value": "upto-2months"
+ },
+ {
+ "title": "2 to 3 months",
+ "value": "upto-3months"
+ },
+ {
+ "title": "3 to 6 months",
+ "value": "upto-6months"
+ }
+ ],
+ "description": "When do you need your app by?",
+ "title": "Timeline",
+ "type": "slide-radiogroup",
+ "required": true,
+ "validationError": "Please provide expected hours of execution"
+ }
+ ],
+ "description": "",
+ "title": "Budget and Timeline",
+ "type": "questions"
+ },
+ {
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)",
+ "id": "notes",
+ "title": "Notes",
+ "type": "notes"
+ }
+ ],
+ "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.",
+ "id": "appDefinition",
+ "title": "Enterprise Mobile",
+ "required": true
+ }
+ ]
+ },
+ "name": "Enterprise Mobile",
+ "disabled": false,
+ "id": 17,
+ "category": "app",
+ "key": "enterprise_mobile",
+ "phases": {
+ "enterprise_mobile": {
+ "duration": 10,
+ "name": "Enterprise Mobile",
+ "products": [
+ {
+ "id": 6,
+ "productKey": "enterprise_mobile"
+ }
+ ]
+ }
+ },
+ "updatedAt": "2020-01-22T13:22:41.240Z",
+ "info": "Enterprise Mobile"
+ },
+ {
+ "metadata": {},
+ "subCategory": null,
+ "aliases": [
+ "frontend-development",
+ "frontend_dev"
+ ],
+ "updatedBy": 40051333,
+ "question": "Front-end Development",
+ "hidden": false,
+ "icon": "../../assets/icons/product-dev-front-end-dev.svg",
+ "priceConfig": null,
+ "deletedBy": null,
+ "planConfig": null,
+ "createdAt": "2018-06-21T12:29:58.000Z",
+ "deletedAt": null,
+ "form": null,
+ "createdBy": 40051333,
+ "scope": {
+ "sections": [
+ {
+ "subSections": [
+ {
+ "fieldName": "name",
+ "description": "",
+ "id": "projectName",
+ "title": "Project Name",
+ "type": "project-name",
+ "required": true,
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.primaryTarget",
+ "icon": "question",
+ "options": [
+ {
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "icon": "IconTechOutlineMobile",
+ "title": "Phone",
+ "value": "phone",
+ "desc": "iOS, Android, Hybrid"
+ },
+ {
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "icon": "IconTechOutlineTablet",
+ "title": "Tablet",
+ "value": "tablet",
+ "desc": "iOS, Android, Hybrid"
+ },
+ {
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "icon": "IconTechOutlineDesktop",
+ "title": "Desktop",
+ "value": "desktop",
+ "desc": "all OS"
+ },
+ {
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "icon": "IconTechOutlineWatchApple",
+ "title": "Wearable",
+ "value": "wearable",
+ "desc": "Watch OS, Android Wear"
+ }
+ ],
+ "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.",
+ "title": "Which is your primary device target?",
+ "type": "tiled-radio-group",
+ "required": true,
+ "validationError": "Please let us know the target device"
+ },
+ {
+ "fieldName": "description",
+ "validationErrors": {
+ "isRequired": "Please provide a description",
+ "minLength": "Please enter at least 160 characters"
+ },
+ "description": "Brief Description",
+ "id": "projectInfo",
+ "validations": "isRequired,minLength:160",
+ "title": "Description",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.appDefinition.goal.value",
+ "icon": "question",
+ "description": "Describe your objectives for creating this application",
+ "title": "What is the goal of your application? How will people use it?",
+ "type": "textbox",
+ "required": true,
+ "validationError": "Please let us know the goal of your application"
+ },
+ {
+ "fieldName": "details.appDefinition.users.value",
+ "icon": "question",
+ "description": "Describe the roles and needs of your target users",
+ "title": "Who are the users of your application? ",
+ "type": "textbox",
+ "required": true,
+ "validationError": "Please let us know users of your application"
+ }
+ ],
+ "description": "",
+ "id": "questions",
+ "title": "Questions",
+ "type": "questions",
+ "required": true
+ },
+ {
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)",
+ "id": "notes",
+ "title": "Notes",
+ "type": "notes"
+ }
+ ],
+ "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.",
+ "id": "appDefinition",
+ "title": "Front-end",
+ "required": true
+ }
+ ]
+ },
+ "name": "Front-end",
+ "disabled": false,
+ "id": 9,
+ "category": "app_dev",
+ "key": "frontend_dev",
+ "phases": {
+ "1-dev-iteration-i": {
+ "duration": 25,
+ "name": "Dev Itegration",
+ "products": [
+ {
+ "id": 25,
+ "productKey": "design-iteration-2-milestones"
+ }
+ ]
+ },
+ "2-dev-iteration-ii": {
+ "duration": 25,
+ "name": "Dev Itegration",
+ "products": [
+ {
+ "id": 25,
+ "productKey": "design-iteration-2-milestones"
+ }
+ ]
+ }
+ },
+ "updatedAt": "2020-01-22T13:22:41.241Z",
+ "info": "Translate your designs into Web or Mobile front-end"
+ },
+ {
+ "metadata": {},
+ "subCategory": null,
+ "aliases": [
+ "website-test",
+ "website_development_test"
+ ],
+ "updatedBy": 40051333,
+ "question": "What do you need to Develop?",
+ "hidden": true,
+ "icon": "../../assets/icons/product-cat-website.svg",
+ "priceConfig": null,
+ "deletedBy": null,
+ "planConfig": null,
+ "createdAt": "2018-12-11T12:07:41.000Z",
+ "deletedAt": null,
+ "form": null,
+ "createdBy": 40051333,
+ "scope": {
+ "sections": [
+ {
+ "subSections": [
+ {
+ "fieldName": "name",
+ "description": "",
+ "id": "projectName",
+ "title": "Project Name",
+ "type": "project-name",
+ "required": true,
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.primaryTarget",
+ "icon": "question",
+ "options": [
+ {
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "icon": "../../assets/icons/icon-tech-outline-mobile.svg",
+ "title": "Phone",
+ "value": "phone",
+ "desc": "iOS, Android, Hybrid"
+ },
+ {
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "icon": "../../assets/icons/icon-tech-outline-tablet.svg",
+ "title": "Tablet",
+ "value": "tablet",
+ "desc": "iOS, Android, Hybrid"
+ },
+ {
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "icon": "../../assets/icons/icon-tech-outline-desktop.svg",
+ "title": "Desktop",
+ "value": "desktop",
+ "desc": "all OS"
+ },
+ {
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "icon": "../../assets/icons/icon-tech-outline-watch-apple.svg",
+ "title": "Wearable",
+ "value": "wearable",
+ "desc": "Watch OS, Android Wear"
+ }
+ ],
+ "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.",
+ "title": "Which is your primary device target?",
+ "type": "tiled-radio-group",
+ "required": true,
+ "validationError": "Please let us know the target device"
+ },
+ {
+ "fieldName": "description",
+ "validationErrors": {
+ "isRequired": "Please provide a description",
+ "minLength": "Please enter at least 160 characters"
+ },
+ "description": "Brief Description",
+ "id": "projectInfo",
+ "validations": "isRequired,minLength:160",
+ "title": "Description",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.appDefinition.goal.value",
+ "icon": "question",
+ "description": "Describe your objectives for creating this application",
+ "title": "What is the goal of your application? How will people use it?",
+ "type": "textbox",
+ "required": true,
+ "validationError": "Please let us know the goal of your application"
+ },
+ {
+ "fieldName": "details.appDefinition.users.value",
+ "icon": "question",
+ "description": "Describe the roles and needs of your target users",
+ "title": "Who are the users of your application? ",
+ "type": "textbox",
+ "required": true,
+ "validationError": "Please let us know users of your application"
+ }
+ ],
+ "description": "",
+ "id": "questions",
+ "title": "Questions",
+ "type": "questions",
+ "required": true
+ },
+ {
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)",
+ "id": "notes",
+ "title": "Notes",
+ "type": "notes"
+ }
+ ],
+ "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.",
+ "id": "appDefinition",
+ "title": "Website Development",
+ "required": true
+ }
+ ]
+ },
+ "name": "Website",
+ "disabled": false,
+ "id": 59,
+ "category": "website",
+ "key": "website-default",
+ "phases": {},
+ "updatedAt": "2020-01-22T13:22:41.241Z",
+ "info": "Design and build the high-impact pages for your blog, online store, or company"
+ },
+ {
+ "metadata": {},
+ "subCategory": null,
+ "aliases": [
+ "performance-testing",
+ "performance_testing"
+ ],
+ "updatedBy": 40051333,
+ "question": "What kind of quality assurance (QA) do you need?",
+ "hidden": false,
+ "icon": "product-qa-website-performance",
+ "priceConfig": null,
+ "deletedBy": null,
+ "planConfig": null,
+ "createdAt": "2018-07-06T08:22:15.000Z",
+ "deletedAt": null,
+ "form": null,
+ "createdBy": 40051333,
+ "scope": {
+ "sections": [
+ {
+ "subSections": [
+ {
+ "fieldName": "name",
+ "description": "",
+ "id": "projectName",
+ "title": "Project Name",
+ "type": "project-name",
+ "required": true,
+ "validationError": "Please provide a name to your project"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "description",
+ "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..",
+ "id": "projectInfo",
+ "validations": "isRequired,minLength:160",
+ "title": "Please provide brief description of the system and/or application you would like to execute Performance Testing on.",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.loadDetails.concurrentUsersCount",
+ "icon": "question",
+ "options": [
+ {
+ "title": "Up to 500",
+ "value": "upto-500"
+ },
+ {
+ "title": "Up to 1000",
+ "value": "upto-1000"
+ },
+ {
+ "title": "Up to 5000",
+ "value": "upto-5000"
+ },
+ {
+ "title": "More than 5000",
+ "value": "above-5000"
+ }
+ ],
+ "description": "(Unit package includes 500 virtual users, additional load would require Top-Ups)",
+ "title": "What is the desired load on the system in terms of concurrent users for this test??",
+ "type": "slide-radiogroup",
+ "required": true,
+ "validationError": "Please provide expected load"
+ },
+ {
+ "fieldName": "details.loadDetails.businessProcessesCount",
+ "icon": "question",
+ "options": [
+ {
+ "title": "Up to 5",
+ "value": "upto-5"
+ },
+ {
+ "title": "Up to 10",
+ "value": "upto-10"
+ },
+ {
+ "title": "Up to 25",
+ "value": "upto-25"
+ },
+ {
+ "title": "More than 25",
+ "value": "above-25"
+ }
+ ],
+ "description": "(Unit package covers 10 transactions, additional transactions would require Top-Ups)",
+ "title": "Approximately how many business processes/transactions will be included in your Performance Test?",
+ "type": "slide-radiogroup",
+ "required": true,
+ "validationError": "Please provide expected number of business processes"
+ },
+ {
+ "fieldName": "details.loadDetails.expectedExecutionHours",
+ "icon": "question",
+ "options": [
+ {
+ "title": "Up to 5",
+ "value": "upto-5"
+ },
+ {
+ "title": "Up to 10",
+ "value": "upto-10"
+ },
+ {
+ "title": "Up to 25",
+ "value": "upto-25"
+ },
+ {
+ "title": "More than 25",
+ "value": "above-25"
+ }
+ ],
+ "description": "(Unit package covers 10 hours of execution, additional execution time would require Top-Ups)",
+ "title": "How many hours do you expect the Performance Test to be executed for?",
+ "type": "slide-radiogroup",
+ "required": true,
+ "validationError": "Please provide expected hours of execution"
+ }
+ ],
+ "description": "",
+ "id": "questions",
+ "title": "Questions",
+ "type": "questions",
+ "required": true
+ },
+ {
+ "fieldName": "details.appDefinition.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.",
+ "id": "notes",
+ "title": "Notes",
+ "type": "notes"
+ }
+ ],
+ "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.",
+ "id": "appDefinition",
+ "title": "Performance Testing",
+ "required": true
+ }
+ ]
+ },
+ "name": "Performance Testing",
+ "disabled": false,
+ "id": 16,
+ "category": "quality_assurance",
+ "key": "performance_testing",
+ "phases": {
+ "1-qa-iteration-i": {
+ "duration": 24,
+ "name": "QA Phase",
+ "products": [
+ {
+ "id": 30,
+ "productKey": "qa-iteration"
+ }
+ ]
+ }
+ },
+ "updatedAt": "2020-01-22T13:22:41.242Z",
+ "info": "Webpage rendering effiency, Load, Stress and Endurance Test"
+ },
+ {
+ "metadata": {},
+ "subCategory": null,
+ "aliases": [
+ "kubik-perf-testing"
+ ],
+ "updatedBy": 40051333,
+ "question": "What kind of quality assurance (QA) do you need?",
+ "hidden": true,
+ "icon": "product-qa-crowd-testing",
+ "priceConfig": null,
+ "deletedBy": null,
+ "planConfig": null,
+ "createdAt": "2019-04-25T10:12:44.000Z",
+ "deletedAt": null,
+ "form": null,
+ "createdBy": 40051333,
+ "scope": {
+ "sections": [
+ {
+ "subSections": [
+ {
+ "fieldName": "name",
+ "description": "",
+ "id": "projectName",
+ "title": "Project Name",
+ "type": "project-name",
+ "required": true,
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "questions": [
+ {
+ "fieldName": "details.businessUnit",
+ "description": "Business Unit or Group function (e.g. ZNA, UK, GF&SU, COMMERCIAL INSURANCE,…)",
+ "validations": "isRequired",
+ "title": "BU",
+ "type": "textinput",
+ "validationError": "Mandatory field",
+ "required": true
+ },
+ {
+ "fieldName": "details.costCentre",
+ "validations": "isRequired",
+ "title": "Cost Centre",
+ "type": "textinput",
+ "validationError": "Mandatory field",
+ "required": true
+ }
+ ],
+ "id": "questions",
+ "title": "Business Unit & Cost Center",
+ "type": "questions",
+ "required": true
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "description",
+ "validationErrors": {
+ "isRequired": "Please provide a description",
+ "minLength": "Please enter at least 160 characters"
+ },
+ "description": "Please describe the testing application (background) and objectives of this test cycle. Please describe the users of this application and any other details that will help us understand your project.",
+ "id": "projectInfo",
+ "validations": "isRequired,minLength:160",
+ "title": "Project Overview",
+ "type": "textbox",
+ "required": true
+ }
+ ],
+ "description": "",
+ "id": "user",
+ "title": "Questions",
+ "type": "questions",
+ "required": true
+ },
+ {
+ "hideTitle": false,
+ "questions": [
+ {
+ "fieldName": "details.testingDetails.isLive",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "yest"
+ },
+ {
+ "label": "No",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "title": "Is this a live application (online/production)?",
+ "type": "radio-group",
+ "required": true,
+ "validationError": "Please let us know if this is a live application."
+ },
+ {
+ "fieldName": "details.testingDetails.createAccount",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "yes"
+ },
+ {
+ "label": "No",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "title": "Do users need to create accounts for testing (vs. you providing test accounts)? ",
+ "type": "radio-group"
+ },
+ {
+ "fieldName": "details.testingDetails.requiresDomainKnowledge",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "yes"
+ },
+ {
+ "label": "No",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "title": "Is domain knowledge required?",
+ "type": "radio-group"
+ },
+ {
+ "condition": "details.testingDetails.requiresDomainKnowledge == 'yes'",
+ "fieldName": "details.testingDetails.domainKnowledge",
+ "title": "Domain Knowledge",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.testingDetails.isEndCustomerFacing",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "yes"
+ },
+ {
+ "label": "No",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "title": "Is this an end customer facing application?",
+ "type": "radio-group"
+ },
+ {
+ "condition": "details.testingDetails.isEndCustomerFacing == 'yes'",
+ "fieldName": "details.testingDetails.endCustomerFacingDetails",
+ "title": "Customer facing application details",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.testingDetails.isGeographyTarget",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "yes"
+ },
+ {
+ "label": "No",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "title": "Should testing target a specific geography?",
+ "type": "radio-group"
+ },
+ {
+ "condition": "details.testingDetails.isGeographyTarget == 'yes'",
+ "fieldName": "details.testingDetails.targetGeographyDetails",
+ "title": "Target geography details",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.testingDetails.requiresTestingRights",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "yes"
+ },
+ {
+ "label": "No",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "title": "Does this testing effort require specific application testing rights?",
+ "type": "radio-group"
+ },
+ {
+ "condition": "details.testingDetails.requiresTestingRights == 'yes'",
+ "fieldName": "details.testingDetails.testingRights",
+ "title": "Specific application testing rights",
+ "type": "textbox"
+ }
+ ],
+ "description": "",
+ "id": "application-information",
+ "title": "Application Information",
+ "type": "questions",
+ "required": false
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.loadDetails.concurrentUsersCount",
+ "icon": "question",
+ "options": [
+ {
+ "title": "Up to 500",
+ "value": "upto-500"
+ },
+ {
+ "title": "Up to 1000",
+ "value": "upto-1000"
+ },
+ {
+ "title": "Up to 5000",
+ "value": "upto-5000"
+ },
+ {
+ "title": "More than 5000",
+ "value": "above-5000"
+ }
+ ],
+ "description": "(Unit package includes 500 virtual users, additional load would require Top-Ups)",
+ "title": "What is the desired load of concurrent users on the system?",
+ "type": "slide-radiogroup",
+ "required": true,
+ "validationError": "Please provide expected load"
+ },
+ {
+ "fieldName": "details.loadDetails.businessProcessesCount",
+ "icon": "question",
+ "options": [
+ {
+ "title": "Up to 5",
+ "value": "upto-5"
+ },
+ {
+ "title": "Up to 10",
+ "value": "upto-10"
+ },
+ {
+ "title": "Up to 25",
+ "value": "upto-25"
+ },
+ {
+ "title": "More than 25",
+ "value": "above-25"
+ }
+ ],
+ "description": "(Unit package covers 10 transactions, additional transactions would require Top-Ups)",
+ "title": "Approximately how many business processes/transactions will be included in your Performance Test?",
+ "type": "slide-radiogroup",
+ "required": false,
+ "validationError": "Please provide expected number of business processes"
+ },
+ {
+ "fieldName": "details.loadDetails.expectedExecutionHours",
+ "icon": "question",
+ "options": [
+ {
+ "title": "Up to 5",
+ "value": "upto-5"
+ },
+ {
+ "title": "Up to 10",
+ "value": "upto-10"
+ },
+ {
+ "title": "Up to 25",
+ "value": "upto-25"
+ },
+ {
+ "title": "More than 25",
+ "value": "above-25"
+ }
+ ],
+ "description": "(Unit package covers 10 hours of execution, additional execution time would require Top-Ups)",
+ "title": "How many hours do you expect the Performance Test to be executed for?",
+ "type": "slide-radiogroup",
+ "required": false,
+ "validationError": "Please provide expected hours of execution"
+ }
+ ],
+ "description": "",
+ "id": "questions",
+ "title": "Questions",
+ "type": "questions",
+ "required": true
+ },
+ {
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g. links to documents or existing applications)",
+ "id": "notes",
+ "title": "Notes",
+ "type": "notes"
+ },
+ {
+ "hiddenOnCreation": true,
+ "fieldName": "attachments",
+ "description": "",
+ "id": "files",
+ "title": "Files",
+ "type": "files",
+ "required": false
+ }
+ ],
+ "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.",
+ "id": "appDefinition",
+ "title": "Performance Testing",
+ "required": true
+ }
+ ]
+ },
+ "name": "Performance Testing",
+ "disabled": false,
+ "id": 111,
+ "category": "quality_assurance",
+ "key": "kubik-perf-testing",
+ "phases": {
+ "1-qa-and-bug-fixes": {
+ "duration": 24,
+ "name": "QA/Testing",
+ "products": [
+ {
+ "id": 30,
+ "productKey": "qa-iteration"
+ }
+ ]
+ }
+ },
+ "updatedAt": "2020-01-22T13:22:41.242Z",
+ "info": "Exploratory Testing, Cross browser-device Testing"
+ },
+ {
+ "metadata": {},
+ "subCategory": null,
+ "aliases": [
+ "app_new_addons",
+ "app-new-addons"
+ ],
+ "updatedBy": 40051333,
+ "question": "app_new_addons",
+ "hidden": true,
+ "icon": "product-app-app",
+ "priceConfig": null,
+ "deletedBy": null,
+ "planConfig": null,
+ "createdAt": "2019-01-23T02:26:24.000Z",
+ "deletedAt": null,
+ "form": null,
+ "createdBy": 40051333,
+ "scope": {
+ "basePriceEstimate": 5000,
+ "wizard": {
+ "previousStepVisibility": "readOnly",
+ "enabled": true
+ },
+ "baseTimeEstimateMin": 7,
+ "sections": [
+ {
+ "subSections": [
+ {
+ "description": "",
+ "id": "projectName",
+ "type": "project-name",
+ "title": "Project Name"
+ },
+ {
+ "questions": [
+ {
+ "layout": "horizontal",
+ "fieldName": "details.appDefinition.deliverables",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Design",
+ "value": "design"
+ },
+ {
+ "label": "Development",
+ "value": "dev-qa"
+ },
+ {
+ "label": "QA",
+ "value": "qa"
+ },
+ {
+ "label": "Deployment",
+ "value": "deployment"
+ }
+ ],
+ "description": "",
+ "title": "What do you need?",
+ "type": "checkbox-group"
+ },
+ {
+ "condition": "( details.appDefinition.deliverables contains 'design' )",
+ "fieldName": "details.appDefinition.designGoal",
+ "icon": "question",
+ "options": [
+ {
+ "label": "I just need concept designs",
+ "value": "concept-designs"
+ },
+ {
+ "label": "I need a comprehensive design solution that can be used for development.",
+ "value": "comprehensive-designs"
+ }
+ ],
+ "description": "",
+ "title": "What is the goal of your designs?",
+ "type": "radio-group"
+ },
+ {
+ "condition": "( details.appDefinition.designGoal == 'concept-designs' )",
+ "fieldName": "details.appDefinition.quickTurnaround",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Yes, I need designs ASAP",
+ "value": "under-3-days"
+ },
+ {
+ "label": "A week works for me!",
+ "value": "under-6-days"
+ }
+ ],
+ "description": "",
+ "title": "No problem! We can get you high-quality concept designs within a week. Do you need designs faster than this?",
+ "type": "radio-group"
+ },
+ {
+ "layout": "horizontal",
+ "condition": "( details.appDefinition.deliverables contains 'design' || details.appDefinition.deliverables contains 'dev-qa' )",
+ "fieldName": "details.appDefinition.targetDevices",
+ "affectsQuickQuote": true,
+ "icon": "question",
+ "options": [
+ {
+ "minTimeUp": 5,
+ "icon": "icon-tech-outline-mobile",
+ "label": "Mobile",
+ "value": "mobile",
+ "quoteUp": 1000,
+ "maxTimeUp": 7,
+ "desc": "Mobiles"
+ },
+ {
+ "minTimeUp": 5,
+ "icon": "icon-tech-outline-tablet",
+ "label": "Tablet",
+ "value": "tablet",
+ "quoteUp": 1000,
+ "maxTimeUp": 7,
+ "desc": "Tablets"
+ },
+ {
+ "iconOptions": {
+ "fill": "#000000"
+ },
+ "icon": "icon-tech-outline-desktop",
+ "label": "Desktop",
+ "value": "desktop",
+ "desc": "Desktop Apps"
+ },
+ {
+ "iconOptions": {
+ "fill": "#000000"
+ },
+ "icon": "icon-tech-outline-desktop",
+ "label": "Web Browser",
+ "value": "web-browser",
+ "desc": "Web browser apps"
+ }
+ ],
+ "description": "Select maximum 2 types of platforms 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.",
+ "title": "Where should your app work?",
+ "type": "checkbox-group"
+ },
+ {
+ "condition": "( details.appDefinition.targetDevices contains 'mobile' ) || ( details.appDefinition.targetDevices contains 'tablet' )",
+ "fieldName": "details.appDefinition.mobilePlatforms",
+ "affectsQuickQuote": true,
+ "icon": "question",
+ "options": [
+ {
+ "minTimeUp": 5,
+ "icon": "icon-tech-outline-mobile",
+ "label": "iOS",
+ "value": "ios",
+ "quoteUp": 1000,
+ "maxTimeUp": 7,
+ "desc": "iOS Apps"
+ },
+ {
+ "iconOptions": {
+ "fill": "#000000"
+ },
+ "minTimeUp": 4,
+ "icon": "icon-tech-outline-mobile",
+ "label": "Android",
+ "value": "android",
+ "quoteUp": 800,
+ "maxTimeUp": 6,
+ "desc": "Android Apps"
+ }
+ ],
+ "description": "Select maximum 2 types of platforms 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.",
+ "title": "What type of platform do you need?",
+ "type": "checkbox-group"
+ },
+ {
+ "condition": "( details.appDefinition.mobilePlatforms contains 'ios' ) || ( details.appDefinition.mobilePlatforms contains 'android' )",
+ "fieldName": "details.appDefinition.nativeHybrid",
+ "icon": "question",
+ "options": [
+ {
+ "icon": "icon-tech-outline-mobile",
+ "title": "Native",
+ "value": "native",
+ "desc": "Native Apps"
+ },
+ {
+ "iconOptions": {
+ "fill": "#000000"
+ },
+ "icon": "icon-tech-outline-mobile",
+ "title": "Hybrid",
+ "value": "hybrid",
+ "desc": "Hybrid Apps"
+ }
+ ],
+ "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.",
+ "title": "Does your app need to be Native or Hybrid?",
+ "type": "tiled-radio-group"
+ },
+ {
+ "condition": "( details.appDefinition.targetDevices contains 'web-browser' )",
+ "fieldName": "details.appDefinition.progressiveResponsive",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Progressive",
+ "value": "progressive"
+ },
+ {
+ "label": "Responsive",
+ "value": "responsive"
+ }
+ ],
+ "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.",
+ "title": "Should your web app be progressive or responsive?",
+ "type": "radio-group"
+ },
+ {
+ "condition": "( (details.appDefinition.deliverables contains 'design') || (details.appDefinition.deliverables contains 'dev-qa') ) && (!( !( details.appDefinition.targetDevices hasLength 1 ) && details.appDefinition.progressiveResponsive == 'responsive'))",
+ "fieldName": "details.appDefinition.numberScreens",
+ "icon": "question",
+ "options": [
+ {
+ "iconOptions": {
+ "number": "2-4"
+ },
+ "price": 7616,
+ "icon": "NumberText",
+ "title": "screens (small)",
+ "value": "2-4",
+ "desc": "7-10 days"
+ },
+ {
+ "iconOptions": {
+ "number": "5-8"
+ },
+ "price": 8297,
+ "icon": "NumberText",
+ "title": "screens (medium)",
+ "value": "5-8",
+ "desc": "10-12 days"
+ },
+ {
+ "condition": "!(details.appDefinition.quickTurnaround == 'under-3-days')",
+ "iconOptions": {
+ "number": "9-15"
+ },
+ "price": 2261,
+ "icon": "NumberText",
+ "title": "screens (large)",
+ "value": "9-15",
+ "desc": "10-12 days"
+ }
+ ],
+ "description": "This is the most popular project size that can get a medium-sized app designed in a breeze",
+ "title": "How many screens do you need?",
+ "type": "tiled-radio-group",
+ "required": true,
+ "validationError": "Please let us know the number of screens required?"
+ },
+ {
+ "layout": "vertical",
+ "condition": "( details.appDefinition.deliverables contains 'qa' && details.appDefinition.deliverables hasLength 1 )",
+ "fieldName": "details.appDefinition.qaType",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Real World Unstructured Testing",
+ "value": "real-world-unstructured"
+ },
+ {
+ "label": "Real World Structured Testing",
+ "value": "real-world-structured"
+ },
+ {
+ "label": "Mobility Testing",
+ "value": "mobility-testing"
+ },
+ {
+ "label": "Automation Testing",
+ "value": "automated-testing"
+ },
+ {
+ "label": "Performance Testing",
+ "value": "performance-testing"
+ }
+ ],
+ "description": "",
+ "title": "What type of QA you need?",
+ "type": "radio-group"
+ },
+ {
+ "layout": "horizontal",
+ "condition": "details.appDefinition.qaType == 'real-world-structured'",
+ "fieldName": "details.appDefinition.structuredTestWorkType",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Test Case Creation",
+ "value": "test-case-creation"
+ },
+ {
+ "label": "Test Case Execution",
+ "value": "test-case-execution"
+ }
+ ],
+ "description": "",
+ "title": "What do you need us to help you with?",
+ "type": "checkbox-group"
+ },
+ {
+ "condition": "details.appDefinition.qaType == 'real-world-structured'",
+ "fieldName": "details.appDefinition.structuredTestsCount",
+ "icon": "question",
+ "options": [
+ {
+ "condition": "(details.appDefinition.structuredTestWorkType contains 'test-case-creation' && details.appDefinition.structuredTestWorkType hasLength 1)",
+ "label": "Up to 50 test cases",
+ "value": "upto-50"
+ },
+ {
+ "condition": "(details.appDefinition.structuredTestWorkType contains 'test-case-creation' && details.appDefinition.structuredTestWorkType hasLength 1)",
+ "label": "Up to 100 test cases",
+ "value": "upto-100"
+ },
+ {
+ "condition": "(details.appDefinition.structuredTestWorkType contains 'test-case-execution')",
+ "label": "Up to 150 test cases",
+ "value": "upto-150"
+ },
+ {
+ "condition": "(details.appDefinition.structuredTestWorkType contains 'test-case-execution')",
+ "label": "Up to 300 test cases",
+ "value": "upto-300"
+ }
+ ],
+ "description": "",
+ "title": "How many test cases do you need?",
+ "type": "radio-group"
+ },
+ {
+ "condition": "details.appDefinition.qaType == 'real-world-unstructured'",
+ "fieldName": "details.appDefinition.unstructuredTestsScreenCount",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Up to 10",
+ "value": "upto-10"
+ },
+ {
+ "label": "Up to 30",
+ "value": "upto-30"
+ }
+ ],
+ "description": "",
+ "title": "How many screens need to be tested?",
+ "type": "radio-group"
+ },
+ {
+ "condition": "details.appDefinition.qaType == 'automated-testing'",
+ "fieldName": "details.appDefinition.automatedTestsCount",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Up to 50 test cases",
+ "value": "upto-50"
+ },
+ {
+ "label": "Up to 100 test cases",
+ "value": "upto-100"
+ }
+ ],
+ "description": "",
+ "title": "How many test cases do you need?",
+ "type": "radio-group"
+ },
+ {
+ "layout": "horizontal",
+ "condition": "details.appDefinition.deliverables contains 'deployment'",
+ "fieldName": "details.appDefinition.deploymentTargets",
+ "icon": "question",
+ "options": [
+ {
+ "condition": "( details.appDefinition.mobilePlatforms contains 'ios' )",
+ "label": "Apple App Store",
+ "value": "apple-app-store"
+ },
+ {
+ "condition": "( details.appDefinition.mobilePlatforms contains 'android' )",
+ "label": "Google Play",
+ "value": "google-play"
+ },
+ {
+ "condition": "( details.appDefinition.targetDevices contains 'desktop' || details.appDefinition.targetDevices contains 'web-browser' )",
+ "label": "Internal Production Environment",
+ "value": "internal-production-environment"
+ }
+ ],
+ "description": "",
+ "title": "Where do you need your app deployed?",
+ "type": "checkbox-group"
+ },
+ {
+ "condition": "!( !( details.appDefinition.targetDevices hasLength 1 ) && details.appDefinition.progressiveResponsive == 'responsive')",
+ "fieldName": "details.appDefinition.caNeeded",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Yes (Managed)",
+ "value": "yes"
+ },
+ {
+ "label": "No (Unmanaged)",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "title": "Do you want a Community Architect to oversee your project?",
+ "type": "radio-group"
+ }
+ ],
+ "description": "",
+ "wizard": {
+ "previousStepVisibility": "readOnly",
+ "enabled": true
+ },
+ "id": "questions",
+ "type": "questions",
+ "title": "Requirements"
+ },
+ {
+ "condition": "( !( details.appDefinition.targetDevices hasLength 1 ) && details.appDefinition.progressiveResponsive == 'responsive')",
+ "fieldName": "details.appDefinition.message",
+ "hideTitle": true,
+ "description": "Wow! We love your idea. This is a very complex, technical solution. We will take a look at your project and contact you regarding next steps and a quote.",
+ "id": "customeQuote",
+ "title": "Message",
+ "type": "message"
+ }
+ ],
+ "description": "",
+ "wizard": {
+ "previousStepVisibility": "readOnly",
+ "enabled": true
+ },
+ "id": "appDefinition",
+ "title": "App Definition",
+ "required": true
+ }
+ ],
+ "baseTimeEstimateMax": 10
+ },
+ "name": "App",
+ "disabled": false,
+ "id": 84,
+ "category": "app",
+ "key": "app_new_addons",
+ "phases": {
+ "2-front-end-development-i": {
+ "duration": 19,
+ "name": "Front-End Development, Pt. I",
+ "products": [
+ {
+ "id": 27,
+ "productKey": "development-iteration-3-milestones"
+ }
+ ]
+ },
+ "4-back-end-development-i": {
+ "duration": 19,
+ "name": "Back-End Development, Pt. I",
+ "products": [
+ {
+ "id": 27,
+ "productKey": "development-iteration-3-milestones"
+ }
+ ]
+ },
+ "3-front-end-development-ii": {
+ "duration": 19,
+ "name": "Front-End Development, Pt. II",
+ "products": [
+ {
+ "id": 27,
+ "productKey": "development-iteration-3-milestones"
+ }
+ ]
+ },
+ "5-back-end-development-ii": {
+ "duration": 19,
+ "name": "Back-End Development, Pt. II",
+ "products": [
+ {
+ "id": 27,
+ "productKey": "development-iteration-3-milestones"
+ }
+ ]
+ },
+ "1-app-design": {
+ "duration": 25,
+ "name": "App Design",
+ "products": [
+ {
+ "id": 26,
+ "productKey": "design-iteration-3-milestones"
+ }
+ ]
+ },
+ "6-qa-and-bug-fixes": {
+ "duration": 24,
+ "name": "QA & Bug Fixes",
+ "products": [
+ {
+ "id": 30,
+ "productKey": "qa-iteration"
+ }
+ ]
+ }
+ },
+ "updatedAt": "2020-01-22T13:22:41.243Z",
+ "info": "app_new_addons"
+ },
+ {
+ "metadata": {},
+ "subCategory": null,
+ "aliases": [
+ "app-new",
+ "app_new"
+ ],
+ "updatedBy": 40051333,
+ "question": "What do you need to develop ?",
+ "hidden": true,
+ "icon": "product-app-app",
+ "priceConfig": null,
+ "deletedBy": null,
+ "planConfig": null,
+ "createdAt": "2018-12-14T11:40:27.000Z",
+ "deletedAt": null,
+ "form": null,
+ "createdBy": 40051333,
+ "scope": {
+ "preparedConditions": {
+ "ONE_TARGET_DEVICE": "(details.appDefinition.targetDevices hasLength 1)",
+ "SCREENS_COUNT_SMALL": "(details.appDefinition.numberScreens == '2-4')",
+ "DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE": "(details.appDefinition.deliverables contains 'design') && (details.appDefinition.deliverables contains 'dev-qa') && (details.appDefinition.deliverables contains 'deployment') && ((details.appDefinition.deliverables hasLength 3) || ((details.appDefinition.deliverables hasLength 4) && (details.appDefinition.deliverables contains 'qa')))",
+ "ONLY_ONE_OS_RESPONSIVE": "((details.appDefinition.targetDevices contains 'web-browser') && (details.appDefinition.targetDevices hasLength 1) && (details.appDefinition.progressiveResponsive == 'responsive'))",
+ "ONLY_ONE_OS_PROGRESSIVE": "((details.appDefinition.targetDevices contains 'web-browser') && (details.appDefinition.targetDevices hasLength 1) && (details.appDefinition.progressiveResponsive == 'progressive'))",
+ "QUICK_DESIGN_3_Days": "(details.appDefinition.quickTurnaround == 'under-3-days')",
+ "THREE_TARGET_DEVICES": "(details.appDefinition.targetDevices hasLength 3)",
+ "ONLY_TWO_OS_MOBILE_DESKTOP": "((details.appDefinition.mobilePlatforms hasLength 1) && (details.appDefinition.targetDevices contains 'desktop') && (!(details.appDefinition.targetDevices contains 'web-browser')))",
+ "ONLY_DEPLOY_DELIVERABLE": "(details.appDefinition.deliverables contains 'deployment') && (details.appDefinition.deliverables hasLength 1)",
+ "DESIGN_DEV_DEPLOY_DELIVERABLE": "(details.appDefinition.deliverables contains 'design') && (details.appDefinition.deliverables contains 'dev-qa') && (details.appDefinition.deliverables contains 'deployment') && (details.appDefinition.deliverables hasLength 3)",
+ "ONLY_ONE_OS_DESKTOP": "((details.appDefinition.targetDevices contains 'desktop') && (details.appDefinition.targetDevices hasLength 1))",
+ "QUICK_DESIGN_6_Days": "(details.appDefinition.quickTurnaround == 'under-6-days')",
+ "ONLY_DEV_OR_QA_DELIVERABLE": "(details.appDefinition.deliverables contains 'dev-qa') && ((details.appDefinition.deliverables hasLength 1) || ((details.appDefinition.deliverables hasLength 2) && (details.appDefinition.deliverables contains 'qa') ))",
+ "ONLY_ONE_OS_MOBILE": "((details.appDefinition.mobilePlatforms hasLength 1) && (!(details.appDefinition.targetDevices contains 'desktop')) && (!(details.appDefinition.targetDevices contains 'web-browser')))",
+ "ONLY_DESIGN_DEV_OR_QA_DELIVERABLE": "(details.appDefinition.deliverables contains 'design') && (details.appDefinition.deliverables contains 'dev-qa') && ((details.appDefinition.deliverables hasLength 2) || ((details.appDefinition.deliverables hasLength 3) && (details.appDefinition.deliverables contains 'qa')))",
+ "CA_NOT_NEEDED": "(details.appDefinition.caNeeded != 'yes')",
+ "SCREENS_COUNT_LARGE": "(details.appDefinition.numberScreens == '9-15')",
+ "ONLY_TWO_OS_BOTH_MOBILES": "((details.appDefinition.mobilePlatforms hasLength 2) && (!(details.appDefinition.targetDevices contains 'desktop')) && (!(details.appDefinition.targetDevices contains 'web-browser')))",
+ "ONLY_DEV_DELIVERABLE": "(details.appDefinition.deliverables contains 'dev-qa') && (details.appDefinition.deliverables hasLength 1)",
+ "SCREENS_COUNT_MEDIUM": "(details.appDefinition.numberScreens == '5-8')",
+ "HAS_INTERNAL_DEPLOYMENT": "(details.appDefinition.deploymentTargets contains 'internal-production-environment')",
+ "CONCEPT_DESIGN": "(details.appDefinition.designGoal == 'concept-designs')",
+ "ONLY_DESIGN_DELIVERABLE": "(details.appDefinition.deliverables contains 'design') && (details.appDefinition.deliverables hasLength 1)",
+ "ONLY_TWO_OS_MOBILE_PROGRESSIVE": "((details.appDefinition.mobilePlatforms hasLength 1) && (details.appDefinition.targetDevices contains 'web-browser') && (!(details.appDefinition.targetDevices contains 'desktop')) && (details.appDefinition.progressiveResponsive == 'progressive'))",
+ "COMPREHENSIVE_DESIGN": "(details.appDefinition.designGoal == 'comprehensive-designs')",
+ "HAS_MOBILE_DEPLOYMENT": "((details.appDefinition.deploymentTargets contains 'apple-app-store') || (details.appDefinition.deploymentTargets contains 'google-play'))",
+ "ONLY_DESIGN_DEV_DELIVERABLE": "(details.appDefinition.deliverables contains 'design') && (details.appDefinition.deliverables contains 'dev-qa') && (details.appDefinition.deliverables hasLength 2)",
+ "TWO_TARGET_DEVICES": "(details.appDefinition.targetDevices hasLength 2)",
+ "CA_NEEDED": "(details.appDefinition.caNeeded == 'yes')"
+ },
+ "basePriceEstimate": 21000,
+ "priceConfig": {
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE || ONLY_ONE_OS_DESKTOP) && SCREENS_COUNT_MEDIUM && HAS_INTERNAL_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "maxTime": 55,
+ "price": 8510,
+ "minTime": 55
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_LARGE && CA_NOT_NEEDED )": {
+ "maxTime": 67,
+ "price": 10098,
+ "minTime": 67
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_LARGE && HAS_INTERNAL_DEPLOYMENT && CA_NEEDED )": {
+ "maxTime": 80,
+ "price": 1621,
+ "minTime": 80
+ },
+ "( ONLY_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN && ONE_TARGET_DEVICE && SCREENS_COUNT_LARGE && CA_NOT_NEEDED )": {
+ "maxTime": 12,
+ "price": 4415,
+ "minTime": 12
+ },
+ "( ONLY_DEPLOY_DELIVERABLE && HAS_INTERNAL_DEPLOYMENT && CA_NEEDED )": {
+ "maxTime": 3,
+ "price": 2458,
+ "minTime": 3
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && ONLY_ONE_OS_RESPONSIVE && HAS_INTERNAL_DEPLOYMENT && SCREENS_COUNT_SMALL && CA_NOT_NEEDED )": {
+ "maxTime": 52,
+ "price": 5466,
+ "minTime": 52
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && THREE_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && CA_NOT_NEEDED )": {
+ "maxTime": 65,
+ "price": 5601,
+ "minTime": 65
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_LARGE && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "maxTime": 77,
+ "price": 8484,
+ "minTime": 77
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_SMALL && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "maxTime": 59,
+ "price": 552,
+ "minTime": 59
+ },
+ "( ONLY_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN && THREE_TARGET_DEVICES && SCREENS_COUNT_SMALL && CA_NEEDED )": {
+ "maxTime": 19,
+ "price": 8247,
+ "minTime": 19
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && ONLY_TWO_OS_MOBILE_DESKTOP && SCREENS_COUNT_LARGE && HAS_INTERNAL_DEPLOYMENT && CA_NEEDED )": {
+ "maxTime": 70,
+ "price": 10063,
+ "minTime": 70
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE || ONLY_ONE_OS_DESKTOP) && SCREENS_COUNT_SMALL && CA_NEEDED )": {
+ "maxTime": 44,
+ "price": 6834,
+ "minTime": 44
+ },
+ "( ONLY_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN && ONE_TARGET_DEVICE && SCREENS_COUNT_MEDIUM && CA_NEEDED )": {
+ "maxTime": 12,
+ "price": 6236,
+ "minTime": 12
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_SMALL && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "maxTime": 59,
+ "price": 2423,
+ "minTime": 59
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && ONLY_TWO_OS_MOBILE_DESKTOP && SCREENS_COUNT_SMALL && HAS_INTERNAL_DEPLOYMENT && CA_NEEDED )": {
+ "maxTime": 52,
+ "price": 5467,
+ "minTime": 52
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && CA_NOT_NEEDED )": {
+ "maxTime": 62,
+ "price": 810,
+ "minTime": 62
+ },
+ "( ONLY_DEV_OR_QA_DELIVERABLE && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && CA_NOT_NEEDED )": {
+ "maxTime": 40,
+ "price": 5818,
+ "minTime": 40
+ },
+ "( ONLY_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN && TWO_TARGET_DEVICES && SCREENS_COUNT_MEDIUM && CA_NEEDED )": {
+ "maxTime": 22,
+ "price": 5014,
+ "minTime": 22
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && ONLY_ONE_OS_RESPONSIVE && HAS_INTERNAL_DEPLOYMENT && SCREENS_COUNT_LARGE && CA_NEEDED )": {
+ "maxTime": 65,
+ "price": 1576,
+ "minTime": 65
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_SMALL && HAS_INTERNAL_DEPLOYMENT && CA_NEEDED )": {
+ "maxTime": 67,
+ "price": 244,
+ "minTime": 67
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && ONLY_TWO_OS_MOBILE_DESKTOP && SCREENS_COUNT_LARGE && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "maxTime": 83,
+ "price": 6952,
+ "minTime": 83
+ },
+ "( ONLY_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN && TWO_TARGET_DEVICES && SCREENS_COUNT_SMALL && CA_NEEDED )": {
+ "maxTime": 14,
+ "price": 1245,
+ "minTime": 14
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && HAS_INTERNAL_DEPLOYMENT && CA_NEEDED )": {
+ "maxTime": 78,
+ "price": 3856,
+ "minTime": 78
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE || ONLY_ONE_OS_DESKTOP) && SCREENS_COUNT_MEDIUM && CA_NEEDED )": {
+ "maxTime": 52,
+ "price": 2134,
+ "minTime": 52
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && THREE_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_SMALL && CA_NOT_NEEDED )": {
+ "maxTime": 54,
+ "price": 1063,
+ "minTime": 54
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_SMALL && CA_NEEDED )": {
+ "maxTime": 49,
+ "price": 2139,
+ "minTime": 49
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "maxTime": 72,
+ "price": 6602,
+ "minTime": 72
+ },
+ "( ONLY_DEPLOY_DELIVERABLE && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "maxTime": 10,
+ "price": 6182,
+ "minTime": 10
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_LARGE && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "maxTime": 77,
+ "price": 6920,
+ "minTime": 77
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_SMALL && HAS_INTERNAL_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "maxTime": 52,
+ "price": 8251,
+ "minTime": 52
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && CA_NOT_NEEDED )": {
+ "maxTime": 62,
+ "price": 1214,
+ "minTime": 62
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_SMALL && HAS_INTERNAL_DEPLOYMENT && CA_NEEDED )": {
+ "maxTime": 62,
+ "price": 8170,
+ "minTime": 62
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "maxTime": 85,
+ "price": 769,
+ "minTime": 85
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "maxTime": 88,
+ "price": 7722,
+ "minTime": 88
+ },
+ "( ONLY_DEV_OR_QA_DELIVERABLE && ONE_TARGET_DEVICE && ONLY_ONE_OS_RESPONSIVE && SCREENS_COUNT_LARGE && CA_NOT_NEEDED )": {
+ "maxTime": 50,
+ "price": 6441,
+ "minTime": 50
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && HAS_INTERNAL_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "maxTime": 65,
+ "price": 5310,
+ "minTime": 65
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && ONE_TARGET_DEVICE && ONLY_ONE_OS_RESPONSIVE && SCREENS_COUNT_LARGE && CA_NEEDED )": {
+ "maxTime": 62,
+ "price": 7257,
+ "minTime": 62
+ },
+ "( ONLY_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN && ONE_TARGET_DEVICE && SCREENS_COUNT_MEDIUM && CA_NOT_NEEDED )": {
+ "maxTime": 12,
+ "price": 3129,
+ "minTime": 12
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && THREE_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_LARGE && CA_NOT_NEEDED )": {
+ "maxTime": 70,
+ "price": 1758,
+ "minTime": 70
+ },
+ "( ONLY_DEV_OR_QA_DELIVERABLE && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_DESKTOP || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && CA_NOT_NEEDED)": {
+ "maxTime": 40,
+ "price": 5644,
+ "minTime": 40
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_SMALL && HAS_INTERNAL_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "maxTime": 57,
+ "price": 3506,
+ "minTime": 57
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && ONLY_TWO_OS_MOBILE_DESKTOP && SCREENS_COUNT_SMALL && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "maxTime": 62,
+ "price": 8090,
+ "minTime": 62
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE || ONLY_ONE_OS_DESKTOP) && SCREENS_COUNT_MEDIUM && HAS_INTERNAL_DEPLOYMENT && CA_NEEDED )": {
+ "maxTime": 55,
+ "price": 9689,
+ "minTime": 55
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_LARGE && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "maxTime": 67,
+ "price": 6083,
+ "minTime": 67
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && ONLY_TWO_OS_MOBILE_DESKTOP && SCREENS_COUNT_LARGE && HAS_INTERNAL_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "maxTime": 73,
+ "price": 9377,
+ "minTime": 73
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && THREE_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && CA_NEEDED )": {
+ "maxTime": 65,
+ "price": 3749,
+ "minTime": 65
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "maxTime": 75,
+ "price": 7372,
+ "minTime": 75
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_SMALL && CA_NEEDED )": {
+ "maxTime": 49,
+ "price": 1587,
+ "minTime": 49
+ },
+ "( ONLY_DEV_OR_QA_DELIVERABLE && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_LARGE && CA_NOT_NEEDED )": {
+ "maxTime": 45,
+ "price": 3023,
+ "minTime": 45
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_LARGE && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "maxTime": 80,
+ "price": 5738,
+ "minTime": 80
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_LARGE && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "maxTime": 77,
+ "price": 7855,
+ "minTime": 77
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && ONLY_TWO_OS_MOBILE_DESKTOP && SCREENS_COUNT_MEDIUM && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "maxTime": 75,
+ "price": 3892,
+ "minTime": 75
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE || ONLY_ONE_OS_DESKTOP) && SCREENS_COUNT_LARGE && HAS_INTERNAL_DEPLOYMENT && CA_NEEDED )": {
+ "maxTime": 60,
+ "price": 3462,
+ "minTime": 60
+ },
+ "( ONLY_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN && TWO_TARGET_DEVICES && SCREENS_COUNT_SMALL && CA_NOT_NEEDED )": {
+ "maxTime": 14,
+ "price": 3702,
+ "minTime": 14
+ },
+ "( ONLY_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN && TWO_TARGET_DEVICES && SCREENS_COUNT_LARGE && CA_NEEDED )": {
+ "maxTime": 22,
+ "price": 7178,
+ "minTime": 22
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "maxTime": 62,
+ "price": 8142,
+ "minTime": 62
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "maxTime": 72,
+ "price": 2101,
+ "minTime": 72
+ },
+ "( ONLY_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN && THREE_TARGET_DEVICES && SCREENS_COUNT_LARGE && CA_NEEDED )": {
+ "maxTime": 25,
+ "price": 713,
+ "minTime": 25
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && HAS_INTERNAL_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "maxTime": 75,
+ "price": 9046,
+ "minTime": 75
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_LARGE && HAS_INTERNAL_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "maxTime": 70,
+ "price": 5590,
+ "minTime": 70
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "maxTime": 75,
+ "price": 876,
+ "minTime": 75
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && ONLY_ONE_OS_RESPONSIVE && HAS_INTERNAL_DEPLOYMENT && SCREENS_COUNT_MEDIUM && CA_NEEDED )": {
+ "maxTime": 60,
+ "price": 8013,
+ "minTime": 60
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_LARGE && HAS_INTERNAL_DEPLOYMENT && CA_NEEDED )": {
+ "maxTime": 70,
+ "price": 8904,
+ "minTime": 70
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && CA_NEEDED )": {
+ "maxTime": 62,
+ "price": 8604,
+ "minTime": 62
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_LARGE && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "maxTime": 93,
+ "price": 4031,
+ "minTime": 93
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && HAS_INTERNAL_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "maxTime": 75,
+ "price": 7710,
+ "minTime": 75
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && HAS_INTERNAL_DEPLOYMENT && CA_NEEDED )": {
+ "maxTime": 75,
+ "price": 4594,
+ "minTime": 75
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && CA_NEEDED )": {
+ "maxTime": 62,
+ "price": 9563,
+ "minTime": 62
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_SMALL && CA_NOT_NEEDED )": {
+ "maxTime": 49,
+ "price": 8157,
+ "minTime": 49
+ },
+ "( ONLY_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN && ONE_TARGET_DEVICE && SCREENS_COUNT_SMALL && CA_NOT_NEEDED )": {
+ "maxTime": 9,
+ "price": 8937,
+ "minTime": 9
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && THREE_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_SMALL && CA_NEEDED )": {
+ "maxTime": 54,
+ "price": 4036,
+ "minTime": 54
+ },
+ "( ONLY_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN && TWO_TARGET_DEVICES && SCREENS_COUNT_MEDIUM && CA_NOT_NEEDED )": {
+ "maxTime": 22,
+ "price": 7932,
+ "minTime": 22
+ },
+ "( ONLY_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN && THREE_TARGET_DEVICES && SCREENS_COUNT_MEDIUM && CA_NOT_NEEDED )": {
+ "maxTime": 25,
+ "price": 2564,
+ "minTime": 25
+ },
+ "( ONLY_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN && THREE_TARGET_DEVICES && SCREENS_COUNT_MEDIUM && CA_NEEDED )": {
+ "maxTime": 25,
+ "price": 2531,
+ "minTime": 25
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && ONLY_TWO_OS_MOBILE_DESKTOP && SCREENS_COUNT_LARGE && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "maxTime": 80,
+ "price": 2039,
+ "minTime": 80
+ },
+ "( ONLY_DEV_OR_QA_DELIVERABLE && ONE_TARGET_DEVICE && ONLY_ONE_OS_RESPONSIVE && SCREENS_COUNT_SMALL && CA_NEEDED )": {
+ "maxTime": 40,
+ "price": 8389,
+ "minTime": 40
+ },
+ "( ONLY_DEV_OR_QA_DELIVERABLE && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_SMALL && CA_NEEDED )": {
+ "maxTime": 35,
+ "price": 3813,
+ "minTime": 35
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && ONE_TARGET_DEVICE && ONLY_ONE_OS_RESPONSIVE && SCREENS_COUNT_SMALL && CA_NEEDED )": {
+ "maxTime": 49,
+ "price": 7095,
+ "minTime": 49
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "maxTime": 72,
+ "price": 7914,
+ "minTime": 72
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && ONLY_TWO_OS_MOBILE_DESKTOP && SCREENS_COUNT_SMALL && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "maxTime": 67,
+ "price": 1014,
+ "minTime": 67
+ },
+ "( ONLY_DEPLOY_DELIVERABLE && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "maxTime": 13,
+ "price": 5051,
+ "minTime": 13
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE || ONLY_ONE_OS_DESKTOP) && SCREENS_COUNT_MEDIUM && CA_NOT_NEEDED )": {
+ "maxTime": 52,
+ "price": 9189,
+ "minTime": 52
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && ONE_TARGET_DEVICE && ONLY_ONE_OS_RESPONSIVE && SCREENS_COUNT_LARGE && CA_NOT_NEEDED )": {
+ "maxTime": 62,
+ "price": 3460,
+ "minTime": 62
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && ONLY_TWO_OS_MOBILE_DESKTOP && SCREENS_COUNT_LARGE && HAS_INTERNAL_DEPLOYMENT && CA_NEEDED )": {
+ "maxTime": 73,
+ "price": 2617,
+ "minTime": 73
+ },
+ "( ONLY_DEPLOY_DELIVERABLE && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "maxTime": 13,
+ "price": 4242,
+ "minTime": 13
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_SMALL && HAS_INTERNAL_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "maxTime": 67,
+ "price": 7890,
+ "minTime": 67
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_LARGE && CA_NEEDED )": {
+ "maxTime": 67,
+ "price": 349,
+ "minTime": 67
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_LARGE && HAS_INTERNAL_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "maxTime": 80,
+ "price": 8648,
+ "minTime": 80
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_LARGE && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "maxTime": 77,
+ "price": 1610,
+ "minTime": 77
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_LARGE && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "maxTime": 67,
+ "price": 6349,
+ "minTime": 67
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_SMALL && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "maxTime": 64,
+ "price": 2564,
+ "minTime": 64
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_SMALL && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "maxTime": 54,
+ "price": 7143,
+ "minTime": 54
+ },
+ "( ONLY_DEV_OR_QA_DELIVERABLE && ONE_TARGET_DEVICE && ONLY_ONE_OS_RESPONSIVE && SCREENS_COUNT_LARGE && CA_NEEDED )": {
+ "maxTime": 50,
+ "price": 1981,
+ "minTime": 50
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_LARGE && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "maxTime": 90,
+ "price": 4164,
+ "minTime": 90
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_LARGE && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "maxTime": 80,
+ "price": 1901,
+ "minTime": 80
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_SMALL && HAS_INTERNAL_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "maxTime": 62,
+ "price": 3410,
+ "minTime": 62
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_SMALL && HAS_INTERNAL_DEPLOYMENT && CA_NEEDED )": {
+ "maxTime": 57,
+ "price": 4060,
+ "minTime": 57
+ },
+ "( ONLY_DEPLOY_DELIVERABLE && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "maxTime": 10,
+ "price": 3672,
+ "minTime": 10
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_SMALL && HAS_INTERNAL_DEPLOYMENT && CA_NEEDED )": {
+ "maxTime": 52,
+ "price": 885,
+ "minTime": 52
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_SMALL && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "maxTime": 72,
+ "price": 9438,
+ "minTime": 72
+ },
+ "( ONLY_DEV_OR_QA_DELIVERABLE && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_SMALL && CA_NOT_NEEDED )": {
+ "maxTime": 35,
+ "price": 5936,
+ "minTime": 35
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_SMALL && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "maxTime": 77,
+ "price": 6674,
+ "minTime": 77
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_SMALL && CA_NOT_NEEDED )": {
+ "maxTime": 49,
+ "price": 9870,
+ "minTime": 49
+ },
+ "( ONLY_DEV_OR_QA_DELIVERABLE && ONE_TARGET_DEVICE && ONLY_ONE_OS_RESPONSIVE && SCREENS_COUNT_MEDIUM && CA_NEEDED )": {
+ "maxTime": 45,
+ "price": 1995,
+ "minTime": 45
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && THREE_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_LARGE && CA_NEEDED )": {
+ "maxTime": 70,
+ "price": 6740,
+ "minTime": 70
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "maxTime": 72,
+ "price": 4983,
+ "minTime": 72
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_LARGE && HAS_INTERNAL_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "maxTime": 80,
+ "price": 258,
+ "minTime": 80
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_LARGE && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "maxTime": 80,
+ "price": 7832,
+ "minTime": 80
+ },
+ "( ONLY_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN && ONE_TARGET_DEVICE && SCREENS_COUNT_LARGE && CA_NEEDED )": {
+ "maxTime": 12,
+ "price": 336,
+ "minTime": 12
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_LARGE && CA_NOT_NEEDED )": {
+ "maxTime": 67,
+ "price": 5447,
+ "minTime": 67
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && ONLY_ONE_OS_RESPONSIVE && HAS_INTERNAL_DEPLOYMENT && SCREENS_COUNT_MEDIUM && CA_NOT_NEEDED )": {
+ "maxTime": 60,
+ "price": 6940,
+ "minTime": 60
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE || ONLY_ONE_OS_DESKTOP) && SCREENS_COUNT_SMALL && CA_NOT_NEEDED )": {
+ "maxTime": 44,
+ "price": 8010,
+ "minTime": 44
+ },
+ "( ONLY_DESIGN_DELIVERABLE && CONCEPT_DESIGN && QUICK_DESIGN_3_Days && CA_NEEDED )": {
+ "maxTime": 3,
+ "price": 5756,
+ "minTime": 3
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_SMALL && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "maxTime": 59,
+ "price": 2751,
+ "minTime": 59
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && ONLY_TWO_OS_MOBILE_DESKTOP && SCREENS_COUNT_MEDIUM && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "maxTime": 78,
+ "price": 9635,
+ "minTime": 78
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "maxTime": 62,
+ "price": 1875,
+ "minTime": 62
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_LARGE && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "maxTime": 67,
+ "price": 8319,
+ "minTime": 67
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "maxTime": 75,
+ "price": 4432,
+ "minTime": 75
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && ONLY_TWO_OS_MOBILE_DESKTOP && SCREENS_COUNT_MEDIUM && HAS_INTERNAL_DEPLOYMENT && CA_NEEDED )": {
+ "maxTime": 65,
+ "price": 9040,
+ "minTime": 65
+ },
+ "( ONLY_DEV_OR_QA_DELIVERABLE && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && CA_NEEDED )": {
+ "maxTime": 40,
+ "price": 7457,
+ "minTime": 40
+ },
+ "( ONLY_DESIGN_DELIVERABLE && CONCEPT_DESIGN && QUICK_DESIGN_3_Days && CA_NOT_NEEDED )": {
+ "maxTime": 3,
+ "price": 8256,
+ "minTime": 3
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "maxTime": 62,
+ "price": 9643,
+ "minTime": 62
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && HAS_INTERNAL_DEPLOYMENT && CA_NEEDED )": {
+ "maxTime": 65,
+ "price": 3448,
+ "minTime": 65
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_LARGE && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "maxTime": 80,
+ "price": 5428,
+ "minTime": 80
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_SMALL && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "maxTime": 67,
+ "price": 9901,
+ "minTime": 67
+ },
+ "( ONLY_DEV_OR_QA_DELIVERABLE && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_LARGE && CA_NEEDED )": {
+ "maxTime": 45,
+ "price": 4659,
+ "minTime": 45
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_LARGE && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "maxTime": 67,
+ "price": 9079,
+ "minTime": 67
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && HAS_INTERNAL_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "maxTime": 78,
+ "price": 4549,
+ "minTime": 78
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "maxTime": 85,
+ "price": 837,
+ "minTime": 85
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_LARGE && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "maxTime": 93,
+ "price": 9038,
+ "minTime": 93
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE || ONLY_ONE_OS_DESKTOP) && SCREENS_COUNT_SMALL && HAS_INTERNAL_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "maxTime": 47,
+ "price": 8135,
+ "minTime": 47
+ },
+ "( ONLY_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN && THREE_TARGET_DEVICES && SCREENS_COUNT_SMALL && CA_NOT_NEEDED )": {
+ "maxTime": 19,
+ "price": 3999,
+ "minTime": 19
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_SMALL && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "maxTime": 54,
+ "price": 6258,
+ "minTime": 54
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE || ONLY_ONE_OS_DESKTOP) && SCREENS_COUNT_LARGE && CA_NOT_NEEDED )": {
+ "maxTime": 57,
+ "price": 4831,
+ "minTime": 57
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_SMALL && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "maxTime": 72,
+ "price": 6343,
+ "minTime": 72
+ },
+ "( ONLY_DEV_OR_QA_DELIVERABLE && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_DESKTOP || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_LARGE && CA_NEEDED)": {
+ "maxTime": 45,
+ "price": 5930,
+ "minTime": 45
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_SMALL && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "maxTime": 77,
+ "price": 3068,
+ "minTime": 77
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "maxTime": 88,
+ "price": 5214,
+ "minTime": 88
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_SMALL && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "maxTime": 64,
+ "price": 1182,
+ "minTime": 64
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "maxTime": 75,
+ "price": 1574,
+ "minTime": 75
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && ONLY_TWO_OS_MOBILE_DESKTOP && SCREENS_COUNT_MEDIUM && HAS_INTERNAL_DEPLOYMENT && CA_NEEDED )": {
+ "maxTime": 68,
+ "price": 3633,
+ "minTime": 68
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_LARGE && HAS_INTERNAL_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "maxTime": 83,
+ "price": 5259,
+ "minTime": 83
+ },
+ "( ONLY_DEV_OR_QA_DELIVERABLE && ONE_TARGET_DEVICE && ONLY_ONE_OS_RESPONSIVE && SCREENS_COUNT_SMALL && CA_NOT_NEEDED )": {
+ "maxTime": 40,
+ "price": 6963,
+ "minTime": 40
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && ONLY_ONE_OS_RESPONSIVE && HAS_INTERNAL_DEPLOYMENT && SCREENS_COUNT_LARGE && CA_NOT_NEEDED )": {
+ "maxTime": 65,
+ "price": 3865,
+ "minTime": 65
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_SMALL && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "maxTime": 59,
+ "price": 634,
+ "minTime": 59
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && ONE_TARGET_DEVICE && ONLY_ONE_OS_RESPONSIVE && SCREENS_COUNT_MEDIUM && CA_NOT_NEEDED )": {
+ "maxTime": 57,
+ "price": 7741,
+ "minTime": 57
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && ONLY_TWO_OS_MOBILE_DESKTOP && SCREENS_COUNT_SMALL && HAS_INTERNAL_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "maxTime": 52,
+ "price": 663,
+ "minTime": 52
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && HAS_INTERNAL_DEPLOYMENT && CA_NEEDED )": {
+ "maxTime": 75,
+ "price": 3942,
+ "minTime": 75
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && ONLY_TWO_OS_MOBILE_DESKTOP && SCREENS_COUNT_SMALL && HAS_INTERNAL_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "maxTime": 57,
+ "price": 8259,
+ "minTime": 57
+ },
+ "( ONLY_DESIGN_DELIVERABLE && CONCEPT_DESIGN && QUICK_DESIGN_6_Days && CA_NOT_NEEDED )": {
+ "maxTime": 6,
+ "price": 7042,
+ "minTime": 6
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE || ONLY_ONE_OS_DESKTOP) && SCREENS_COUNT_LARGE && CA_NEEDED )": {
+ "maxTime": 57,
+ "price": 3023,
+ "minTime": 57
+ },
+ "( ONLY_DEV_OR_QA_DELIVERABLE && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_DESKTOP || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_SMALL && CA_NOT_NEEDED)": {
+ "maxTime": 35,
+ "price": 6217,
+ "minTime": 35
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && ONE_TARGET_DEVICE && ONLY_ONE_OS_RESPONSIVE && SCREENS_COUNT_MEDIUM && CA_NEEDED )": {
+ "maxTime": 57,
+ "price": 570,
+ "minTime": 57
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && ONLY_TWO_OS_MOBILE_DESKTOP && SCREENS_COUNT_SMALL && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "maxTime": 67,
+ "price": 2159,
+ "minTime": 67
+ },
+ "( ONLY_DESIGN_DELIVERABLE && CONCEPT_DESIGN && QUICK_DESIGN_6_Days && CA_NEEDED )": {
+ "maxTime": 6,
+ "price": 7699,
+ "minTime": 6
+ },
+ "( ONLY_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN && THREE_TARGET_DEVICES && SCREENS_COUNT_LARGE && CA_NOT_NEEDED )": {
+ "maxTime": 25,
+ "price": 5814,
+ "minTime": 25
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_LARGE && HAS_INTERNAL_DEPLOYMENT && CA_NEEDED )": {
+ "maxTime": 83,
+ "price": 5387,
+ "minTime": 83
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && ONLY_TWO_OS_MOBILE_DESKTOP && SCREENS_COUNT_MEDIUM && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "maxTime": 78,
+ "price": 9865,
+ "minTime": 78
+ },
+ "( ONLY_DEV_OR_QA_DELIVERABLE && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_DESKTOP || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_SMALL && CA_NEEDED)": {
+ "maxTime": 35,
+ "price": 8237,
+ "minTime": 35
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && ONLY_ONE_OS_RESPONSIVE && HAS_INTERNAL_DEPLOYMENT && SCREENS_COUNT_SMALL && CA_NEEDED )": {
+ "maxTime": 52,
+ "price": 9044,
+ "minTime": 52
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && ONLY_TWO_OS_MOBILE_DESKTOP && SCREENS_COUNT_LARGE && HAS_INTERNAL_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "maxTime": 70,
+ "price": 3116,
+ "minTime": 70
+ },
+ "( ONLY_DEV_OR_QA_DELIVERABLE && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_DESKTOP || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_LARGE && CA_NOT_NEEDED)": {
+ "maxTime": 45,
+ "price": 7103,
+ "minTime": 45
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && ONLY_TWO_OS_MOBILE_DESKTOP && SCREENS_COUNT_SMALL && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "maxTime": 62,
+ "price": 7495,
+ "minTime": 62
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && ONLY_TWO_OS_MOBILE_DESKTOP && SCREENS_COUNT_LARGE && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "maxTime": 83,
+ "price": 5113,
+ "minTime": 83
+ },
+ "( ONLY_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN && ONE_TARGET_DEVICE && SCREENS_COUNT_SMALL && CA_NEEDED )": {
+ "maxTime": 9,
+ "price": 1740,
+ "minTime": 9
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_SMALL && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "maxTime": 54,
+ "price": 9880,
+ "minTime": 54
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE || ONLY_ONE_OS_DESKTOP) && SCREENS_COUNT_SMALL && HAS_INTERNAL_DEPLOYMENT && CA_NEEDED )": {
+ "maxTime": 47,
+ "price": 961,
+ "minTime": 47
+ },
+ "( ONLY_DEV_OR_QA_DELIVERABLE && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_DESKTOP || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && CA_NEEDED)": {
+ "maxTime": 40,
+ "price": 6231,
+ "minTime": 40
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_LARGE && HAS_INTERNAL_DEPLOYMENT && CA_NEEDED )": {
+ "maxTime": 80,
+ "price": 6376,
+ "minTime": 80
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && ONLY_TWO_OS_MOBILE_DESKTOP && SCREENS_COUNT_MEDIUM && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "maxTime": 75,
+ "price": 7323,
+ "minTime": 75
+ },
+ "( ONLY_DEPLOY_DELIVERABLE && HAS_INTERNAL_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "maxTime": 3,
+ "price": 9032,
+ "minTime": 3
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && ONLY_TWO_OS_MOBILE_DESKTOP && SCREENS_COUNT_MEDIUM && HAS_INTERNAL_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "maxTime": 68,
+ "price": 2223,
+ "minTime": 68
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_SMALL && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "maxTime": 67,
+ "price": 8187,
+ "minTime": 67
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && ONLY_TWO_OS_MOBILE_DESKTOP && SCREENS_COUNT_MEDIUM && HAS_INTERNAL_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "maxTime": 65,
+ "price": 6278,
+ "minTime": 65
+ },
+ "( ONLY_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN && TWO_TARGET_DEVICES && SCREENS_COUNT_LARGE && CA_NOT_NEEDED )": {
+ "maxTime": 22,
+ "price": 5339,
+ "minTime": 22
+ },
+ "( ONLY_DEV_OR_QA_DELIVERABLE && ONE_TARGET_DEVICE && ONLY_ONE_OS_RESPONSIVE && SCREENS_COUNT_MEDIUM && CA_NOT_NEEDED )": {
+ "maxTime": 45,
+ "price": 161,
+ "minTime": 45
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && ONLY_TWO_OS_MOBILE_DESKTOP && SCREENS_COUNT_LARGE && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "maxTime": 80,
+ "price": 8829,
+ "minTime": 80
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && ONE_TARGET_DEVICE && ONLY_ONE_OS_RESPONSIVE && SCREENS_COUNT_SMALL && CA_NOT_NEEDED )": {
+ "maxTime": 49,
+ "price": 7446,
+ "minTime": 49
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && THREE_TARGET_DEVICES && ONLY_TWO_OS_MOBILE_DESKTOP && SCREENS_COUNT_SMALL && HAS_INTERNAL_DEPLOYMENT && CA_NEEDED )": {
+ "maxTime": 57,
+ "price": 9664,
+ "minTime": 57
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_LARGE && HAS_INTERNAL_DEPLOYMENT && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "maxTime": 90,
+ "price": 304,
+ "minTime": 90
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE || ONLY_ONE_OS_DESKTOP) && SCREENS_COUNT_LARGE && HAS_INTERNAL_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "maxTime": 60,
+ "price": 4753,
+ "minTime": 60
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_SMALL && HAS_MOBILE_DEPLOYMENT && CA_NEEDED )": {
+ "maxTime": 54,
+ "price": 4066,
+ "minTime": 54
+ },
+ "( ONLY_DESIGN_DEV_OR_QA_DELIVERABLE && TWO_TARGET_DEVICES && (ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_DESKTOP || ONLY_TWO_OS_MOBILE_PROGRESSIVE) && SCREENS_COUNT_LARGE && CA_NEEDED )": {
+ "maxTime": 67,
+ "price": 5757,
+ "minTime": 67
+ },
+ "( DESIGN_DEV_OR_QA_DEPLOY_DELIVERABLE && ONE_TARGET_DEVICE && (ONLY_ONE_OS_MOBILE || ONLY_ONE_OS_PROGRESSIVE) && SCREENS_COUNT_MEDIUM && HAS_MOBILE_DEPLOYMENT && CA_NOT_NEEDED )": {
+ "maxTime": 62,
+ "price": 5072,
+ "minTime": 62
+ }
+ },
+ "wizard": {
+ "previousStepVisibility": "readOnly",
+ "enabled": true
+ },
+ "baseTimeEstimateMin": 3,
+ "sections": [
+ {
+ "subSections": [
+ {
+ "description": "",
+ "id": "projectName",
+ "type": "project-name",
+ "title": "Project Name"
+ },
+ {
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.deliverables",
+ "icon": "question",
+ "options": [
+ {
+ "summaryLabel": "Design",
+ "label": "Design",
+ "value": "design"
+ },
+ {
+ "summaryLabel": "Development",
+ "label": "App Development",
+ "value": "dev-qa"
+ },
+ {
+ "summaryLabel": "QA",
+ "label": "QA, Fixes & Enhancements",
+ "value": "qa"
+ },
+ {
+ "label": "Deployment",
+ "value": "deployment"
+ }
+ ],
+ "description": "",
+ "title": "What do you need?",
+ "type": "checkbox-group",
+ "summaryTitle": "Work needed"
+ },
+ {
+ "fieldName": "details.appDefinition.designGoal",
+ "icon": "question",
+ "options": [
+ {
+ "summaryLabel": "Concept",
+ "description": "We will produce high-quality screens with different directions that would help you define your product direction, and present to stakeholders.",
+ "label": "Concept exploration",
+ "value": "concept-designs"
+ },
+ {
+ "summaryLabel": "Comprehensive design",
+ "description": "Our designers will create all the design deliverables for your app, including app icons, design specifications, and design assets.",
+ "label": "Comprehensive design for development",
+ "value": "comprehensive-designs"
+ }
+ ],
+ "description": "",
+ "title": "What is the goal of your designs?",
+ "type": "radio-group"
+ },
+ {
+ "condition": "( details.appDefinition.designGoal == 'concept-designs' )",
+ "fieldName": "details.appDefinition.quickTurnaround",
+ "icon": "question",
+ "options": [
+ {
+ "summaryLabel": "3 days",
+ "minTimeUp": 0,
+ "description": "Our designer consultants will work with you to formulate the app screens and deliver the final concepts within only 3 short days.",
+ "label": "Yes, I need designs ASAP",
+ "value": "under-3-days",
+ "maxTimeUp": 0
+ },
+ {
+ "summaryLabel": "7 days",
+ "minTimeUp": 3,
+ "description": "Topcoder will create agency-quality design variants for your app within 7 days.",
+ "label": "A week works for me!",
+ "value": "under-6-days",
+ "maxTimeUp": 3
+ }
+ ],
+ "description": "",
+ "title": "No problem! We can get you high-quality concept designs within a week. Do you need designs faster than this?",
+ "type": "radio-group"
+ },
+ {
+ "layout": "horizontal",
+ "condition": "( (details.appDefinition.deliverables contains 'design') || (details.appDefinition.deliverables contains 'dev-qa') )",
+ "fieldName": "details.appDefinition.targetDevices",
+ "icon": "question",
+ "options": [
+ {
+ "description": "Your app would work in all mobile devices. Our most requested option.",
+ "label": "Mobile",
+ "value": "mobile"
+ },
+ {
+ "description": "Your app would be optimized for the larger form-factor of a tablet device.",
+ "label": "Tablet",
+ "value": "tablet"
+ },
+ {
+ "description": "We will deliver a native desktop app, working under the selected desktop OS.",
+ "label": "Desktop",
+ "value": "desktop"
+ },
+ {
+ "description": "Your app would be accessed via any web browser on desktop and mobile devices alike.",
+ "label": "Web Browser",
+ "value": "web-browser"
+ }
+ ],
+ "description": "Select maximum 2 types of platforms 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.",
+ "title": "Where should your app work?",
+ "type": "checkbox-group"
+ },
+ {
+ "condition": "( details.appDefinition.targetDevices contains 'mobile' ) || ( details.appDefinition.targetDevices contains 'tablet' )",
+ "fieldName": "details.appDefinition.mobilePlatforms",
+ "affectsQuickQuote": true,
+ "icon": "question",
+ "options": [
+ {
+ "description": "Your app would work on iOS phones. We will develop it using Objective-C and SWIFT",
+ "label": "iOS",
+ "value": "ios"
+ },
+ {
+ "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.",
+ "label": "Android",
+ "value": "android"
+ }
+ ],
+ "description": "Select maximum 2 types of platforms 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.",
+ "title": "What type of platform do you need?",
+ "type": "checkbox-group"
+ },
+ {
+ "condition": "( details.appDefinition.mobilePlatforms contains 'ios' ) || ( details.appDefinition.mobilePlatforms contains 'android' )",
+ "fieldName": "details.appDefinition.nativeHybrid",
+ "icon": "question",
+ "options": [
+ {
+ "description": "A native mobile app is a smartphone application that is coded in a specific programming language, such as Objective C for iOS or Java for Android operating systems.",
+ "label": "Native",
+ "value": "native"
+ },
+ {
+ "description": "A hybrid application (hybrid app) is one that combines elements of both native and Web applications.",
+ "label": "Hybrid",
+ "value": "hybrid"
+ }
+ ],
+ "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.",
+ "title": "Does your app need to be Native or Hybrid?",
+ "type": "radio-group"
+ },
+ {
+ "layout": "horizontal",
+ "condition": "( details.appDefinition.targetDevices contains 'web-browser' )",
+ "fieldName": "details.appDefinition.progressiveResponsive",
+ "icon": "question",
+ "options": [
+ {
+ "description": "Your app would be optimized for all devices desktops.",
+ "label": "Progressive",
+ "value": "progressive"
+ },
+ {
+ "description": "Your app would be optimized for all devices from mobile phones to large desktops.",
+ "label": "Responsive",
+ "value": "responsive"
+ }
+ ],
+ "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.",
+ "title": "Should your web app be progressive or responsive?",
+ "type": "radio-group"
+ },
+ {
+ "layout": "horizontal",
+ "condition": "( (details.appDefinition.deliverables contains 'design') || (details.appDefinition.deliverables contains 'dev-qa') ) && (!( !( details.appDefinition.targetDevices hasLength 1 ) && details.appDefinition.progressiveResponsive == 'responsive'))",
+ "fieldName": "details.appDefinition.numberScreens",
+ "icon": "question",
+ "options": [
+ {
+ "description": "Suitable for small apps with 2-4 main features",
+ "disabled": false,
+ "label": "2-4 screens",
+ "value": "2-4"
+ },
+ {
+ "description": "Suitable for medium apps with 5-8 main features",
+ "disabled": false,
+ "label": "5-8 screens",
+ "value": "5-8"
+ },
+ {
+ "description": "Suitable for larger apps with 9-15 main features",
+ "disabled": false,
+ "label": "9-15 screens",
+ "value": "9-15"
+ }
+ ],
+ "description": "This is the most popular project size that can get a medium-sized app designed in a breeze",
+ "title": "How many screens do you need?",
+ "type": "radio-group"
+ },
+ {
+ "layout": "vertical",
+ "condition": "( details.appDefinition.deliverables contains 'qa' && details.appDefinition.deliverables hasLength 1 )",
+ "fieldName": "details.appDefinition.qaType",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Real World Unstructured Testing",
+ "value": "real-world-unstructured"
+ },
+ {
+ "label": "Real World Structured Testing",
+ "value": "real-world-structured"
+ },
+ {
+ "label": "Mobility Testing",
+ "value": "mobility-testing"
+ },
+ {
+ "label": "Automation Testing",
+ "value": "automated-testing"
+ },
+ {
+ "label": "Performance Testing",
+ "value": "performance-testing"
+ }
+ ],
+ "description": "",
+ "title": "What type of QA you need?",
+ "type": "radio-group"
+ },
+ {
+ "layout": "horizontal",
+ "condition": "details.appDefinition.qaType == 'real-world-structured'",
+ "fieldName": "details.appDefinition.structuredTestWorkType",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Test Case Creation",
+ "value": "test-case-creation"
+ },
+ {
+ "label": "Test Case Execution",
+ "value": "test-case-execution"
+ }
+ ],
+ "description": "",
+ "title": "What do you need us to help you with?",
+ "type": "checkbox-group"
+ },
+ {
+ "condition": "details.appDefinition.qaType == 'real-world-structured'",
+ "fieldName": "details.appDefinition.structuredTestsCount",
+ "icon": "question",
+ "options": [
+ {
+ "condition": "(details.appDefinition.structuredTestWorkType contains 'test-case-creation' && details.appDefinition.structuredTestWorkType hasLength 1)",
+ "label": "Up to 50 test cases",
+ "value": "upto-50"
+ },
+ {
+ "condition": "(details.appDefinition.structuredTestWorkType contains 'test-case-creation' && details.appDefinition.structuredTestWorkType hasLength 1)",
+ "label": "Up to 100 test cases",
+ "value": "upto-100"
+ },
+ {
+ "condition": "(details.appDefinition.structuredTestWorkType contains 'test-case-execution')",
+ "label": "Up to 150 test cases",
+ "value": "upto-150"
+ },
+ {
+ "condition": "(details.appDefinition.structuredTestWorkType contains 'test-case-execution')",
+ "label": "Up to 300 test cases",
+ "value": "upto-300"
+ }
+ ],
+ "description": "",
+ "title": "How many test cases do you need?",
+ "type": "radio-group"
+ },
+ {
+ "condition": "details.appDefinition.qaType == 'real-world-unstructured'",
+ "fieldName": "details.appDefinition.unstructuredTestsScreenCount",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Up to 10",
+ "value": "upto-10"
+ },
+ {
+ "label": "Up to 30",
+ "value": "upto-30"
+ }
+ ],
+ "description": "",
+ "title": "How many screens need to be tested?",
+ "type": "radio-group"
+ },
+ {
+ "condition": "details.appDefinition.qaType == 'automated-testing'",
+ "fieldName": "details.appDefinition.automatedTestsCount",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Up to 50 test cases",
+ "value": "upto-50"
+ },
+ {
+ "label": "Up to 100 test cases",
+ "value": "upto-100"
+ }
+ ],
+ "description": "",
+ "title": "How many test cases do you need?",
+ "type": "radio-group"
+ },
+ {
+ "layout": "horizontal",
+ "condition": "details.appDefinition.deliverables contains 'deployment'",
+ "fieldName": "details.appDefinition.deploymentTargets",
+ "icon": "question",
+ "options": [
+ {
+ "condition": "( (details.appDefinition.deliverables hasLength 1) || (details.appDefinition.mobilePlatforms contains 'ios') )",
+ "label": "Apple App Store",
+ "value": "apple-app-store"
+ },
+ {
+ "condition": "( (details.appDefinition.deliverables hasLength 1) || (details.appDefinition.mobilePlatforms contains 'android') )",
+ "label": "Google Play",
+ "value": "google-play"
+ },
+ {
+ "condition": "( (details.appDefinition.deliverables hasLength 1) || (details.appDefinition.targetDevices contains 'desktop') || (details.appDefinition.targetDevices contains 'web-browser') )",
+ "label": "Internal Production Environment",
+ "value": "internal-production-environment"
+ }
+ ],
+ "description": "",
+ "title": "Where do you need your app deployed?",
+ "type": "checkbox-group"
+ },
+ {
+ "condition": "!( !( details.appDefinition.targetDevices hasLength 1 ) && details.appDefinition.progressiveResponsive == 'responsive')",
+ "fieldName": "details.appDefinition.caNeeded",
+ "icon": "question",
+ "options": [
+ {
+ "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.",
+ "label": "Yes (Managed)",
+ "value": "yes"
+ },
+ {
+ "summaryLabel": "No",
+ "description": "You will have to take technical decisions and discuss requirements with our project managers.",
+ "label": "No (Unmanaged)",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "title": "Do you want a Community Architect to oversee your project?",
+ "type": "radio-group"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOnly",
+ "enabled": true
+ },
+ "title": "App details",
+ "type": "questions"
+ },
+ {
+ "condition": "( (!( details.appDefinition.targetDevices hasLength 1 )) && details.appDefinition.progressiveResponsive == 'responsive')",
+ "fieldName": "details.appDefinition.message",
+ "hideTitle": true,
+ "description": "Wow! We love your idea. This is a very complex, technical solution. We will take a look at your project and contact you regarding next steps and a quote.",
+ "id": "customeQuote",
+ "title": "Message",
+ "type": "message"
+ },
+ {
+ "fieldName": "details.appDefinition.message",
+ "hideTitle": true,
+ "description": "If you are done with requirements for your projects please review and continue to create project.",
+ "id": "message",
+ "title": "Message",
+ "type": "message"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOnly",
+ "enabled": true
+ },
+ "id": "project-basic-details",
+ "title": "Basic Details"
+ }
+ ],
+ "baseTimeEstimateMax": 6
+ },
+ "name": "App",
+ "disabled": false,
+ "id": 68,
+ "category": "app",
+ "key": "app_new",
+ "phases": {
+ "2-front-end-development-i": {
+ "duration": 19,
+ "name": "Front-End Development, Pt. I",
+ "products": [
+ {
+ "id": 27,
+ "productKey": "development-iteration-3-milestones"
+ }
+ ]
+ },
+ "4-back-end-development-i": {
+ "duration": 19,
+ "name": "Back-End Development, Pt. I",
+ "products": [
+ {
+ "id": 27,
+ "productKey": "development-iteration-3-milestones"
+ }
+ ]
+ },
+ "3-front-end-development-ii": {
+ "duration": 19,
+ "name": "Front-End Development, Pt. II",
+ "products": [
+ {
+ "id": 27,
+ "productKey": "development-iteration-3-milestones"
+ }
+ ]
+ },
+ "5-back-end-development-ii": {
+ "duration": 19,
+ "name": "Back-End Development, Pt. II",
+ "products": [
+ {
+ "id": 27,
+ "productKey": "development-iteration-3-milestones"
+ }
+ ]
+ },
+ "1-app-design": {
+ "duration": 25,
+ "name": "App Designs",
+ "products": [
+ {
+ "id": 26,
+ "productKey": "design-iteration-3-milestones"
+ }
+ ]
+ },
+ "6-qa-and-bug-fixes": {
+ "duration": 24,
+ "name": "QA & Bug Fixes",
+ "products": [
+ {
+ "id": 30,
+ "productKey": "qa-iteration"
+ }
+ ]
+ }
+ },
+ "updatedAt": "2020-01-22T13:22:41.242Z",
+ "info": "Build apps for mobile, web, or wearables"
+ },
+ {
+ "metadata": {},
+ "subCategory": null,
+ "aliases": [
+ "qa_form",
+ "qa-form"
+ ],
+ "updatedBy": 40051333,
+ "question": "test",
+ "hidden": false,
+ "icon": "test",
+ "priceConfig": null,
+ "deletedBy": null,
+ "planConfig": null,
+ "createdAt": "2019-03-12T05:55:22.000Z",
+ "deletedAt": null,
+ "form": null,
+ "createdBy": 40051333,
+ "scope": {
+ "buildingBlocks": {
+ "HAS_UNIT_TESTING_ADDON_CA": {
+ "maxTime": 12,
+ "metadata": {
+ "deliverable": "dev-qa"
+ },
+ "price": "9591",
+ "minTime": 12,
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_UNIT_TESTING_ADDON && CA_NEEDED)"
+ },
+ "MOBILITY_TESTS_NO_CA": {
+ "maxTime": 20,
+ "metadata": {
+ "deliverable": "qa"
+ },
+ "price": "2225",
+ "minTime": 20,
+ "conditions": "(MOBILITY_TESTING && CA_NOT_NEEDED)"
+ },
+ "SMALL_UNSTRUCT_TESTS_NO_CA": {
+ "maxTime": 5,
+ "metadata": {
+ "deliverable": "qa"
+ },
+ "price": "1374",
+ "minTime": 5,
+ "conditions": "(REAL_WORLD_UNSTRUCT_TESTING && UNSTRUCT_SCREEN_COUNT_SMALL && CA_NOT_NEEDED)"
+ },
+ "SMALL_STRUCT_TEST_CREATION_EXECUTION_NO_CA": {
+ "maxTime": 17,
+ "metadata": {
+ "deliverable": "qa"
+ },
+ "price": "5013",
+ "minTime": 17,
+ "conditions": "(REAL_WORLD_STRUCT_TESTING && STRUCT_TEST_CASE_CREATION && STRUCT_TEST_CASE_EXECUTION && TEST_CASE_EXECUTION_COUNT_SMALL && CA_NOT_NEEDED)"
+ },
+ "LARGE_STRUCT_TEST_EXECUTION_NO_CA": {
+ "maxTime": 7,
+ "metadata": {
+ "deliverable": "qa"
+ },
+ "price": "1027",
+ "minTime": 7,
+ "conditions": "(REAL_WORLD_STRUCT_TESTING && STRUCT_TEST_CASE_EXECUTION && ONE_QA_DELIVERABLE && TEST_CASE_EXECUTION_COUNT_LARGE && CA_NOT_NEEDED)"
+ },
+ "SMALL_STRUCT_TEST_CREATION_CA": {
+ "maxTime": 5,
+ "metadata": {
+ "deliverable": "qa"
+ },
+ "price": "3201",
+ "minTime": 5,
+ "conditions": "(REAL_WORLD_STRUCT_TESTING && STRUCT_TEST_CASE_CREATION && ONE_QA_DELIVERABLE && TEST_CASE_CREATION_COUNT_SMALL && CA_NEEDED)"
+ },
+ "SMALL_STRUCT_TEST_CREATION_NO_CA": {
+ "maxTime": 5,
+ "metadata": {
+ "deliverable": "qa"
+ },
+ "price": "4667",
+ "minTime": 5,
+ "conditions": "(REAL_WORLD_STRUCT_TESTING && STRUCT_TEST_CASE_CREATION && ONE_QA_DELIVERABLE && TEST_CASE_CREATION_COUNT_SMALL && CA_NOT_NEEDED)"
+ },
+ "SMALL_STRUCT_TEST_EXECUTION_CA": {
+ "maxTime": 5,
+ "metadata": {
+ "deliverable": "qa"
+ },
+ "price": "8794",
+ "minTime": 5,
+ "conditions": "(REAL_WORLD_STRUCT_TESTING && STRUCT_TEST_CASE_EXECUTION && ONE_QA_DELIVERABLE && TEST_CASE_EXECUTION_COUNT_SMALL && CA_NEEDED)"
+ },
+ "SMALL_AUTOMATION_TESTING_ADDON_CA": {
+ "maxTime": 7,
+ "metadata": {
+ "deliverable": "dev-qa"
+ },
+ "price": "2262",
+ "minTime": 7,
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_AUTOMATION_TESTING_ADDON && AUTOMATED_TEST_COUNT_SMALL && CA_NEEDED)"
+ },
+ "LARGE_AUTOMATION_TESTING_ADDON_NO_CA": {
+ "maxTime": 12,
+ "metadata": {
+ "deliverable": "dev-qa"
+ },
+ "price": "610",
+ "minTime": 12,
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_AUTOMATION_TESTING_ADDON && AUTOMATED_TEST_COUNT_LARGE && CA_NOT_NEEDED)"
+ },
+ "SMALL_STRUCT_TEST_EXECUTION_NO_CA": {
+ "maxTime": 5,
+ "metadata": {
+ "deliverable": "qa"
+ },
+ "price": "7819",
+ "minTime": 5,
+ "conditions": "(REAL_WORLD_STRUCT_TESTING && STRUCT_TEST_CASE_EXECUTION && ONE_QA_DELIVERABLE && TEST_CASE_EXECUTION_COUNT_SMALL && CA_NOT_NEEDED)"
+ },
+ "LARGE_AUTOMATED_TESTS_CA": {
+ "maxTime": 12,
+ "metadata": {
+ "deliverable": "qa"
+ },
+ "price": "8578",
+ "minTime": 12,
+ "conditions": "(AUTOMATED_TESTING && AUTOMATED_TEST_COUNT_LARGE && CA_NEEDED)"
+ },
+ "SMALL_STRUCT_TEST_CREATION_EXECUTION_CA": {
+ "maxTime": 17,
+ "metadata": {
+ "deliverable": "qa"
+ },
+ "price": "256",
+ "minTime": 17,
+ "conditions": "(REAL_WORLD_STRUCT_TESTING && STRUCT_TEST_CASE_CREATION && STRUCT_TEST_CASE_EXECUTION && TEST_CASE_EXECUTION_COUNT_SMALL && CA_NEEDED)"
+ },
+ "LARGE_UNSTRUCT_TESTS_NO_CA": {
+ "maxTime": 10,
+ "metadata": {
+ "deliverable": "qa"
+ },
+ "price": "6827",
+ "minTime": 10,
+ "conditions": "(REAL_WORLD_UNSTRUCT_TESTING && UNSTRUCT_SCREEN_COUNT_LARGE && CA_NOT_NEEDED)"
+ },
+ "LARGE_STRUCT_TEST_CREATION_EXECUTION_CA": {
+ "maxTime": 28,
+ "metadata": {
+ "deliverable": "qa"
+ },
+ "price": "8495",
+ "minTime": 28,
+ "conditions": "(REAL_WORLD_STRUCT_TESTING && STRUCT_TEST_CASE_CREATION && STRUCT_TEST_CASE_EXECUTION && TEST_CASE_EXECUTION_COUNT_LARGE && CA_NEEDED)"
+ },
+ "HAS_UAT_ENHANCEMENTS_ADDON_CA": {
+ "maxTime": 15,
+ "metadata": {
+ "deliverable": "dev-qa"
+ },
+ "price": "8706",
+ "minTime": 15,
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_UAT_ENHANCEMENTS_ADDON && CA_NEEDED)"
+ },
+ "PERFORMANCE_TESTS": {
+ "maxTime": 20,
+ "metadata": {
+ "deliverable": "qa"
+ },
+ "price": "212",
+ "minTime": 20,
+ "conditions": "(PERFORMANCE_TESTING)"
+ },
+ "HAS_UNIT_TESTING_ADDON_NO_CA": {
+ "maxTime": 12,
+ "metadata": {
+ "deliverable": "dev-qa"
+ },
+ "price": "4084",
+ "minTime": 12,
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_UNIT_TESTING_ADDON && CA_NOT_NEEDED)"
+ },
+ "LARGE_STRUCT_TEST_CREATION_EXECUTION_NO_CA": {
+ "maxTime": 28,
+ "metadata": {
+ "deliverable": "qa"
+ },
+ "price": "8668",
+ "minTime": 28,
+ "conditions": "(REAL_WORLD_STRUCT_TESTING && STRUCT_TEST_CASE_CREATION && STRUCT_TEST_CASE_EXECUTION && TEST_CASE_EXECUTION_COUNT_LARGE && CA_NOT_NEEDED)"
+ },
+ "LARGE_AUTOMATION_TESTING_ADDON_CA": {
+ "maxTime": 12,
+ "metadata": {
+ "deliverable": "dev-qa"
+ },
+ "price": "8935",
+ "minTime": 12,
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_AUTOMATION_TESTING_ADDON && AUTOMATED_TEST_COUNT_LARGE && CA_NEEDED)"
+ },
+ "SMALL_AUTOMATED_TESTS_NO_CA": {
+ "maxTime": 7,
+ "metadata": {
+ "deliverable": "qa"
+ },
+ "price": "463",
+ "minTime": 7,
+ "conditions": "(AUTOMATED_TESTING && AUTOMATED_TEST_COUNT_SMALL && CA_NOT_NEEDED)"
+ },
+ "SMALL_UNSTRUCT_TESTS_CA": {
+ "maxTime": 5,
+ "metadata": {
+ "deliverable": "qa"
+ },
+ "price": "9921",
+ "minTime": 5,
+ "conditions": "(REAL_WORLD_UNSTRUCT_TESTING && UNSTRUCT_SCREEN_COUNT_SMALL && CA_NEEDED)"
+ },
+ "LARGE_STRUCT_TEST_CREATION_CA": {
+ "maxTime": 7,
+ "metadata": {
+ "deliverable": "qa"
+ },
+ "price": "8705",
+ "minTime": 7,
+ "conditions": "(REAL_WORLD_STRUCT_TESTING && STRUCT_TEST_CASE_CREATION && ONE_QA_DELIVERABLE && TEST_CASE_CREATION_COUNT_LARGE && CA_NEEDED)"
+ },
+ "PERF_TESTING_ADDON_CA": {
+ "maxTime": 20,
+ "metadata": {
+ "deliverable": "dev-qa"
+ },
+ "price": "1510",
+ "minTime": 20,
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_PERF_TESTING_ADDON && CA_NEEDED)"
+ },
+ "LARGE_AUTOMATED_TESTS_NO_CA": {
+ "maxTime": 12,
+ "metadata": {
+ "deliverable": "qa"
+ },
+ "price": "1819",
+ "minTime": 12,
+ "conditions": "(AUTOMATED_TESTING && AUTOMATED_TEST_COUNT_LARGE && CA_NOT_NEEDED)"
+ },
+ "SMALL_AUTOMATION_TESTING_ADDON_NO_CA": {
+ "maxTime": 7,
+ "metadata": {
+ "deliverable": "dev-qa"
+ },
+ "price": "3633",
+ "minTime": 7,
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_AUTOMATION_TESTING_ADDON && AUTOMATED_TEST_COUNT_SMALL && CA_NOT_NEEDED)"
+ },
+ "LARGE_UNSTRUCT_TESTS_CA": {
+ "maxTime": 10,
+ "metadata": {
+ "deliverable": "qa"
+ },
+ "price": "5357",
+ "minTime": 10,
+ "conditions": "(REAL_WORLD_UNSTRUCT_TESTING && UNSTRUCT_SCREEN_COUNT_LARGE && CA_NEEDED)"
+ },
+ "LARGE_STRUCT_TEST_CREATION_NO_CA": {
+ "maxTime": 7,
+ "metadata": {
+ "deliverable": "qa"
+ },
+ "price": "2031",
+ "minTime": 7,
+ "conditions": "(REAL_WORLD_STRUCT_TESTING && STRUCT_TEST_CASE_CREATION && ONE_QA_DELIVERABLE && TEST_CASE_CREATION_COUNT_LARGE && CA_NOT_NEEDED)"
+ },
+ "HAS_UAT_ENHANCEMENTS_ADDON_NO_CA": {
+ "maxTime": 15,
+ "metadata": {
+ "deliverable": "dev-qa"
+ },
+ "price": "8120",
+ "minTime": 15,
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_UAT_ENHANCEMENTS_ADDON && CA_NOT_NEEDED)"
+ },
+ "MOBILITY_TESTS_CA": {
+ "maxTime": 20,
+ "metadata": {
+ "deliverable": "qa"
+ },
+ "price": "5630",
+ "minTime": 20,
+ "conditions": "(MOBILITY_TESTING && CA_NEEDED)"
+ },
+ "LARGE_STRUCT_TEST_EXECUTION_CA": {
+ "maxTime": 7,
+ "metadata": {
+ "deliverable": "qa"
+ },
+ "price": "2926",
+ "minTime": 7,
+ "conditions": "(REAL_WORLD_STRUCT_TESTING && STRUCT_TEST_CASE_EXECUTION && ONE_QA_DELIVERABLE && TEST_CASE_EXECUTION_COUNT_LARGE && CA_NEEDED)"
+ },
+ "SMALL_AUTOMATED_TESTS_CA": {
+ "maxTime": 7,
+ "metadata": {
+ "deliverable": "qa"
+ },
+ "price": "7727",
+ "minTime": 7,
+ "conditions": "(AUTOMATED_TESTING && AUTOMATED_TEST_COUNT_SMALL && CA_NEEDED)"
+ }
+ },
+ "preparedConditions": {
+ "TEST_CASE_EXECUTION_COUNT_SMALL": "(details.appDefinition.structuredTestsCount == 'upto-150')",
+ "REAL_WORLD_UNSTRUCT_TESTING": "(details.appDefinition.qaType contains 'real-world-unstructured')",
+ "REAL_WORLD_STRUCT_TESTING": "(details.appDefinition.qaType contains 'real-world-structured')",
+ "ONE_QA_DELIVERABLE": "(details.appDefinition.structuredTestWorkType hasLength 1)",
+ "TEST_CASE_EXECUTION_COUNT_LARGE": "(details.appDefinition.structuredTestsCount == 'upto-300')",
+ "TEST_CASE_CREATION_COUNT_LARGE": "(details.appDefinition.structuredTestsCount == 'upto-100')",
+ "AUTOMATED_TEST_COUNT_LARGE": "(details.appDefinition.automatedTestsCount == 'upto-100')",
+ "UNSTRUCT_SCREEN_COUNT_LARGE": "(details.appDefinition.unstructuredTestsScreenCount == 'upto-30')",
+ "HAS_AUTOMATION_TESTING_ADDON": "(details.appDefinition.addons.development contains '{\"productKey\":\"automation-testing\"}')",
+ "PERFORMANCE_TESTING": "(details.appDefinition.qaType contains 'performance-testing')",
+ "TEST_CASE_CREATION_COUNT_SMALL": "(details.appDefinition.structuredTestsCount == 'upto-50')",
+ "AUTOMATED_TEST_COUNT_SMALL": "(details.appDefinition.automatedTestsCount == 'upto-50')",
+ "HAS_UAT_ENHANCEMENTS_ADDON": "(details.appDefinition.addons.development contains '{\"productKey\":\"user-acceptance-testing-enhancements\"}')",
+ "HAS_PERF_TESTING_ADDON": "(details.appDefinition.addons.development contains '{\"productKey\":\"performance-testing-cycle\"}')",
+ "ONE_DELIVERABLE": "true",
+ "MOBILITY_TESTING": "(details.appDefinition.qaType contains 'mobility-testing')",
+ "STRUCT_TEST_CASE_EXECUTION": "(details.appDefinition.structuredTestWorkType contains 'test-case-execution')",
+ "CA_NEEDED": "(details.appDefinition.caNeeded == 'yes')",
+ "AUTOMATED_TESTING": "(details.appDefinition.qaType contains 'automated-testing')",
+ "UNSTRUCT_SCREEN_COUNT_SMALL": "(details.appDefinition.unstructuredTestsScreenCount == 'upto-10')",
+ "HAS_QA_DELIVERABLE": "true",
+ "CA_NOT_NEEDED": "(details.appDefinition.caNeeded != 'yes')",
+ "STRUCT_TEST_CASE_CREATION": "(details.appDefinition.structuredTestWorkType contains 'test-case-creation')",
+ "HAS_UNIT_TESTING_ADDON": "(details.appDefinition.addons.development contains '{\"productKey\":\"unit-tests\"}')"
+ },
+ "addonPriceConfig": {},
+ "priceConfig-old": null,
+ "basePriceEstimate": 0,
+ "priceConfig": {
+ "ONE_DELIVERABLE && HAS_QA_DELIVERABLE": [
+ [
+ "SMALL_STRUCT_TEST_CREATION_NO_CA"
+ ],
+ [
+ "LARGE_STRUCT_TEST_CREATION_NO_CA"
+ ],
+ [
+ "SMALL_STRUCT_TEST_CREATION_CA"
+ ],
+ [
+ "LARGE_STRUCT_TEST_CREATION_CA"
+ ],
+ [
+ "SMALL_STRUCT_TEST_EXECUTION_NO_CA"
+ ],
+ [
+ "LARGE_STRUCT_TEST_EXECUTION_NO_CA"
+ ],
+ [
+ "SMALL_STRUCT_TEST_EXECUTION_CA"
+ ],
+ [
+ "LARGE_STRUCT_TEST_EXECUTION_CA"
+ ],
+ [
+ "SMALL_STRUCT_TEST_CREATION_EXECUTION_NO_CA"
+ ],
+ [
+ "LARGE_STRUCT_TEST_CREATION_EXECUTION_NO_CA"
+ ],
+ [
+ "SMALL_STRUCT_TEST_CREATION_EXECUTION_CA"
+ ],
+ [
+ "LARGE_STRUCT_TEST_CREATION_EXECUTION_CA"
+ ],
+ [
+ "SMALL_UNSTRUCT_TESTS_NO_CA"
+ ],
+ [
+ "LARGE_UNSTRUCT_TESTS_NO_CA"
+ ],
+ [
+ "SMALL_UNSTRUCT_TESTS_CA"
+ ],
+ [
+ "LARGE_UNSTRUCT_TESTS_CA"
+ ],
+ [
+ "SMALL_AUTOMATED_TESTS_NO_CA"
+ ],
+ [
+ "LARGE_AUTOMATED_TESTS_NO_CA"
+ ],
+ [
+ "SMALL_AUTOMATED_TESTS_CA"
+ ],
+ [
+ "LARGE_AUTOMATED_TESTS_CA"
+ ],
+ [
+ "MOBILITY_TESTS_NO_CA"
+ ],
+ [
+ "MOBILITY_TESTS_CA"
+ ],
+ [
+ "PERFORMANCE_TESTS"
+ ]
+ ]
+ },
+ "wizard": {
+ "previousStepVisibility": "none",
+ "enabled": true
+ },
+ "hidePrice": true,
+ "baseTimeEstimateMin": 3,
+ "sections": [
+ {
+ "subSections": [
+ {
+ "hideTitle": true,
+ "description": "We will ask you several questions in order to determine your project’s scope. All estimates are based on our 15 years of experience and thousands of projects. Final prices will be determined after our team completes a final scope review.",
+ "theme": "light",
+ "type": "message"
+ },
+ {
+ "questions": [
+ {
+ "fieldName": "name",
+ "theme": "light",
+ "validations": "isRequired",
+ "type": "textinput",
+ "title": "What is the name of your app?",
+ "validationError": "Please, provide a name to your project",
+ "required": true
+ },
+ {
+ "fieldName": "description",
+ "theme": "light",
+ "type": "textbox",
+ "title": "Please describe your app using 2-3 sentences",
+ "validationError": "Please, provide a description",
+ "required": true
+ },
+ {
+ "fieldName": "details.utm.code",
+ "theme": "light",
+ "type": "textinput",
+ "title": "Do you have a Reference code? (optional)"
+ }
+ ],
+ "title": "App details",
+ "type": "questions"
+ }
+ ],
+ "statusText": "Let's go",
+ "id": "project-basic-details",
+ "title": "Basic Details"
+ },
+ {
+ "subSections": [
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "hiddenOnEdit": true,
+ "type": "static",
+ "content": "
{{name}}
{{description}}
"
+ },
+ {
+ "help": {
+ "linkTitle": "What is right for me?",
+ "title": "What is right for me?",
+ "content": "
Real World Unstructured Testing doesn't use pre-defined test scripts -- this is true “in-the-wild” testing that can provide many forms of feedback on your application, from functional issues, user experience issues, user interface issues, and content issues to name a few.
Real World Structured Testing can help produce and execute structured test cases quickly.
Mobility Testing by Topcoder can target up to 5 devices using our community of QA experts.
Automation Test Suites can be created by Topcoder using tools like Selenium, starting at up to 50 test cases.
Performance Testing by Topcoder will allow you to test several key functions of your application at scale with hundreds of virtual users. Reporting will be provided with specific recommendations to address any performance issues.
"
+ },
+ "fieldName": "details.appDefinition.qaType",
+ "icon": "question",
+ "options": [
+ {
+ "description": "Generate feedback with “in-the-wild” exploratory, functional feature testing with real users, providing feedback on compatibility, accessibility compliance, localization/language, and/or user sentiment.",
+ "label": "Unstructured Testing",
+ "value": "real-world-unstructured"
+ },
+ {
+ "summaryLabel": "Structured Testing",
+ "description": "Create test cases, execute established test cases, and generate feedback with real users. Great for UAT or regression testing as part of your SDLC.",
+ "label": "Structured Testing (Test Case Creation and/or Execution)",
+ "value": "real-world-structured"
+ },
+ {
+ "description": "Execute functional or non-functional testing including device compatibility certification and competitive analysis.",
+ "label": "Mobility Testing",
+ "value": "mobility-testing"
+ },
+ {
+ "description": "Build reusable frameworks and test scripts using open source tools to accelerate app delivery and improve ROI",
+ "label": "Automated Testing",
+ "value": "automated-testing"
+ },
+ {
+ "description": "Test responsiveness and stability of web and mobile applications under specific workloads, and identify actionable items for improvement.",
+ "label": "Performance Testing",
+ "value": "performance-testing"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "What type of QA you need?",
+ "type": "radio-group",
+ "summaryTitle": "QA Service",
+ "validationError": "Please, choose what do you need.",
+ "required": true
+ },
+ {
+ "fieldName": "details.appDefinition.structuredTestWorkType",
+ "icon": "question",
+ "description": "",
+ "title": "What do you need us to help you with?",
+ "type": "checkbox-group",
+ "summaryTitle": "Work Required",
+ "validationError": "Please, choose what do you need us to help with.",
+ "required": true,
+ "help": {
+ "linkTitle": "What is right for me?",
+ "title": "What is right for me?",
+ "content": "
Test Case Creation involves generating structured test cases that can be followed during test case execution.
Test Case Execution involves executing testing against the structured test cases created by Topcoder or against structured test cases provided by the client.
"
+ },
+ "condition": "details.appDefinition.qaType == 'real-world-structured'",
+ "options": [
+ {
+ "label": "Test Case Creation",
+ "value": "test-case-creation"
+ },
+ {
+ "label": "Test Case Execution",
+ "value": "test-case-execution"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ },
+ {
+ "fieldName": "details.appDefinition.structuredTestsCount",
+ "icon": "question",
+ "description": "",
+ "title": "How many test cases do you need?",
+ "type": "radio-group",
+ "summaryTitle": "Test Case/Screen Count",
+ "validationError": "Please, choose how many test cases you need or have.",
+ "required": true,
+ "help": {
+ "linkTitle": "What if I need more test cases/screens?",
+ "title": "What if I need more test cases/screens?",
+ "content": "
If your testing effort will require the creation or execution of more test cases/screens highlighted in our standard solutions, please indicate this in the Notes section prior to submitting your form.
"
+ },
+ "condition": "details.appDefinition.qaType == 'real-world-structured'",
+ "options": [
+ {
+ "condition": "(details.appDefinition.structuredTestWorkType contains 'test-case-creation' && details.appDefinition.structuredTestWorkType hasLength 1)",
+ "label": "Up to 50 test cases",
+ "value": "upto-50"
+ },
+ {
+ "condition": "(details.appDefinition.structuredTestWorkType contains 'test-case-creation' && details.appDefinition.structuredTestWorkType hasLength 1)",
+ "label": "Up to 100 test cases",
+ "value": "upto-100"
+ },
+ {
+ "condition": "(details.appDefinition.structuredTestWorkType contains 'test-case-execution')",
+ "label": "Up to 150 test cases",
+ "value": "upto-150"
+ },
+ {
+ "condition": "(details.appDefinition.structuredTestWorkType contains 'test-case-execution')",
+ "label": "Up to 300 test cases",
+ "value": "upto-300"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ },
+ {
+ "fieldName": "details.appDefinition.unstructuredTestsScreenCount",
+ "icon": "question",
+ "description": "",
+ "title": "How many screens need to be tested?",
+ "type": "radio-group",
+ "summaryTitle": "Test Case/Screen Count",
+ "validationError": "Please, choose how many test cases you need or have.",
+ "required": true,
+ "help": {
+ "linkTitle": "What if I need more test cases/screens?",
+ "title": "What if I need more test cases/screens?",
+ "content": "
If your testing effort will require the creation or execution of more test cases/screens highlighted in our standard solutions, please indicate this in the Notes section prior to submitting your form.
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.qaType == 'automated-testing'",
+ "fieldName": "details.appDefinition.automatedTestsCount",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Up to 50 test cases",
+ "value": "upto-50"
+ },
+ {
+ "label": "Up to 100 test cases",
+ "value": "upto-100"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "How many test cases do you need?",
+ "type": "radio-group",
+ "validationError": "Please, choose how many test cases you have or need.",
+ "required": true
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "qa-deliverable-questions",
+ "type": "questions"
+ },
+ {
+ "condition": "details.appDefinition.qaType != 'performance-testing'",
+ "hideTitle": true,
+ "questions": [
+ {
+ "help": {
+ "linkTitle": "What is right for me?",
+ "title": "What is right for me?",
+ "content": "
Topcoder recommends including an Architect on projects where a high degree of technical complexity is anticipated, when multiple deliverables are needed, or when you are a new to Topcoder and need additional help navigating the crowdsourcing process. Architects will provide additional oversight to your project. The inclusion of an Architect on a project will result in a service charge.
"
+ },
+ "fieldName": "details.appDefinition.caNeeded",
+ "icon": "question",
+ "options": [
+ {
+ "summaryLabel": "Project Manager + Architect",
+ "description": "Project managers will work with the Community on the execution of your deliverables. An Architect will be assigned to oversee the technical requirements and complexities of your project.",
+ "label": "Project Manager + Architect",
+ "value": "yes"
+ },
+ {
+ "summaryLabel": "Project Manager",
+ "description": "You will partner directly with your Project Manager to align on the requirements for your project and they will work with the Community on the execution of your deliverables.",
+ "label": "Project Manager",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "What kind of support do you want on your project?",
+ "type": "radio-group",
+ "validationError": "Please, ley us know if you need a dedicated manager.",
+ "required": true
+ },
+ {
+ "fieldName": "details.apiDefinition.notes",
+ "icon": "question",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)",
+ "title": "Notes",
+ "type": "textbox",
+ "summaryTitle": "Notes"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "tc-services-questions",
+ "type": "questions"
+ },
+ {
+ "hiddenOnCreation": true,
+ "fieldName": "attachments",
+ "description": "",
+ "id": "files",
+ "title": "Files",
+ "type": "files",
+ "required": false
+ }
+ ],
+ "description": "",
+ "wizard": {
+ "previousStepVisibility": "write",
+ "enabled": true
+ },
+ "id": "appDefinition",
+ "title": "App Definition",
+ "required": true
+ },
+ {
+ "subSections": [
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "static",
+ "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.
"
+ },
+ "fieldName": "details.appDefinition.addons.qa",
+ "icon": "question",
+ "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.",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "title": "QA add-ons",
+ "type": "add-ons",
+ "category": "qa"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized",
+ "enabled": true
+ },
+ "type": "questions"
+ }
+ ],
+ "wizard": {
+ "enabled": true
+ },
+ "id": "add-ons",
+ "title": "Configure my app"
+ },
+ {
+ "subSections": [
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "static",
+ "content": "
"
+ },
+ {
+ "help": {
+ "linkTitle": "What is right for me?",
+ "title": "What is right for me?",
+ "content": "
Structured testing is used to deliver our Regression Testing and End-User Acceptance/Beta Testing solutions.
Unstructured testing is used to deliver our Compatibility Testing, Exploratory Testing, Accessibility Testing, Localization/Language Testing, Functional/Feature Testing, and User Sentiment Analysis solutions. Unstructured testing does not use pre-defined test scripts -- this is true “in-the-wild” testing that can provide many forms of feedback on your application.
Regression Automation test suites can be created by Topcoder using tools like Selenium.
Automation Test Suites can be created by Topcoder using tools like Selenium, starting at up to 50 test cases.
Performance Testing by Topcoder will allow you to test several key functions of your application at scale with hundreds of virtual users. Reporting will be provided with specific recommendations to address any performance issues.
Mobility Testing can target up to 5 devices using our community of QA experts.
"
+ },
+ "fieldName": "details.appDefinition.qaType",
+ "icon": "question",
+ "options": [
+ {
+ "queryParamSelectCondition": "qaType == 'regression'",
+ "description": "Validate business-critical workflows in a structured manner",
+ "label": "Regression Testing",
+ "value": "regression-testing"
+ },
+ {
+ "queryParamSelectCondition": "qaType == 'end-user-acceptance-testing'",
+ "summaryLabel": "Acceptance Testing",
+ "description": "Expand risk coverage and generate end-user feedback early in the life cycle",
+ "label": "End-User Acceptance Testing/Beta Testing ",
+ "value": "end-user-acceptance-testing"
+ },
+ {
+ "queryParamSelectCondition": "qaType == 'compatibility-testing'",
+ "description": "Cross-browser, device testing including network, geographical coverage to assure app launch success",
+ "label": "Compatibility Testing",
+ "value": "compatibility-testing"
+ },
+ {
+ "queryParamSelectCondition": "qaType == 'exploratory-testing'",
+ "description": "Validate functionality and usability of web and mobile apps in-the-wild with real-life users",
+ "label": "Exploratory Testing",
+ "value": "exploratory-testing"
+ },
+ {
+ "queryParamSelectCondition": "qaType == 'accessibility-compliance'",
+ "description": "WCAG 2.1 standards-based usability testing and verification to confirm and guide to compliance",
+ "label": "Accessibility Testing",
+ "value": "accessibility-testing"
+ },
+ {
+ "queryParamSelectCondition": "qaType == 'localization-testing'",
+ "description": "Validate the product (UI, Content) built for a particular culture or locale settings",
+ "label": "Localization/Language Testing",
+ "value": "localization-testing"
+ },
+ {
+ "queryParamSelectCondition": "qaType == 'functional-feature-testing'",
+ "description": "Testing features in an agile environment to speed-up design and execution activities",
+ "label": "Functional/Feature Testing",
+ "value": "functional-testing"
+ },
+ {
+ "queryParamSelectCondition": "qaType == 'sentiment-analysis'",
+ "description": "Compare applications with competitor products in the market to derive improvement actions",
+ "label": "User Sentiment Analysis",
+ "value": "sentiment-analysis"
+ },
+ {
+ "queryParamSelectCondition": "qaType == 'regression-automation'",
+ "description": "Build reusable test scripts and frameworks using open source tools to accelerate app delivery & improve ROI",
+ "label": "Regression Automation",
+ "value": "regression-automation"
+ },
+ {
+ "queryParamSelectCondition": "qaType == 'performance-improvement'",
+ "description": "Test responsiveness and stability of web and mobile applications under specific workloads",
+ "label": "Performance Testing",
+ "value": "performance-testing"
+ },
+ {
+ "queryParamSelectCondition": "qaType == 'mobile-app-certification'",
+ "description": "Execute functional & non-functional tests including device compatibility certification & competitive analysis",
+ "label": "Mobile App Certification",
+ "value": "mobile-app-certifcation"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "What type of QA you need?",
+ "type": "radio-group",
+ "summaryTitle": "QA Service",
+ "validationError": "Please, choose what do you need.",
+ "required": true
+ },
+ {
+ "fieldName": "details.appDefinition.structuredTestWorkType",
+ "icon": "question",
+ "description": "",
+ "title": "What do you need us to help you with?",
+ "type": "checkbox-group",
+ "summaryTitle": "Work Required",
+ "validationError": "Please, choose what do you need us to help with.",
+ "required": true,
+ "help": {
+ "linkTitle": "What is right for me?",
+ "title": "What is right for me?",
+ "content": "
Test Case Creation involves generating structured test cases that can be followed during test case execution.
Test Case Execution involves executing testing against the structured test cases created by Topcoder or against structured test cases provided by the client.
"
+ },
+ "condition": "details.appDefinition.qaType == 'regression-testing' || details.appDefinition.qaType == 'end-user-acceptance-testing'",
+ "options": [
+ {
+ "queryParamSelectCondition": "workType == 'all'",
+ "description": "Involves generating structured test cases that can be followed during test case execution.",
+ "label": "Test Case Creation",
+ "value": "test-case-creation"
+ },
+ {
+ "queryParamSelectCondition": "workType == 'all'",
+ "description": "Involves executing testing against the structured test cases created by Topcoder or against structured test cases provided by the client.",
+ "label": "Test Case Execution",
+ "value": "test-case-execution"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ },
+ {
+ "condition": "details.appDefinition.qaType == 'regression-testing' || details.appDefinition.qaType == 'end-user-acceptance-testing'",
+ "fieldName": "details.appDefinition.needAdditionalStructTests",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "yes"
+ },
+ {
+ "label": "No",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "Will test coverage require more than 150 test cases?",
+ "type": "radio-group",
+ "validationError": "Please, ley us know if you need more than 150 test cases.",
+ "required": true
+ },
+ {
+ "condition": "details.appDefinition.needAdditionalStructTests == 'yes'",
+ "fieldName": "details.appDefinition.structuredTestsCount",
+ "icon": "question",
+ "options": [
+ {
+ "label": "150-300",
+ "value": "150-300"
+ },
+ {
+ "label": "300-450",
+ "value": "300-450"
+ },
+ {
+ "label": "450-600",
+ "value": "450-600"
+ },
+ {
+ "label": "600+",
+ "value": "600+"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "How many test cases do you anticipate requiring?",
+ "type": "radio-group",
+ "summaryTitle": "Test Case/Screen Count",
+ "validationError": "Please, choose how many test cases you need or have.",
+ "required": true
+ },
+ {
+ "condition": "details.appDefinition.qaType == 'compatibility-testing' || details.appDefinition.qaType == 'exploratory-testing' || details.appDefinition.qaType == 'accessibility-testing' || details.appDefinition.qaType == 'localization-testing' || details.appDefinition.qaType == 'functional-testing' || details.appDefinition.qaType == 'sentiment-analysis'",
+ "fieldName": "details.appDefinition.needAdditionalUnstructScreens",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "yes"
+ },
+ {
+ "label": "No",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "Will test coverage require more than 10 screens?",
+ "type": "radio-group",
+ "validationError": "Please, ley us know if you need more than 10 screens.",
+ "required": true
+ },
+ {
+ "fieldName": "details.appDefinition.unstructuredTestsScreenCount",
+ "icon": "question",
+ "description": "",
+ "title": "How many screens require testing?",
+ "type": "radio-group",
+ "summaryTitle": "Screen Count",
+ "validationError": "Please, choose how many screens you need testing for.",
+ "required": true,
+ "help": {
+ "linkTitle": "What if I need more test cases/screens?",
+ "title": "What if I need more test cases/screens?",
+ "content": "
If your testing effort will require the creation or execution of more test cases/screens highlighted in our standard solutions, please indicate this in the Notes section prior to submitting your form.
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.qaType == 'performance-improvement'",
+ "fieldName": "details.appDefinition.concurrentUsers",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Up to 500",
+ "value": "upto-500"
+ },
+ {
+ "label": "500-1000",
+ "value": "500-1000"
+ },
+ {
+ "label": "1000-5000",
+ "value": "1000-5000"
+ },
+ {
+ "label": "5000+",
+ "value": "above-5000"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "What is the desired system load of concurrent users?",
+ "type": "radio-group",
+ "validationError": "Please, choose how many test cases you have or need.",
+ "required": true
+ },
+ {
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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.qaType == 'performance-improvement'",
+ "fieldName": "details.appDefinition.processTransactionCount",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Up to 5",
+ "value": "upto-5"
+ },
+ {
+ "label": "5-10",
+ "value": "5-10"
+ },
+ {
+ "label": "10-25",
+ "value": "10-25"
+ },
+ {
+ "label": "25+",
+ "value": "above-25"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "Approximately how many business processes/transactions are included in this performance testing?",
+ "type": "radio-group",
+ "validationError": "Please, choose how many test cases you have or need.",
+ "required": true
+ },
+ {
+ "fieldName": "description",
+ "icon": "question",
+ "description": "",
+ "title": "Briefly describe the application we will be testing.",
+ "type": "textbox",
+ "summaryTitle": "Description"
+ },
+ {
+ "fieldName": "details.appDefinition.notes",
+ "icon": "question",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)",
+ "title": "Notes",
+ "type": "textbox",
+ "summaryTitle": "Notes"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "qa-deliverable-questions",
+ "type": "questions"
+ },
+ {
+ "condition": "details.appDefinition.qaType != 'performance-testing'",
+ "hideTitle": true,
+ "questions": [
+ {
+ "help": {
+ "linkTitle": "What is right for me?",
+ "title": "What is right for me?",
+ "content": "
All Topcoder projects engage a Challenge Manager, a member of the community who helps to set-up and execute work with the community.
Topcoder recommends including a Project Manager on projects where a high degree of technical complexity is anticipated, when multiple deliverables are needed, or when you are a new to Topcoder and need additional help navigating the crowdsourcing process. A Project Manager will provide additional oversight to your project.
"
+ },
+ "fieldName": "details.appDefinition.caNeeded",
+ "icon": "question",
+ "options": [
+ {
+ "summaryLabel": "Project Manager + Challenge Manager",
+ "description": "Challenge managers will work with the Community on the execution of your deliverables. A Project Manager will be assigned to oversee the technical requirements and complexities of your project.",
+ "label": "Project Manager + Challenge Manager",
+ "value": "yes"
+ },
+ {
+ "summaryLabel": "Challenge Manager only",
+ "description": "You will partner directly with your Challenge Manager to align on the requirements for your project and they will work with the Community on the execution of your deliverables.",
+ "label": "Challenge Manager only",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "What kind of support do you want on your project?",
+ "type": "radio-group",
+ "validationError": "Please, ley us know if you need a dedicated manager.",
+ "required": true
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "tc-services-questions",
+ "type": "questions"
+ },
+ {
+ "hiddenOnCreation": true,
+ "fieldName": "attachments",
+ "description": "",
+ "id": "files",
+ "title": "Files",
+ "type": "files",
+ "required": false
+ }
+ ],
+ "description": "",
+ "wizard": {
+ "previousStepVisibility": "write",
+ "enabled": true
+ },
+ "id": "appDefinition",
+ "title": "App Definition",
+ "required": true
+ },
+ {
+ "subSections": [
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "static",
+ "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.
"
+ },
+ "fieldName": "details.appDefinition.addons.qa",
+ "icon": "question",
+ "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.",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "title": "QA add-ons",
+ "type": "add-ons",
+ "category": "qa"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized",
+ "enabled": true
+ },
+ "type": "questions"
+ }
+ ],
+ "wizard": {
+ "enabled": true
+ },
+ "id": "add-ons",
+ "title": "Configure my app"
+ },
+ {
+ "subSections": [
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "static",
+ "content": "
"
+ },
+ {
+ "help": {
+ "linkTitle": "What work is right for me?",
+ "title": "What work is right for me?",
+ "content": "
Topcoder has design, development, and deployment solutions can be combined in a single project to help you deliver an end-to-end application.
It is important to note that all Topcoder development projects include standard quality assurance testing at no additional cost to help ensure you are getting the highest-quality application possible.
"
+ },
+ "fieldName": "details.appDefinition.deliverables",
+ "icon": "question",
+ "options": [
+ {
+ "summaryLabel": "Design",
+ "description": "We will design your app experience, focusing on the major features and experiences.",
+ "label": "Design",
+ "value": "design"
+ },
+ {
+ "summaryLabel": "Development",
+ "description": "We will develop your app based on existing designs. Building a reliable application for you is our priority. We include standard quality assurance testing at no additional cost when doing any development.",
+ "label": "Development & QA",
+ "value": "dev-qa"
+ },
+ {
+ "description": "Our team will ensure that your code is packaged and distributed on all targeted platforms and/or in the Apple/Google app stores.",
+ "label": "Deployment",
+ "value": "deployment"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "What do you need?",
+ "type": "checkbox-group",
+ "summaryTitle": "Work needed",
+ "validationError": "Please, choose what do you need.",
+ "required": true
+ },
+ {
+ "fieldName": "details.appDefinition.designGoal",
+ "icon": "question",
+ "description": "",
+ "title": "What is the goal of your designs?",
+ "type": "radio-group",
+ "summaryTitle": "Design goal",
+ "validationError": "Please, choose you design goal.",
+ "required": true,
+ "help": {
+ "linkTitle": "What should I choose?",
+ "title": "What should I choose?",
+ "content": "
Conceptual exploration
It enables you to explore UI and UX concepts for your application with industry-leading experts. This is the best choice when you are exploring ideas for a new application, but are not ready to begin development immediately. While design concepts empower you to explore different ideas, the design-deliverables are not considered production-ready as they will not contain detailed workflows for your entire application.
Production-ready designs
These are best used when you are ready to begin development on your application immediately after design-completion. These designs will include detailed workflows and options for your application.
"
+ },
+ "condition": "HAS_DESIGN_DELIVERABLE",
+ "options": [
+ {
+ "disableCondition": "HAS_DEV_DELIVERABLE",
+ "summaryLabel": "Concept",
+ "description": "We will produce high-quality screens with different directions that would help you define your product direction, and present to stakeholders.",
+ "label": "Concept exploration",
+ "value": "concept-designs"
+ },
+ {
+ "summaryLabel": "Production-ready designs",
+ "autoSelectCondition": "HAS_DEV_DELIVERABLE",
+ "description": "Our designers will create detailed, designed workflows that can be immediately ready for development upon completion.",
+ "label": "Production-ready designs",
+ "value": "comprehensive-designs"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ },
+ {
+ "fieldName": "details.appDefinition.quickTurnaround",
+ "icon": "question",
+ "description": "",
+ "title": "How quickly do you need your conceptual designs?",
+ "type": "radio-group",
+ "summaryTitle": "Quick Turnaround",
+ "validationError": "Please, choose your time expectations.",
+ "required": true,
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Topcoder has two backend solutions - RUX (3 Days) and Design Sprint (6 Days) - that provide customers with design concepts. The deliverables that you can expect from these two solutions are consistent, meaning that both will produce high-quality design concepts that will enable you to leverage our expert crowd in generating ideas for your application. The primary difference between these two solutions is the turnaround time. As the RUX solution has an expedited turnaround time of three days, a service charge is included in the price.
"
+ },
+ "condition": "CONCEPT_DESIGN",
+ "options": [
+ {
+ "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.",
+ "label": "I want concept designs in 3 days.",
+ "value": "under-3-days"
+ },
+ {
+ "summaryLabel": "6 days",
+ "description": "Topcoder will create agency-quality design variants for your app within 7 days.",
+ "label": "I want concept designs in 6 days.",
+ "value": "under-6-days"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "deliverables",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.targetDevices",
+ "icon": "question",
+ "description": "",
+ "title": "Where should your app work?",
+ "type": "checkbox-group",
+ "summaryTitle": "Devices",
+ "validationError": "Please, select devices",
+ "required": true,
+ "help": {
+ "linkTitle": "What to choose",
+ "title": "What to choose",
+ "content": "
Topcoder has the capability to create applications that are accessible as standalone applications from mobile or tablet devices, as well as applications that are accessible via a web browser from desktops, mobile or tablet devices.
"
+ },
+ "condition": "( HAS_DESIGN_DELIVERABLE || HAS_DEV_DELIVERABLE )",
+ "affectsQuickQuote": true,
+ "options": [
+ {
+ "description": "Your app can be installed and launched on mobile devices. This is Topcoder’s most requested option.",
+ "label": "Mobile",
+ "value": "mobile"
+ },
+ {
+ "description": "Your app can be used on tablet devices, with an optimized layout for tablets.",
+ "label": "Tablet",
+ "value": "tablet"
+ },
+ {
+ "description": "Your app would be accessed via web browser on desktop, mobile and tablet devices alike.",
+ "label": "Web Browser",
+ "value": "web-browser"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ },
+ {
+ "help": {
+ "linkTitle": "Which platforms to select?",
+ "title": "Which platforms to select?",
+ "content": "
Topcoder can create mobile applications for iOS, Android, or iOS and Android platforms.
"
+ },
+ "condition": "( details.appDefinition.targetDevices contains 'mobile' ) || ( details.appDefinition.targetDevices contains 'tablet' )",
+ "fieldName": "details.appDefinition.mobilePlatforms",
+ "affectsQuickQuote": true,
+ "icon": "question",
+ "options": [
+ {
+ "description": "Your app would work on iOS phones. We will develop it using Objective-C and SWIFT",
+ "label": "iOS",
+ "value": "ios"
+ },
+ {
+ "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.",
+ "label": "Android",
+ "value": "android"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "title": "What type of platform do you need?",
+ "type": "checkbox-group",
+ "summaryTitle": "Mobile platforms"
+ },
+ {
+ "fieldName": "details.appDefinition.nativeHybrid",
+ "icon": "question",
+ "description": "",
+ "title": "Does your app need to be Native or Hybrid?",
+ "type": "radio-group",
+ "summaryTitle": "App Type",
+ "validationError": "Please let us know the type of the app?",
+ "required": true,
+ "help": {
+ "linkTitle": "Which OS to select?",
+ "title": "Which OS to select?",
+ "content": "
Native operating systems are a SDK framework for building iOS and/or Android applications. Native applications typically have better performance if rich features such as video or audio are required.
Hybrid operating systems leverages a hybrid framework, such as Iconic, to build iOS and/or Android applications. Hybrid gives you the benefit of only having to maintain one code base for your application.
"
+ },
+ "condition": "( details.appDefinition.mobilePlatforms contains 'ios' ) || ( details.appDefinition.mobilePlatforms contains 'android' )",
+ "options": [
+ {
+ "description": "",
+ "label": "Native",
+ "value": "native"
+ },
+ {
+ "description": "",
+ "label": "Hybrid",
+ "value": "hybrid"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ },
+ {
+ "fieldName": "details.appDefinition.progressiveResponsive",
+ "icon": "question",
+ "description": "",
+ "title": "How should your app work when accessed via web browser?",
+ "type": "radio-group",
+ "summaryTitle": "Web App Type",
+ "validationError": "Please let us know the type of web app?",
+ "required": true,
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Progressive Web Applications are mobile web apps. They are built using a native framework so that it looks and functions like a native application, with rich features like GPS.
Responsive Web Applications are web apps that can be accessed from mobile, tablet, and/or desktop devices. You can choose custom layouts depending on device type.
Desktop Web Browser Applications come in one layout and are only accessed from desktop devices using common web browsers such as Chrome or Safari.
"
+ },
+ "condition": "( details.appDefinition.targetDevices contains 'web-browser' )",
+ "options": [
+ {
+ "description": "Your web application can be accessed from all common mobile web browsers and will be built using a native mobile framework.",
+ "label": "Progressive Web Application for Mobile Web Browsing",
+ "value": "progressive"
+ },
+ {
+ "description": "Your web application can be accessed from all common desktop, mobile and tablet web browsers and will be optimized for all screen sizes.",
+ "label": "Responsive Web Application for Desktop, Tablet, and Mobile Web Browsing",
+ "value": "responsive"
+ },
+ {
+ "description": "Your web application can be accessed from desktop devices on all common web browsers.",
+ "label": "Desktop Web Application",
+ "value": "desktop"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "target-devices-os",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.numberScreens",
+ "icon": "question",
+ "description": "",
+ "title": "How many screens do you need?",
+ "type": "radio-group",
+ "summaryTitle": "Screens",
+ "validationError": "Please let us know the number of screens required?",
+ "required": true,
+ "help": {
+ "linkTitle": "What are screens?",
+ "title": "What are screens?",
+ "content": "
Screens represent the number of unique pages within your application, which may include several features on each screen.
If you require more than 15 screens for your application, please indicate this in the Notes section of the form prior to submitting.
"
+ },
+ "condition": "( HAS_DESIGN_DELIVERABLE || HAS_DEV_DELIVERABLE ) && (!( MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP))",
+ "options": [
+ {
+ "description": "Suitable for small apps with 2-4 main features",
+ "disabled": false,
+ "label": "2-4 screens",
+ "value": "2-4"
+ },
+ {
+ "description": "Suitable for medium apps with 5-8 main features",
+ "disabled": false,
+ "label": "5-8 screens",
+ "value": "5-8"
+ },
+ {
+ "condition": "!QUICK_DESIGN_3_DAYS",
+ "description": "Suitable for larger apps with 9-15 main features",
+ "disabled": false,
+ "label": "9-15 screens",
+ "value": "9-15"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "app-size-questions",
+ "type": "questions"
+ },
+ {
+ "condition": "HAS_DEPLOY_DELIVERABLE",
+ "hideTitle": true,
+ "questions": [
+ {
+ "condition": "HAS_DEPLOY_DELIVERABLE",
+ "fieldName": "details.appDefinition.deploymentTargets",
+ "icon": "question",
+ "options": [
+ {
+ "condition": "( ONE_DELIVERABLE || (details.appDefinition.mobilePlatforms contains 'ios') )",
+ "description": "Apple App Store Deployment",
+ "label": "Apple App Store",
+ "value": "apple-app-store"
+ },
+ {
+ "condition": "( ONE_DELIVERABLE || (details.appDefinition.mobilePlatforms contains 'android') )",
+ "description": "Google App Store Deployment",
+ "label": "Google Play",
+ "value": "google-play"
+ },
+ {
+ "condition": "( ONE_DELIVERABLE || (details.appDefinition.targetDevices contains 'desktop') || (details.appDefinition.targetDevices contains 'web-browser') )",
+ "description": "Deployment to your internal production environment",
+ "label": "Internal Production Environment",
+ "value": "internal-production-environment"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "Where do you need your app deployed?",
+ "type": "checkbox-group",
+ "summaryTitle": "Deployment Targets",
+ "validationError": "Please, choose what do you need us to help with.",
+ "required": true
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "deployment-deliverable-questions",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.caNeeded",
+ "icon": "question",
+ "description": "",
+ "title": "What kind of support do you want on your project?",
+ "type": "radio-group",
+ "summaryTitle": "Architect",
+ "validationError": "Please, ley us know if you need a dedicated manager.",
+ "required": true,
+ "help": {
+ "linkTitle": "What is right for me?",
+ "title": "What is right for me?",
+ "content": "
Topcoder recommends including an Architect on projects where a high degree of technical complexity is anticipated, when multiple deliverables are needed, or when you are a new to Topcoder and need additional help navigating the crowdsourcing process. Architects will provide additional oversight to your project. The inclusion of an Architect on a project will result in a service charge.
"
+ },
+ "condition": "!( MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP)",
+ "options": [
+ {
+ "summaryLabel": "Yes",
+ "description": "Project managers will work with the Community on the execution of your deliverables. An Architect will be assigned to oversee the technical requirements and complexities of your project.",
+ "label": "Project Manager + Architect",
+ "value": "yes"
+ },
+ {
+ "summaryLabel": "No",
+ "description": "You will partner directly with your Project Manager to align on the requirements for your project and they will work with the Community on the execution of your deliverables.",
+ "label": "Project Manager",
+ "value": "no"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ },
+ {
+ "fieldName": "details.apiDefinition.notes",
+ "icon": "question",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)",
+ "title": "Notes",
+ "type": "textbox",
+ "summaryTitle": "Notes"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "tc-services-questions",
+ "type": "questions"
+ },
+ {
+ "condition": "MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP",
+ "fieldName": "details.appDefinition.message",
+ "hideTitle": true,
+ "description": "Wow! We love your idea. This is a very complex, technical solution. We will take a look at your project and contact you regarding next steps and a quote.",
+ "id": "customeQuote",
+ "title": "Message",
+ "type": "message"
+ },
+ {
+ "hiddenOnCreation": true,
+ "fieldName": "attachments",
+ "description": "",
+ "id": "files",
+ "title": "Please upload any document that can help us in moving ahead with the project",
+ "type": "files"
+ }
+ ],
+ "description": "",
+ "wizard": {
+ "previousStepVisibility": "write",
+ "enabled": true
+ },
+ "id": "appDefinition",
+ "title": "App Definition",
+ "required": true
+ },
+ {
+ "subSections": [
+ {
+ "condition": "!(MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP)",
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "static",
+ "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": "HAS_DESIGN_DELIVERABLE && !(MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP)",
+ "fieldName": "details.appDefinition.addons.design",
+ "icon": "question",
+ "description": "Select any desired add-ons to your project. Please note that each add-on will incur a cost and has a delivery duration. Your project estimate will be updated to reflect the cost and duration of your base solution and add-ons. Additionally, you will receive a full breakdown on cost in the final project proposal from Topcoder.",
+ "theme": "light",
+ "title": "Design add-ons",
+ "type": "add-ons",
+ "category": "visual_design"
+ },
+ {
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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": "HAS_DEV_DELIVERABLE && !(MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP)",
+ "fieldName": "details.appDefinition.addons.development",
+ "icon": "question",
+ "description": "Select any desired add-ons to your project. Please note that each add-on will incur a cost and has a delivery duration. Your project estimate will be updated to reflect the cost and duration of your base solution and add-ons. Additionally, you will receive a full breakdown on cost in the final project proposal from Topcoder.",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "title": "Development add-ons",
+ "type": "add-ons",
+ "category": "development"
+ },
+ {
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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": "HAS_DEPLOY_DELIVERABLE && !(MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP)",
+ "fieldName": "details.appDefinition.addons.delivery",
+ "icon": "question",
+ "description": "Select any desired add-ons to your project. Please note that each add-on will incur a cost and has a delivery duration. Your project estimate will be updated to reflect the cost and duration of your base solution and add-ons. Additionally, you will receive a full breakdown on cost in the final project proposal from Topcoder.",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "title": "Delivery add-ons",
+ "type": "add-ons",
+ "category": "deployment"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized",
+ "enabled": true
+ },
+ "type": "questions"
+ }
+ ],
+ "wizard": {
+ "enabled": true
+ },
+ "id": "add-ons",
+ "title": "Configure my app"
+ },
+ {
+ "subSections": [
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "static",
+ "content": "
Your Project Estimate
"
+ }
+ ],
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "type": "portal",
+ "content": [
+ {
+ "sectionIndex": 1
+ },
+ {
+ "sectionIndex": 3
+ }
+ ]
+ },
+ {
+ "condition": "!(MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP)",
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "estimation",
+ "title": "Your project timeline",
+ "deliverables": [
+ {
+ "id": "design",
+ "deliverableKey": "design",
+ "title": "Design",
+ "enableCondition": "HAS_DESIGN_DELIVERABLE"
+ },
+ {
+ "id": "development",
+ "deliverableKey": "dev-qa",
+ "title": "Development & QA",
+ "enableCondition": "HAS_DEV_DELIVERABLE"
+ },
+ {
+ "id": "deployment",
+ "deliverableKey": "deployment",
+ "title": "Deploy",
+ "enableCondition": "HAS_DEPLOY_DELIVERABLE"
+ }
+ ]
+ }
+ ],
+ "type": "questions"
+ },
+ {
+ "hiddenOnCreation": false,
+ "fieldName": "attachments",
+ "description": "",
+ "id": "files",
+ "title": "Please upload any document that can help us in moving ahead with the project",
+ "type": "files"
+ }
+ ],
+ "hiddenOnEdit": true,
+ "footer": {
+ "content": ""
+ },
+ "nextButtonText": "Save my project",
+ "id": "summary-final",
+ "hideFormHeader": true
+ }
+ ],
+ "baseTimeEstimateMax": 6,
+ "priceConfigOpt": null
+ },
+ "name": "(Workstreams) Design, Development & Deployment",
+ "disabled": false,
+ "id": 219,
+ "category": "scoped-solutions",
+ "key": "app_new_workstreams",
+ "phases": {
+ "workstreamsConfig": {
+ "workstreams": [
+ {
+ "name": "Design Workstream",
+ "type": "design"
+ },
+ {
+ "name": "Development Workstream",
+ "type": "development"
+ },
+ {
+ "name": "QA Workstream",
+ "type": "qa"
+ },
+ {
+ "name": "Deployment Workstream",
+ "type": "deployment"
+ }
+ ],
+ "projectFieldName": "details.appDefinition.deliverables",
+ "workstreamTypesToProjectValues": {
+ "qa": [
+ "dev-qa"
+ ],
+ "development": [
+ "dev-qa"
+ ],
+ "design": [
+ "design"
+ ],
+ "deployment": [
+ "deployment"
+ ]
+ }
+ }
+ },
+ "updatedAt": "2020-01-22T13:22:41.242Z",
+ "info": "Create high-quality designs, develop and/or deploy your app or website"
+ },
+ {
+ "metadata": {},
+ "subCategory": null,
+ "aliases": [
+ "enterprise_web",
+ "enterprise-web"
+ ],
+ "updatedBy": 40051333,
+ "question": "What do you need to develop?",
+ "hidden": true,
+ "icon": "../../assets/icons/product-app-app.svg",
+ "priceConfig": null,
+ "deletedBy": null,
+ "planConfig": null,
+ "createdAt": "2018-07-09T10:25:14.000Z",
+ "deletedAt": null,
+ "form": null,
+ "createdBy": 40051333,
+ "scope": {
+ "sections": [
+ {
+ "subSections": [
+ {
+ "fieldName": "name",
+ "description": "",
+ "id": "projectName",
+ "title": "Project Name",
+ "type": "project-name",
+ "required": true,
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "description",
+ "validationErrors": {
+ "isRequired": "Please provide a description",
+ "minLength": "Please enter at least 160 characters"
+ },
+ "description": "Can you provide a brief summary of the application you’d like to develop?",
+ "id": "projectInfo",
+ "validations": "isRequired,minLength:160",
+ "title": "App Summary",
+ "type": "textbox",
+ "required": true
+ },
+ {
+ "fieldName": "details.appDefinition.appType",
+ "icon": "question",
+ "options": [
+ {
+ "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": "desktop"
+ },
+ {
+ "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.",
+ "value": "responsive"
+ }
+ ],
+ "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. ",
+ "title": "App Type",
+ "type": "checkbox-group",
+ "required": true,
+ "validationError": "Please let us know the target 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"
+ }
+ ],
+ "description": "",
+ "id": "user",
+ "title": "Questions",
+ "type": "questions",
+ "required": true
+ },
+ {
+ "hideTitle": false,
+ "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"
+ }
+ ],
+ "description": "",
+ "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”",
+ "type": "questions",
+ "required": false
+ },
+ {
+ "hideTitle": false,
+ "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"
+ }
+ ],
+ "description": "Please select each for each user type/role. Please provide details on what the user/role should do in the Description column.",
+ "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",
+ "required": false
+ },
+ {
+ "hideTitle": false,
+ "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"
+ }
+ ],
+ "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.",
+ "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.",
+ "type": "questions",
+ "required": false
+ },
+ {
+ "hideTitle": false,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.screens",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Enterprise Login - Supports integration with an existing authorization/authentication mechanism.",
+ "value": "enterprise-login"
+ },
+ {
+ "label": "Email Login - Support sign in using an email address/password.",
+ "value": "email-login"
+ },
+ {
+ "label": "Social Login - Support register and login using third-party services such as Facebook, Twitter, and Google.",
+ "value": "social-login"
+ },
+ {
+ "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": "registration"
+ },
+ {
+ "label": "Invitations - Allow users to invite others to use your app via email. ",
+ "value": "invitations"
+ },
+ {
+ "label": "Introductions - Present your app and inform users of core functionality using a series of introductory screens before they sign up.",
+ "value": "introductions"
+ },
+ {
+ "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": "onboarding"
+ },
+ {
+ "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": "search"
+ },
+ {
+ "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": "location-based-services"
+ },
+ {
+ "label": "Camera (Audio & Video) - Add this feature if your app will require using the camera to capture audio or video.",
+ "value": "camera"
+ },
+ {
+ "label": "File Upload - Allow users to upload photos or other files.",
+ "value": "file-upload"
+ },
+ {
+ "label": "Notifications - Take advantage of notifications; for example, remind users to do certain tasks or update them on new content.",
+ "value": "notifications"
+ },
+ {
+ "label": "Dashboard - App must have a central dashboard where users can access functionality",
+ "value": "dashboard"
+ },
+ {
+ "label": "Tagging - Allow users to tag products, people or content; for example, in order to classify and easily retrieve notes.",
+ "value": "tagging"
+ },
+ {
+ "label": "Account Settings - Allow your users to adjust settings or specify preferences, such as communication frequency.",
+ "value": "account-settings"
+ },
+ {
+ "label": "Help/FAQs - Include a section dedicated to FAQ or Help content.",
+ "value": "help-faws"
+ },
+ {
+ "label": "Marketplace - Allow users to buy, sell, or rent products or services.",
+ "value": "marketplace"
+ },
+ {
+ "label": "Ratings & Reviews - Let users rate or review people, products, or services.",
+ "value": "ratings-reviews"
+ },
+ {
+ "label": "Payments - Allow users to pay in some way; for example, using credit cards, PayPal, or Bitcoin.",
+ "value": "payments"
+ },
+ {
+ "label": "Shopping Cart - Allow users to save items before purchasing. Please specify your desired functionality below.",
+ "value": "shopping-cart"
+ },
+ {
+ "label": "Product Listing - Add this feature to shows lists of product or services, with individual detail pages for each one.",
+ "value": "product-listing"
+ },
+ {
+ "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": "activity-feed"
+ },
+ {
+ "label": "Profiles - Add this feature if your app requires users to have a profile, including the ability to edit it.",
+ "value": "profiles"
+ },
+ {
+ "label": "Messaging - Allow direct communication between two or more users.",
+ "value": "messaging"
+ },
+ {
+ "label": "Admin Tool - App must have an administrative tool or panel to enable direct management of users, content and the application.",
+ "value": "admin-tool"
+ },
+ {
+ "label": "Social Media Integration - App must integrate with social media providers (Facebook, Instagram, Twitter, Google+, etc)",
+ "value": "social-media-integration"
+ },
+ {
+ "label": "Reporting - App must have the ability to report/export data",
+ "value": "reporting"
+ },
+ {
+ "label": "Contact Us - App must have the ability to allow users to contact an administrator/send feedback to administrators.",
+ "value": "contact-us"
+ }
+ ],
+ "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. ",
+ "title": "Screen / Feature List",
+ "type": "checkbox-group"
+ },
+ {
+ "fieldName": "details.appDefinition.techFeatures",
+ "icon": "question",
+ "options": [
+ {
+ "label": "SSO Integration - App must integrate with enterprise single-sign-on capability.",
+ "value": "enterprise-login"
+ },
+ {
+ "label": "API Integration - App must integrate with a pre-existing API.",
+ "value": "api-integration"
+ },
+ {
+ "label": "Third Party System Integration - App must integrate with an external application or system and either retrieve or post data.",
+ "value": "third-party-system-integration"
+ },
+ {
+ "label": "Containerized Code - The codebase must be containerized via Docker to allow for easier deployment and maintenance.",
+ "value": "containerized-code"
+ },
+ {
+ "label": "Unit Tests - App must have unit tests to ensure code coverage.",
+ "value": "unit-tests"
+ },
+ {
+ "label": "Continuous Integration / Continuous Deployment - Establishment of a CI/CD pipeline.",
+ "value": "continuous-integration-/-continuous-deployment"
+ },
+ {
+ "label": "Analytics Implementation - Implementation of analytics to track user behavior and app usage.",
+ "value": "analytics-implementation"
+ },
+ {
+ "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": "email-(smtp-server)-setup"
+ },
+ {
+ "label": "SMS Gateway Integration - App must integrate with an external SMS gateway/provider for notifications via SMS.",
+ "value": "sms-gateway-integration"
+ },
+ {
+ "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": "error-logging"
+ }
+ ],
+ "description": "Please select each required technology requirement above",
+ "title": "Technology Requirements",
+ "type": "checkbox-group"
+ }
+ ],
+ "description": "",
+ "id": "screen-features",
+ "title": "Screen and Features",
+ "type": "questions",
+ "required": false
+ },
+ {
+ "hideTitle": false,
+ "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"
+ }
+ ],
+ "description": "Do you have a preferred technology stack? If yes, please list those requirements here:",
+ "id": "techStack",
+ "title": "Technology Stack - Do you have a preferred technology stack? If yes, please list those requirements here:",
+ "type": "questions",
+ "required": false
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.qaTesting.security",
+ "options": [
+ {
+ "label": "Standard Security - Select this option if your app requires standard security.",
+ "value": "standard"
+ },
+ {
+ "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": "enterprise"
+ },
+ {
+ "label": "Vulnerability Scanning - Vulnerability scanning is a security technique used to identify security weaknesses in a computer system.",
+ "value": "vulnerability"
+ },
+ {
+ "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": "auditing"
+ },
+ {
+ "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": "confidential"
+ }
+ ],
+ "description": "Please select each required security requirement above.",
+ "title": "Security Requirements",
+ "type": "checkbox-group"
+ },
+ {
+ "fieldName": "details.qaTesting.testing",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Real World Unstructured - Functional testing performed without test scripts. Users search on their own for bugs or usability issues.",
+ "value": "rw-unstructured"
+ },
+ {
+ "label": "Real World Testing - Structured - Test case based execution, covering all the functional requirements & cross-browser device testing.",
+ "value": "rw-structured"
+ },
+ {
+ "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": "testcases"
+ },
+ {
+ "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": "certification"
+ },
+ {
+ "label": "Performance Testing - Testing web application’s robustness, availability, and reliability for defined business scenarios and concurrent users.",
+ "value": "performanceTuning"
+ },
+ {
+ "label": "Performance Tuning - Analyze and identify performance issues, actionable items for improvement.",
+ "value": "performanceTesting"
+ }
+ ],
+ "description": "Please select each for each required QA requirement.",
+ "title": "Quality Assurance, Test Data & Performance Testing",
+ "type": "checkbox-group"
+ },
+ {
+ "fieldName": "details.qaTesting.users",
+ "icon": "question",
+ "title": "How many users do you intend to support?",
+ "type": "textbox",
+ "required": false
+ },
+ {
+ "fieldName": "details.qaTesting.data",
+ "icon": "question",
+ "options": [
+ {
+ "title": "We will provide obfuscated data",
+ "value": "create"
+ },
+ {
+ "title": "Topcoder will create data",
+ "value": "provide"
+ }
+ ],
+ "title": "Do you intend to supply test data or should Topcoder create it?",
+ "type": "slide-radiogroup",
+ "required": false
+ },
+ {
+ "fieldName": "details.qaTesting.uat",
+ "icon": "question",
+ "options": [
+ {
+ "label": "1 UAT/Beta Test Cycle.",
+ "value": "uat"
+ },
+ {
+ "label": "Implementation of Updates (update the app based on UAT/Beta Testing feedback)",
+ "value": "uat-updates"
+ }
+ ],
+ "description": "UAT is the process of sharing the final application with users and gathering feedback. Please select each required UAT requirement.",
+ "title": "User Acceptance / Beta Testing",
+ "type": "checkbox-group"
+ }
+ ],
+ "description": "",
+ "title": "Quality Assurance, Testing and Security",
+ "type": "questions"
+ },
+ {
+ "hideTitle": false,
+ "questions": [
+ {
+ "fieldName": "details.loadDetails.budget",
+ "icon": "question",
+ "options": [
+ {
+ "title": "Under $25K ",
+ "value": "upto-25"
+ },
+ {
+ "title": "$25K to $50K",
+ "value": "upto-50"
+ },
+ {
+ "title": "$50K to $75K",
+ "value": "upto-75"
+ },
+ {
+ "title": "$75K to $100K",
+ "value": "upto-100"
+ },
+ {
+ "title": "More than $100K",
+ "value": "above-100"
+ }
+ ],
+ "description": "How much budget do you have?",
+ "title": "Budget",
+ "type": "slide-radiogroup",
+ "required": true,
+ "validationError": "Please provide expected hours of execution"
+ },
+ {
+ "fieldName": "details.loadDetails.timeline",
+ "icon": "question",
+ "options": [
+ {
+ "title": "Under 1 month",
+ "value": "upto-1month"
+ },
+ {
+ "title": "1 to 2 months",
+ "value": "upto-2months"
+ },
+ {
+ "title": "2 to 3 months",
+ "value": "upto-3months"
+ },
+ {
+ "title": "3 to 6 months",
+ "value": "upto-6months"
+ }
+ ],
+ "description": "When do you need your app by?",
+ "title": "Timeline",
+ "type": "slide-radiogroup",
+ "required": true,
+ "validationError": "Please provide expected hours of execution"
+ }
+ ],
+ "description": "",
+ "title": "Budget and Timeline",
+ "type": "questions"
+ },
+ {
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)",
+ "id": "notes",
+ "title": "Notes",
+ "type": "notes"
+ }
+ ],
+ "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.",
+ "id": "appDefinition",
+ "title": "Enterprise Web",
+ "required": true
+ }
+ ]
+ },
+ "name": "Enterprise Web",
+ "disabled": false,
+ "id": 18,
+ "category": "app",
+ "key": "enterprise_web",
+ "phases": {
+ "enterprise_web": {
+ "duration": 10,
+ "name": "Enterprise Web",
+ "products": [
+ {
+ "id": 7,
+ "productKey": "enterprise_web"
+ }
+ ]
+ }
+ },
+ "updatedAt": "2020-01-22T13:22:41.241Z",
+ "info": "Enterprise Web"
+ },
+ {
+ "metadata": {},
+ "subCategory": null,
+ "aliases": [
+ "kubik-testing-automation"
+ ],
+ "updatedBy": 40051333,
+ "question": "What kind of quality assurance (QA) do you need?",
+ "hidden": true,
+ "icon": "product-qa-crowd-testing",
+ "priceConfig": null,
+ "deletedBy": null,
+ "planConfig": null,
+ "createdAt": "2019-04-25T10:43:14.000Z",
+ "deletedAt": null,
+ "form": null,
+ "createdBy": 40051333,
+ "scope": {
+ "sections": [
+ {
+ "subSections": [
+ {
+ "fieldName": "name",
+ "description": "",
+ "id": "projectName",
+ "title": "Project Name",
+ "type": "project-name",
+ "required": true,
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "questions": [
+ {
+ "fieldName": "details.businessUnit",
+ "description": "Business Unit or Group function (e.g. ZNA, UK, GF&SU, COMMERCIAL INSURANCE,…)",
+ "validations": "isRequired",
+ "title": "BU",
+ "type": "textinput",
+ "validationError": "Mandatory field",
+ "required": true
+ },
+ {
+ "fieldName": "details.costCentre",
+ "validations": "isRequired",
+ "title": "Cost Centre",
+ "type": "textinput",
+ "validationError": "Mandatory field",
+ "required": true
+ }
+ ],
+ "id": "questions",
+ "title": "Business Unit & Cost Center",
+ "type": "questions",
+ "required": true
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "description",
+ "validationErrors": {
+ "isRequired": "Please provide a description",
+ "minLength": "Please enter at least 160 characters"
+ },
+ "description": "Please describe the testing application (background) and objectives of this test cycle. Please describe the users of this application and any other details that will help us understand your project.",
+ "id": "projectInfo",
+ "validations": "isRequired,minLength:160",
+ "title": "Project Overview",
+ "type": "textbox",
+ "required": true
+ }
+ ],
+ "description": "",
+ "id": "user",
+ "title": "Questions",
+ "type": "questions",
+ "required": true
+ },
+ {
+ "hideTitle": false,
+ "questions": [
+ {
+ "fieldName": "details.testingDetails.isLive",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "yest"
+ },
+ {
+ "label": "No",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "title": "Is this a live application (online/production)?",
+ "type": "radio-group",
+ "required": true,
+ "validationError": "Please let us know if this is a live application."
+ },
+ {
+ "fieldName": "details.testingDetails.createAccount",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "yes"
+ },
+ {
+ "label": "No",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "title": "Do users need to create accounts for testing (vs. you providing test accounts)? ",
+ "type": "radio-group",
+ "required": true
+ },
+ {
+ "fieldName": "details.testingDetails.requiresDomainKnowledge",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "yes"
+ },
+ {
+ "label": "No",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "title": "Is domain knowledge required?",
+ "type": "radio-group",
+ "required": true
+ },
+ {
+ "condition": "details.testingDetails.requiresDomainKnowledge == 'yes'",
+ "fieldName": "details.testingDetails.domainKnowledge",
+ "title": "Domain Knowledge",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.testingDetails.isEndCustomerFacing",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "yes"
+ },
+ {
+ "label": "No",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "title": "Is this an end customer facing application?",
+ "type": "radio-group",
+ "required": true
+ },
+ {
+ "condition": "details.testingDetails.isEndCustomerFacing == 'yes'",
+ "fieldName": "details.testingDetails.endCustomerFacingDetails",
+ "title": "Customer facing application details",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.testingDetails.isGeographyTarget",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "yes"
+ },
+ {
+ "label": "No",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "title": "Should testing target a specific geography?",
+ "type": "radio-group",
+ "required": true
+ },
+ {
+ "condition": "details.testingDetails.isGeographyTarget == 'yes'",
+ "fieldName": "details.testingDetails.targetGeographyDetails",
+ "title": "Target geography details",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.testingDetails.requiresTestingRights",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "yes"
+ },
+ {
+ "label": "No",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "title": "Does this testing effort require specific application testing rights?",
+ "type": "radio-group",
+ "required": true
+ },
+ {
+ "condition": "details.testingDetails.requiresTestingRights == 'yes'",
+ "fieldName": "details.testingDetails.testingRights",
+ "title": "Specific application testing rights",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.testingDetails.testCaseCount",
+ "icon": "question",
+ "options": [
+ {
+ "title": "Up to 50",
+ "value": "upto-50"
+ },
+ {
+ "title": "Up to 100",
+ "value": "upto-100"
+ },
+ {
+ "title": "100+",
+ "value": "above-100"
+ }
+ ],
+ "description": "",
+ "title": "How many test cases do you anticipate requiring in your automated test suite?",
+ "type": "slide-radiogroup",
+ "required": true,
+ "validationError": "Please provide expected number of test cases"
+ },
+ {
+ "condition": "details.testingDetails.testCaseCount == 'above-100'",
+ "fieldName": "details.testingDetails.customTestCaseCount",
+ "title": "Specify how many test cases you need",
+ "type": "numberinput"
+ }
+ ],
+ "description": "",
+ "id": "application-information",
+ "title": "Application Information",
+ "type": "questions",
+ "required": false
+ },
+ {
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g. links to documents or existing applications)",
+ "id": "notes",
+ "title": "Notes",
+ "type": "notes"
+ },
+ {
+ "hiddenOnCreation": true,
+ "fieldName": "attachments",
+ "description": "",
+ "id": "files",
+ "title": "Files",
+ "type": "files",
+ "required": false
+ }
+ ],
+ "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.",
+ "id": "appDefinition",
+ "title": "Testing Automation",
+ "required": true
+ }
+ ]
+ },
+ "name": "Testing Automation",
+ "disabled": false,
+ "id": 112,
+ "category": "quality_assurance",
+ "key": "kubik_testing_automation",
+ "phases": {
+ "1-qa-and-bug-fixes": {
+ "duration": 24,
+ "name": "QA/Testing",
+ "products": [
+ {
+ "id": 30,
+ "productKey": "qa-iteration"
+ }
+ ]
+ }
+ },
+ "updatedAt": "2020-01-22T13:22:41.243Z",
+ "info": "Exploratory Testing, Cross browser-device Testing"
+ },
+ {
+ "metadata": {},
+ "subCategory": null,
+ "aliases": [
+ "topgear_dev",
+ "topgear-dev"
+ ],
+ "updatedBy": 40051333,
+ "question": "What do you need to develop?",
+ "hidden": true,
+ "icon": "../../assets/icons/product-app-app.svg",
+ "priceConfig": null,
+ "deletedBy": null,
+ "planConfig": null,
+ "createdAt": "2018-07-09T10:32:26.000Z",
+ "deletedAt": null,
+ "form": null,
+ "createdBy": 40051333,
+ "scope": {
+ "sections": [
+ {
+ "subSections": [
+ {
+ "fieldName": "name",
+ "description": "",
+ "id": "projectName",
+ "title": "Project Name",
+ "type": "project-name",
+ "required": true,
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "description",
+ "validationErrors": {
+ "isRequired": "Please provide a description",
+ "minLength": "Please enter at least 160 characters"
+ },
+ "description": "Brief Description",
+ "id": "projectInfo",
+ "validations": "isRequired,minLength:160",
+ "title": "Description",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.appDefinition.goal.du",
+ "icon": "question",
+ "description": "",
+ "title": "DU",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.appDefinition.users.projectCode",
+ "icon": "question",
+ "title": "Project Code",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.appDefinition.users.cost_center",
+ "icon": "question",
+ "title": "Cost Center code",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.appDefinition.users.ng3",
+ "icon": "question",
+ "title": "Part of NG3",
+ "type": "textbox"
+ }
+ ],
+ "description": "",
+ "id": "questions",
+ "title": "Questions",
+ "type": "questions",
+ "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.",
+ "id": "appDefinition",
+ "title": "Topgear Dev",
+ "required": true
+ }
+ ]
+ },
+ "name": "Topgear",
+ "disabled": false,
+ "id": 19,
+ "category": "app",
+ "key": "topgear_dev",
+ "phases": {
+ "topgear_dev": {
+ "duration": 10,
+ "name": "Topgear",
+ "products": [
+ {
+ "id": 8,
+ "productKey": "topgear_dev"
+ }
+ ]
+ }
+ },
+ "updatedAt": "2020-01-22T13:22:41.241Z",
+ "info": "Topgear"
+ },
+ {
+ "metadata": {},
+ "subCategory": null,
+ "aliases": [
+ "watson-chatbot"
+ ],
+ "updatedBy": 40051333,
+ "question": "Watson Chatbot",
+ "hidden": true,
+ "icon": "../../assets/icons/product-cat-chatbot.svg",
+ "priceConfig": null,
+ "deletedBy": null,
+ "planConfig": null,
+ "createdAt": "2018-06-18T07:48:48.000Z",
+ "deletedAt": null,
+ "form": null,
+ "createdBy": 40051333,
+ "scope": {
+ "formTitle": "AI Chatbot with Watson",
+ "formDisclaimer": "IBM is receiving compensation from Topcoder for referring customers to Topcoder.",
+ "sections": [
+ {
+ "subSections": [
+ {
+ "fieldName": "name",
+ "description": "",
+ "id": "projectName",
+ "title": "Project Name",
+ "type": "project-name",
+ "required": true,
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "description",
+ "validationErrors": {
+ "isRequired": "Please provide a description",
+ "minLength": "Please enter at least 160 characters"
+ },
+ "description": "Brief Description",
+ "id": "projectInfo",
+ "validations": "isRequired,minLength:160",
+ "title": "Description",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.appDefinition.hasBluemixAccount",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "true"
+ },
+ {
+ "label": "No",
+ "value": "false"
+ }
+ ],
+ "description": "",
+ "title": "Do you have an existing IBM Cloud (formerly IBM Bluemix) account?",
+ "type": "radio-group",
+ "required": true,
+ "validationError": "Please complete this section"
+ },
+ {
+ "fieldName": "details.appDefinition.hasChatbot",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "true"
+ },
+ {
+ "label": "No",
+ "value": "false"
+ }
+ ],
+ "description": "",
+ "title": "Does your organization currently have a chatbot?",
+ "type": "radio-group",
+ "required": true
+ },
+ {
+ "fieldName": "details.appDefinition.existingChatbotDesc",
+ "icon": "question",
+ "description": "",
+ "title": "If yes, can you provide some brief specifics about your current chatbot?",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.appDefinition.capabilities",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Order management",
+ "value": "order_management"
+ },
+ {
+ "label": "Information",
+ "value": "information"
+ },
+ {
+ "label": "Help",
+ "value": "help"
+ },
+ {
+ "label": "Complaints",
+ "value": "complaints"
+ },
+ {
+ "label": "Billing",
+ "value": "billing"
+ },
+ {
+ "label": "Account management",
+ "value": "account_management"
+ },
+ {
+ "label": "Custom (please explain in the Notes)",
+ "value": "custom"
+ }
+ ],
+ "description": "",
+ "title": "What capabilities does the chatbot need to support?",
+ "type": "checkbox-group",
+ "required": true,
+ "validationError": "Please complete this section"
+ },
+ {
+ "fieldName": "details.appDefinition.integrationSystems",
+ "icon": "question",
+ "description": "",
+ "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.",
+ "type": "textbox",
+ "required": true,
+ "validationError": "Please complete this section"
+ },
+ {
+ "fieldName": "details.appDefinition.existingAgentScripts",
+ "icon": "question",
+ "description": "",
+ "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).",
+ "type": "textbox",
+ "required": true,
+ "validationError": "Please complete this section"
+ },
+ {
+ "fieldName": "details.appDefinition.transferToHumanAgents",
+ "icon": "question",
+ "description": "",
+ "title": "Are you planning to transfer conversations to human agents? If so, please list the agents’ communication tools (e.g., Slack, LiveAgent, Intercom, etc.).",
+ "type": "textbox",
+ "required": true,
+ "validationError": "Please complete this section"
+ }
+ ],
+ "description": "",
+ "id": "questions",
+ "title": "Questions",
+ "type": "questions",
+ "required": true
+ },
+ {
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)",
+ "id": "notes",
+ "title": "Notes",
+ "type": "notes"
+ }
+ ],
+ "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.",
+ "id": "appDefinition",
+ "title": "",
+ "required": true
+ }
+ ]
+ },
+ "name": "Watson Chatbot",
+ "disabled": false,
+ "id": 6,
+ "category": "chatbot",
+ "key": "watson_chatbot",
+ "phases": {
+ "2-front-end-development-i": {
+ "duration": 19,
+ "name": "Front-End Development, Pt. I",
+ "products": [
+ {
+ "id": 27,
+ "productKey": "development-iteration-3-milestones"
+ }
+ ]
+ },
+ "4-back-end-development-i": {
+ "duration": 19,
+ "name": "Back-End Development, Pt. I",
+ "products": [
+ {
+ "id": 27,
+ "productKey": "development-iteration-3-milestones"
+ }
+ ]
+ },
+ "3-front-end-development-ii": {
+ "duration": 19,
+ "name": "Front-End Development, Pt. II",
+ "products": [
+ {
+ "id": 27,
+ "productKey": "development-iteration-3-milestones"
+ }
+ ]
+ },
+ "5-back-end-development-ii": {
+ "duration": 19,
+ "name": "Back-End Development, Pt. II",
+ "products": [
+ {
+ "id": 27,
+ "productKey": "development-iteration-3-milestones"
+ }
+ ]
+ },
+ "1-app-design": {
+ "duration": 25,
+ "name": "Chatbot Design",
+ "products": [
+ {
+ "id": 26,
+ "productKey": "design-iteration-3-milestones"
+ }
+ ]
+ },
+ "6-qa-and-bug-fixes": {
+ "duration": 24,
+ "name": "QA & Bug Fixes",
+ "products": [
+ {
+ "id": 30,
+ "productKey": "qa-iteration"
+ }
+ ]
+ }
+ },
+ "updatedAt": "2020-01-22T13:22:41.304Z",
+ "info": "Build Chatbot using IBM Watson"
+ },
+ {
+ "metadata": {},
+ "subCategory": null,
+ "aliases": [
+ "kubik-mobility-testing"
+ ],
+ "updatedBy": 40051333,
+ "question": "What kind of quality assurance (QA) do you need?",
+ "hidden": true,
+ "icon": "product-qa-crowd-testing",
+ "priceConfig": null,
+ "deletedBy": null,
+ "planConfig": null,
+ "createdAt": "2019-04-25T10:53:57.000Z",
+ "deletedAt": null,
+ "form": null,
+ "createdBy": 40051333,
+ "scope": {
+ "sections": [
+ {
+ "subSections": [
+ {
+ "fieldName": "name",
+ "description": "",
+ "id": "projectName",
+ "title": "Project Name",
+ "type": "project-name",
+ "required": true,
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "questions": [
+ {
+ "fieldName": "details.businessUnit",
+ "description": "Business Unit or Group function (e.g. ZNA, UK, GF&SU, COMMERCIAL INSURANCE,…)",
+ "validations": "isRequired",
+ "title": "BU",
+ "type": "textinput",
+ "validationError": "Mandatory field",
+ "required": true
+ },
+ {
+ "fieldName": "details.costCentre",
+ "validations": "isRequired",
+ "title": "Cost Centre",
+ "type": "textinput",
+ "validationError": "Mandatory field",
+ "required": true
+ }
+ ],
+ "id": "questions",
+ "title": "Business Unit & Cost Center",
+ "type": "questions",
+ "required": true
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "description",
+ "validationErrors": {
+ "isRequired": "Please provide a description",
+ "minLength": "Please enter at least 160 characters"
+ },
+ "description": "Please describe the testing application (background) and objectives of this test cycle. Please describe the users of this application and any other details that will help us understand your project.",
+ "id": "projectInfo",
+ "validations": "isRequired,minLength:160",
+ "title": "Project Overview",
+ "type": "textbox",
+ "required": true
+ }
+ ],
+ "description": "",
+ "id": "user",
+ "title": "Questions",
+ "type": "questions",
+ "required": true
+ },
+ {
+ "hideTitle": false,
+ "questions": [
+ {
+ "fieldName": "details.testingDetails.isLive",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "yest"
+ },
+ {
+ "label": "No",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "title": "Is this a live application (online/production)?",
+ "type": "radio-group",
+ "required": true,
+ "validationError": "Please let us know if this is a live application."
+ },
+ {
+ "fieldName": "details.testingDetails.createAccount",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "yes"
+ },
+ {
+ "label": "No",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "title": "Do users need to create accounts for testing (vs. you providing test accounts)? ",
+ "type": "radio-group",
+ "required": true
+ },
+ {
+ "fieldName": "details.testingDetails.requiresDomainKnowledge",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "yes"
+ },
+ {
+ "label": "No",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "title": "Is domain knowledge required?",
+ "type": "radio-group",
+ "required": true
+ },
+ {
+ "condition": "details.testingDetails.requiresDomainKnowledge == 'yes'",
+ "fieldName": "details.testingDetails.domainKnowledge",
+ "title": "Domain Knowledge",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.testingDetails.isEndCustomerFacing",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "yes"
+ },
+ {
+ "label": "No",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "title": "Is this an end customer facing application?",
+ "type": "radio-group",
+ "required": true
+ },
+ {
+ "condition": "details.testingDetails.isEndCustomerFacing == 'yes'",
+ "fieldName": "details.testingDetails.endCustomerFacingDetails",
+ "title": "Customer facing application details",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.testingDetails.isGeographyTarget",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "yes"
+ },
+ {
+ "label": "No",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "title": "Should testing target a specific geography?",
+ "type": "radio-group",
+ "required": true
+ },
+ {
+ "condition": "details.testingDetails.isGeographyTarget == 'yes'",
+ "fieldName": "details.testingDetails.targetGeographyDetails",
+ "title": "Target geography details",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.testingDetails.requiresTestingRights",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "yes"
+ },
+ {
+ "label": "No",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "title": "Does this testing effort require specific application testing rights?",
+ "type": "radio-group",
+ "required": true
+ },
+ {
+ "condition": "details.testingDetails.requiresTestingRights == 'yes'",
+ "fieldName": "details.testingDetails.testingRights",
+ "title": "Specific application testing rights",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.testingDetails.targetDevices",
+ "title": "What devices would your like mobility testing to be performed on? (Please list up to five device types).",
+ "type": "textbox",
+ "required": true,
+ "validationError": "Please provide target devices for the testing"
+ }
+ ],
+ "description": "",
+ "id": "application-information",
+ "title": "Application Information",
+ "type": "questions",
+ "required": false
+ },
+ {
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g. links to documents or existing applications)",
+ "id": "notes",
+ "title": "Notes",
+ "type": "notes"
+ },
+ {
+ "hiddenOnCreation": true,
+ "fieldName": "attachments",
+ "description": "",
+ "id": "files",
+ "title": "Files",
+ "type": "files",
+ "required": false
+ }
+ ],
+ "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.",
+ "id": "appDefinition",
+ "title": "Mobility Testing",
+ "required": true
+ }
+ ]
+ },
+ "name": "Mobility Testing",
+ "disabled": false,
+ "id": 113,
+ "category": "quality_assurance",
+ "key": "kubik_mobility_testing",
+ "phases": {
+ "1-qa-and-bug-fixes": {
+ "duration": 24,
+ "name": "QA/Testing",
+ "products": [
+ {
+ "id": 30,
+ "productKey": "qa-iteration"
+ }
+ ]
+ }
+ },
+ "updatedAt": "2020-01-22T13:22:41.304Z",
+ "info": "Exploratory Testing, Cross browser-device Testing"
+ },
+ {
+ "metadata": {},
+ "subCategory": null,
+ "aliases": [
+ "kubik_sfdc_dev",
+ "kubik-sfdc-dev"
+ ],
+ "updatedBy": 40051333,
+ "question": "What kind of development do you need?",
+ "hidden": true,
+ "icon": "product-qa-sfdc-accelerator",
+ "priceConfig": null,
+ "deletedBy": null,
+ "planConfig": null,
+ "createdAt": "2018-11-13T10:06:10.000Z",
+ "deletedAt": null,
+ "form": null,
+ "createdBy": 40051333,
+ "scope": {
+ "sections": [
+ {
+ "subSections": [
+ {
+ "fieldName": "name",
+ "description": "",
+ "id": "projectName",
+ "title": "Project Name",
+ "type": "project-name-advanced",
+ "required": true,
+ "validationError": "Please provide a name to your project"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "description",
+ "validationErrors": {
+ "isRequired": "Please provide a description",
+ "minLength": "Please enter at least 160 characters"
+ },
+ "description": "Please briefly explain what type of application we’re building, the problem it solves and what it should do.",
+ "id": "projectInfo",
+ "validations": "isRequired,minLength:160",
+ "title": "Project Type/Overview",
+ "type": "textbox"
+ }
+ ],
+ "description": "",
+ "id": "questions",
+ "title": "Questions",
+ "type": "questions",
+ "required": true
+ },
+ {
+ "hideTitle": false,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.functionalities",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Sales Cloud - Campaign",
+ "value": "sales_cloud_campaign"
+ },
+ {
+ "label": "Lead",
+ "value": "lead"
+ },
+ {
+ "label": "Account",
+ "value": "account"
+ },
+ {
+ "label": "Contact",
+ "value": "contact"
+ },
+ {
+ "label": "Opportunity",
+ "value": "opportunity"
+ },
+ {
+ "label": "Quote",
+ "value": "quote"
+ },
+ {
+ "label": "Contract & Order Management",
+ "value": "contract_and_order"
+ },
+ {
+ "label": "Product & Price Book and End to End Processes & Misc Functions (Activites Chatter Reports & Dashboards)",
+ "value": "product_price"
+ },
+ {
+ "label": "Service Cloud – Case Management",
+ "value": "service_cloud_case_management"
+ }
+ ],
+ "description": "",
+ "title": "",
+ "type": "checkbox-group"
+ },
+ {
+ "fieldName": "details.appDefinition.lightningExperience.value",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "Yes"
+ },
+ {
+ "label": "No",
+ "value": "No"
+ },
+ {
+ "label": "I Don't Know",
+ "value": "Neither"
+ }
+ ],
+ "description": "",
+ "title": "Are you using the Lightning Experience?",
+ "type": "radio-group",
+ "required": true
+ }
+ ],
+ "description": "Select the functionalities which are applicable for your Salesforce.com Implementation ( 1 or multiple from the 10 listed below)",
+ "id": "questions",
+ "title": "Salesforce Details",
+ "type": "questions",
+ "required": true
+ },
+ {
+ "hideTitle": false,
+ "questions": [
+ {
+ "fieldName": "details.integrationDescription",
+ "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.",
+ "id": "integrationPoints",
+ "title": "",
+ "type": "textbox"
+ }
+ ],
+ "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.",
+ "title": "Integration Points",
+ "type": "questions",
+ "required": false
+ },
+ {
+ "hideTitle": false,
+ "questions": [
+ {
+ "fieldName": "details.strategicassets.guidewire",
+ "title": "Guidewire",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.strategicassets.tableau",
+ "title": "Tableau",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.strategicassets.sitecore",
+ "title": "Sitecore",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.strategicassets.innoveoskye",
+ "title": "Innoveo Skye",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.strategicassets.smartcommunications",
+ "title": "SmartCommunications",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.strategicassets.msdynamics",
+ "title": "MS Dynamics",
+ "type": "textbox"
+ }
+ ],
+ "description": "Do you have a preferred technology stack? If yes, please list those requirements here:",
+ "id": "techStackStrategicAssets",
+ "title": "Technology Stack (Strategic Assets)",
+ "type": "questions",
+ "required": false
+ },
+ {
+ "hideTitle": false,
+ "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"
+ },
+ {
+ "fieldName": "details.techstack.others",
+ "title": "Others",
+ "type": "textbox"
+ }
+ ],
+ "description": "Do you have a preferred technology stack? If yes, please list those requirements here:",
+ "id": "techStackGeneral",
+ "title": "Technology Stack (General) - Do you have a preferred technology stack? If yes, please list them here:",
+ "type": "questions",
+ "required": false
+ },
+ {
+ "hideTitle": false,
+ "questions": [
+ {
+ "fieldName": "details.loadDetails.budget",
+ "icon": "question",
+ "options": [
+ {
+ "title": "Under $25K ",
+ "value": "upto-25"
+ },
+ {
+ "title": "$25K to $50K",
+ "value": "upto-50"
+ },
+ {
+ "title": "$50K to $75K",
+ "value": "upto-75"
+ },
+ {
+ "title": "$75K to $100K",
+ "value": "upto-100"
+ },
+ {
+ "title": "More than $100K",
+ "value": "above-100"
+ }
+ ],
+ "description": "How much budget do you have?",
+ "title": "Budget",
+ "type": "slide-radiogroup",
+ "required": true,
+ "validationError": "Please provide expected hours of execution"
+ },
+ {
+ "fieldName": "details.loadDetails.timeline",
+ "icon": "question",
+ "options": [
+ {
+ "title": "Under 1 month",
+ "value": "upto-1month"
+ },
+ {
+ "title": "1 to 2 months",
+ "value": "upto-2months"
+ },
+ {
+ "title": "2 to 3 months",
+ "value": "upto-3months"
+ },
+ {
+ "title": "3 to 6 months",
+ "value": "upto-6months"
+ }
+ ],
+ "description": "When do you need your solution?",
+ "title": "Timeline",
+ "type": "slide-radiogroup",
+ "required": true,
+ "validationError": "Please provide expected hours of execution"
+ }
+ ],
+ "description": "",
+ "title": "Budget and Timeline",
+ "type": "questions"
+ },
+ {
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g. links to documents or existing applications)",
+ "id": "notes",
+ "title": "Notes",
+ "type": "notes"
+ }
+ ],
+ "description": "",
+ "id": "appDefinition",
+ "title": "Salesforce Dev",
+ "required": true
+ }
+ ]
+ },
+ "name": "Zurich Salesforce Dev",
+ "disabled": false,
+ "id": 25,
+ "category": "app_dev",
+ "key": "sfdc_dev",
+ "phases": {
+ "1-dev-iteration-i": {
+ "duration": 25,
+ "name": "Dev Iteration",
+ "products": [
+ {
+ "id": 29,
+ "productKey": "development-iteration-5-milestones"
+ }
+ ]
+ }
+ },
+ "updatedAt": "2020-01-22T13:22:41.304Z",
+ "info": "SalesForce Project"
+ },
+ {
+ "metadata": {},
+ "subCategory": null,
+ "aliases": [
+ "app-new",
+ "app_new"
+ ],
+ "updatedBy": 40051333,
+ "question": "What do you need to develop ?",
+ "hidden": true,
+ "icon": "product-app-app",
+ "priceConfig": null,
+ "deletedBy": null,
+ "planConfig": null,
+ "createdAt": "2019-01-23T09:23:05.000Z",
+ "deletedAt": null,
+ "form": null,
+ "createdBy": 40051333,
+ "scope": {
+ "basePriceEstimate": 5000,
+ "wizard": {
+ "previousStepVisibility": "readOnly",
+ "enabled": true
+ },
+ "baseTimeEstimateMin": 7,
+ "sections": [
+ {
+ "subSections": [
+ {
+ "description": "",
+ "id": "projectName",
+ "type": "project-name",
+ "title": "Project Name"
+ },
+ {
+ "questions": [
+ {
+ "layout": "horizontal",
+ "fieldName": "details.appDefinition.deliverables",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Design",
+ "value": "design"
+ },
+ {
+ "label": "Development",
+ "value": "dev-qa"
+ },
+ {
+ "label": "QA",
+ "value": "qa"
+ },
+ {
+ "label": "Deployment",
+ "value": "deployment"
+ }
+ ],
+ "description": "",
+ "title": "What do you need?",
+ "type": "checkbox-group"
+ },
+ {
+ "condition": "( details.appDefinition.deliverables contains 'design' )",
+ "fieldName": "details.appDefinition.designGoal",
+ "icon": "question",
+ "options": [
+ {
+ "label": "I just need concept designs",
+ "value": "concept-designs"
+ },
+ {
+ "label": "I need a comprehensive design solution that can be used for development.",
+ "value": "comprehensive-designs"
+ }
+ ],
+ "description": "",
+ "title": "What is the goal of your designs?",
+ "type": "radio-group"
+ },
+ {
+ "condition": "( details.appDefinition.designGoal == 'concept-designs' )",
+ "fieldName": "details.appDefinition.quickTurnaround",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Yes, I need designs ASAP",
+ "value": "under-3-days"
+ },
+ {
+ "label": "A week works for me!",
+ "value": "under-6-days"
+ }
+ ],
+ "description": "",
+ "title": "No problem! We can get you high-quality concept designs within a week. Do you need designs faster than this?",
+ "type": "radio-group"
+ },
+ {
+ "layout": "horizontal",
+ "condition": "( details.appDefinition.deliverables contains 'design' || details.appDefinition.deliverables contains 'dev-qa' )",
+ "fieldName": "details.appDefinition.targetDevices",
+ "affectsQuickQuote": true,
+ "icon": "question",
+ "options": [
+ {
+ "minTimeUp": 5,
+ "icon": "icon-tech-outline-mobile",
+ "label": "Mobile",
+ "value": "mobile",
+ "quoteUp": 1000,
+ "maxTimeUp": 7,
+ "desc": "Mobiles"
+ },
+ {
+ "minTimeUp": 5,
+ "icon": "icon-tech-outline-tablet",
+ "label": "Tablet",
+ "value": "tablet",
+ "quoteUp": 1000,
+ "maxTimeUp": 7,
+ "desc": "Tablets"
+ },
+ {
+ "iconOptions": {
+ "fill": "#000000"
+ },
+ "icon": "icon-tech-outline-desktop",
+ "label": "Desktop",
+ "value": "desktop",
+ "desc": "Desktop Apps"
+ },
+ {
+ "iconOptions": {
+ "fill": "#000000"
+ },
+ "icon": "icon-tech-outline-desktop",
+ "label": "Web Browser",
+ "value": "web-browser",
+ "desc": "Web browser apps"
+ }
+ ],
+ "description": "Select maximum 2 types of platforms 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.",
+ "title": "Where should your app work?",
+ "type": "checkbox-group"
+ },
+ {
+ "condition": "( details.appDefinition.targetDevices contains 'mobile' ) || ( details.appDefinition.targetDevices contains 'tablet' )",
+ "fieldName": "details.appDefinition.mobilePlatforms",
+ "affectsQuickQuote": true,
+ "icon": "question",
+ "options": [
+ {
+ "minTimeUp": 5,
+ "icon": "icon-tech-outline-mobile",
+ "label": "iOS",
+ "value": "ios",
+ "quoteUp": 1000,
+ "maxTimeUp": 7,
+ "desc": "iOS Apps"
+ },
+ {
+ "iconOptions": {
+ "fill": "#000000"
+ },
+ "minTimeUp": 4,
+ "icon": "icon-tech-outline-mobile",
+ "label": "Android",
+ "value": "android",
+ "quoteUp": 800,
+ "maxTimeUp": 6,
+ "desc": "Android Apps"
+ }
+ ],
+ "description": "Select maximum 2 types of platforms 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.",
+ "title": "What type of platform do you need?",
+ "type": "checkbox-group"
+ },
+ {
+ "condition": "( details.appDefinition.mobilePlatforms contains 'ios' ) || ( details.appDefinition.mobilePlatforms contains 'android' )",
+ "fieldName": "details.appDefinition.nativeHybrid",
+ "icon": "question",
+ "options": [
+ {
+ "icon": "icon-tech-outline-mobile",
+ "title": "Native",
+ "value": "native",
+ "desc": "Native Apps"
+ },
+ {
+ "iconOptions": {
+ "fill": "#000000"
+ },
+ "icon": "icon-tech-outline-mobile",
+ "title": "Hybrid",
+ "value": "hybrid",
+ "desc": "Hybrid Apps"
+ }
+ ],
+ "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.",
+ "title": "Does your app need to be Native or Hybrid?",
+ "type": "tiled-radio-group"
+ },
+ {
+ "condition": "( details.appDefinition.targetDevices contains 'web-browser' )",
+ "fieldName": "details.appDefinition.progressiveResponsive",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Progressive",
+ "value": "progressive"
+ },
+ {
+ "label": "Responsive",
+ "value": "responsive"
+ }
+ ],
+ "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.",
+ "title": "Should your web app be progressive or responsive?",
+ "type": "radio-group"
+ },
+ {
+ "condition": "( (details.appDefinition.deliverables contains 'design') || (details.appDefinition.deliverables contains 'dev-qa') ) && (!( !( details.appDefinition.targetDevices hasLength 1 ) && details.appDefinition.progressiveResponsive == 'responsive'))",
+ "fieldName": "details.appDefinition.numberScreens",
+ "icon": "question",
+ "options": [
+ {
+ "iconOptions": {
+ "number": "2-4"
+ },
+ "price": 2190,
+ "icon": "NumberText",
+ "title": "screens (small)",
+ "value": "2-4",
+ "desc": "7-10 days"
+ },
+ {
+ "iconOptions": {
+ "number": "5-8"
+ },
+ "price": 2102,
+ "icon": "NumberText",
+ "title": "screens (medium)",
+ "value": "5-8",
+ "desc": "10-12 days"
+ },
+ {
+ "condition": "!(details.appDefinition.quickTurnaround == 'under-3-days')",
+ "iconOptions": {
+ "number": "9-15"
+ },
+ "price": 6793,
+ "icon": "NumberText",
+ "title": "screens (large)",
+ "value": "9-15",
+ "desc": "10-12 days"
+ }
+ ],
+ "description": "This is the most popular project size that can get a medium-sized app designed in a breeze",
+ "title": "How many screens do you need?",
+ "type": "tiled-radio-group",
+ "required": true,
+ "validationError": "Please let us know the number of screens required?"
+ },
+ {
+ "layout": "vertical",
+ "condition": "( details.appDefinition.deliverables contains 'qa' && details.appDefinition.deliverables hasLength 1 )",
+ "fieldName": "details.appDefinition.qaType",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Real World Unstructured Testing",
+ "value": "real-world-unstructured"
+ },
+ {
+ "label": "Real World Structured Testing",
+ "value": "real-world-structured"
+ },
+ {
+ "label": "Mobility Testing",
+ "value": "mobility-testing"
+ },
+ {
+ "label": "Automation Testing",
+ "value": "automated-testing"
+ },
+ {
+ "label": "Performance Testing",
+ "value": "performance-testing"
+ }
+ ],
+ "description": "",
+ "title": "What type of QA you need?",
+ "type": "radio-group"
+ },
+ {
+ "layout": "horizontal",
+ "condition": "details.appDefinition.qaType == 'real-world-structured'",
+ "fieldName": "details.appDefinition.structuredTestWorkType",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Test Case Creation",
+ "value": "test-case-creation"
+ },
+ {
+ "label": "Test Case Execution",
+ "value": "test-case-execution"
+ }
+ ],
+ "description": "",
+ "title": "What do you need us to help you with?",
+ "type": "checkbox-group"
+ },
+ {
+ "condition": "details.appDefinition.qaType == 'real-world-structured'",
+ "fieldName": "details.appDefinition.structuredTestsCount",
+ "icon": "question",
+ "options": [
+ {
+ "condition": "(details.appDefinition.structuredTestWorkType contains 'test-case-creation' && details.appDefinition.structuredTestWorkType hasLength 1)",
+ "label": "Up to 50 test cases",
+ "value": "upto-50"
+ },
+ {
+ "condition": "(details.appDefinition.structuredTestWorkType contains 'test-case-creation' && details.appDefinition.structuredTestWorkType hasLength 1)",
+ "label": "Up to 100 test cases",
+ "value": "upto-100"
+ },
+ {
+ "condition": "(details.appDefinition.structuredTestWorkType contains 'test-case-execution')",
+ "label": "Up to 150 test cases",
+ "value": "upto-150"
+ },
+ {
+ "condition": "(details.appDefinition.structuredTestWorkType contains 'test-case-execution')",
+ "label": "Up to 300 test cases",
+ "value": "upto-300"
+ }
+ ],
+ "description": "",
+ "title": "How many test cases do you need?",
+ "type": "radio-group"
+ },
+ {
+ "condition": "details.appDefinition.qaType == 'real-world-unstructured'",
+ "fieldName": "details.appDefinition.unstructuredTestsScreenCount",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Up to 10",
+ "value": "upto-10"
+ },
+ {
+ "label": "Up to 30",
+ "value": "upto-30"
+ }
+ ],
+ "description": "",
+ "title": "How many screens need to be tested?",
+ "type": "radio-group"
+ },
+ {
+ "condition": "details.appDefinition.qaType == 'automated-testing'",
+ "fieldName": "details.appDefinition.automatedTestsCount",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Up to 50 test cases",
+ "value": "upto-50"
+ },
+ {
+ "label": "Up to 100 test cases",
+ "value": "upto-100"
+ }
+ ],
+ "description": "",
+ "title": "How many test cases do you need?",
+ "type": "radio-group"
+ },
+ {
+ "layout": "horizontal",
+ "condition": "details.appDefinition.deliverables contains 'deployment'",
+ "fieldName": "details.appDefinition.deploymentTargets",
+ "icon": "question",
+ "options": [
+ {
+ "condition": "( details.appDefinition.mobilePlatforms contains 'ios' )",
+ "label": "Apple App Store",
+ "value": "apple-app-store"
+ },
+ {
+ "condition": "( details.appDefinition.mobilePlatforms contains 'android' )",
+ "label": "Google Play",
+ "value": "google-play"
+ },
+ {
+ "condition": "( details.appDefinition.targetDevices contains 'desktop' || details.appDefinition.targetDevices contains 'web-browser' )",
+ "label": "Internal Production Environment",
+ "value": "internal-production-environment"
+ }
+ ],
+ "description": "",
+ "title": "Where do you need your app deployed?",
+ "type": "checkbox-group"
+ },
+ {
+ "condition": "!( !( details.appDefinition.targetDevices hasLength 1 ) && details.appDefinition.progressiveResponsive == 'responsive')",
+ "fieldName": "details.appDefinition.caNeeded",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Yes (Managed)",
+ "value": "yes"
+ },
+ {
+ "label": "No (Unmanaged)",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "title": "Do you want a Community Architect to oversee your project?",
+ "type": "radio-group"
+ }
+ ],
+ "description": "",
+ "wizard": {
+ "previousStepVisibility": "readOnly",
+ "enabled": true
+ },
+ "id": "questions",
+ "type": "questions",
+ "title": "Requirements"
+ },
+ {
+ "condition": "( !( details.appDefinition.targetDevices hasLength 1 ) && details.appDefinition.progressiveResponsive == 'responsive')",
+ "fieldName": "details.appDefinition.message",
+ "hideTitle": true,
+ "description": "Wow! We love your idea. This is a very complex, technical solution. We will take a look at your project and contact you regarding next steps and a quote.",
+ "id": "customeQuote",
+ "title": "Message",
+ "type": "message"
+ }
+ ],
+ "description": "",
+ "wizard": {
+ "previousStepVisibility": "readOnly",
+ "enabled": true
+ },
+ "id": "appDefinition",
+ "title": "App Definition",
+ "required": true
+ }
+ ],
+ "baseTimeEstimateMax": 10
+ },
+ "name": "App",
+ "disabled": false,
+ "id": 85,
+ "category": "app-test",
+ "key": "app_new",
+ "phases": {
+ "2-front-end-development-i": {
+ "duration": 19,
+ "name": "Front-End Development, Pt. I",
+ "products": [
+ {
+ "id": 27,
+ "productKey": "development-iteration-3-milestones"
+ }
+ ]
+ },
+ "4-back-end-development-i": {
+ "duration": 19,
+ "name": "Back-End Development, Pt. I",
+ "products": [
+ {
+ "id": 27,
+ "productKey": "development-iteration-3-milestones"
+ }
+ ]
+ },
+ "3-front-end-development-ii": {
+ "duration": 19,
+ "name": "Front-End Development, Pt. II",
+ "products": [
+ {
+ "id": 27,
+ "productKey": "development-iteration-3-milestones"
+ }
+ ]
+ },
+ "5-back-end-development-ii": {
+ "duration": 19,
+ "name": "Back-End Development, Pt. II",
+ "products": [
+ {
+ "id": 27,
+ "productKey": "development-iteration-3-milestones"
+ }
+ ]
+ },
+ "1-app-design": {
+ "duration": 25,
+ "name": "App Design",
+ "products": [
+ {
+ "id": 26,
+ "productKey": "design-iteration-3-milestones"
+ }
+ ]
+ },
+ "6-qa-and-bug-fixes": {
+ "duration": 24,
+ "name": "QA & Bug Fixes",
+ "products": [
+ {
+ "id": 30,
+ "productKey": "qa-iteration"
+ }
+ ]
+ }
+ },
+ "updatedAt": "2020-01-22T13:22:41.304Z",
+ "info": "Build apps for mobile, web, or wearables"
+ },
+ {
+ "metadata": {},
+ "subCategory": null,
+ "aliases": [
+ "buzzz"
+ ],
+ "updatedBy": 40051333,
+ "question": "Buzz",
+ "hidden": true,
+ "icon": "Buzz",
+ "priceConfig": null,
+ "deletedBy": null,
+ "planConfig": null,
+ "createdAt": "2019-04-24T10:39:57.000Z",
+ "deletedAt": null,
+ "form": null,
+ "createdBy": 40051333,
+ "scope": {
+ "sections": [
+ {
+ "subSections": [
+ {
+ "fieldName": "name",
+ "description": "",
+ "id": "projectName",
+ "title": "Project name",
+ "type": "project-name",
+ "required": true,
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "description",
+ "validationErrors": {
+ "isRequired": "Please provide a description",
+ "minLength": "Please enter at least 160 characters"
+ },
+ "description": "Brief Description",
+ "id": "projectInfo",
+ "validations": "isRequired,minLength:160",
+ "title": "Description",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.appDefinition.questionType",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Checkbox Group",
+ "value": "checkbox-group"
+ },
+ {
+ "label": "Slide Radio Group",
+ "value": "slide-radiogroup"
+ },
+ {
+ "label": "Tiled Radio Group",
+ "value": "tiled-radio-group"
+ }
+ ],
+ "description": "Description for the radio button type question",
+ "title": "What type of question you want to see next?",
+ "type": "radio-group",
+ "required": true,
+ "validationError": "Please let us know consumers of your application"
+ },
+ {
+ "condition": "details.appDefinition.questionType == 'tiled-radio-group'",
+ "fieldName": "details.appDefinition.sampleTiledRadioGroup",
+ "icon": "question",
+ "options": [
+ {
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "icon": "icon-test-unstructured",
+ "title": "Value 1",
+ "value": "value1",
+ "desc": ""
+ },
+ {
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "icon": "icon-test-structured",
+ "title": "Value 2",
+ "value": "value2",
+ "desc": ""
+ },
+ {
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "icon": "icon-dont-know",
+ "title": "Value 3",
+ "value": "value3",
+ "desc": ""
+ }
+ ],
+ "description": "Description for tiled radio group question",
+ "title": "Sample tiled radio group question?",
+ "type": "tiled-radio-group",
+ "required": true,
+ "validationError": "Validation error for tiled radio group question"
+ },
+ {
+ "condition": "details.appDefinition.questionType == 'checkbox-group'",
+ "fieldName": "details.appDefinition.sampleCheckboxGroup",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Value 1",
+ "value": "value1"
+ },
+ {
+ "label": "Value 2",
+ "value": "value2"
+ }
+ ],
+ "description": "Description for checkbox group type question",
+ "title": "Sample Checkbox group type question",
+ "type": "checkbox-group"
+ },
+ {
+ "condition": "details.appDefinition.questionType == 'slide-radiogroup'",
+ "fieldName": "details.appDefinition.sampleSlideRadioGroup",
+ "icon": "question",
+ "options": [
+ {
+ "title": "Under $25K ",
+ "value": "upto-25"
+ },
+ {
+ "title": "$25K to $50K",
+ "value": "upto-50"
+ },
+ {
+ "title": "$50K to $75K",
+ "value": "upto-75"
+ },
+ {
+ "title": "$75K to $100K",
+ "value": "upto-100"
+ },
+ {
+ "title": "More than $100K",
+ "value": "above-100"
+ }
+ ],
+ "description": "Budget?",
+ "title": "Select the budget using Slide Radio Button",
+ "type": "slide-radiogroup",
+ "required": true,
+ "validationError": "Please provide value for sample radio group question"
+ }
+ ],
+ "description": "",
+ "id": "questions",
+ "title": "Questions",
+ "type": "questions",
+ "required": true
+ },
+ {
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g. links to documents or existing applications)",
+ "id": "notes",
+ "title": "Notes",
+ "type": "notes"
+ }
+ ],
+ "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.",
+ "id": "appDefinition",
+ "title": "Sample Project",
+ "required": true
+ }
+ ]
+ },
+ "name": "Buzz",
+ "disabled": false,
+ "id": 107,
+ "category": "quality_assurance",
+ "key": "Buzz",
+ "phases": {},
+ "updatedAt": "2020-01-22T13:22:41.305Z",
+ "info": "Buzz"
+ },
+ {
+ "metadata": {},
+ "subCategory": null,
+ "aliases": [
+ "kubik-testing",
+ "kubik_testing"
+ ],
+ "updatedBy": 40051333,
+ "question": "What kind of quality assurance (QA) do you need?",
+ "hidden": true,
+ "icon": "product-qa-crowd-testing",
+ "priceConfig": null,
+ "deletedBy": null,
+ "planConfig": null,
+ "createdAt": "2018-11-13T12:06:18.000Z",
+ "deletedAt": null,
+ "form": null,
+ "createdBy": 40051333,
+ "scope": {
+ "sections": [
+ {
+ "subSections": [
+ {
+ "fieldName": "name",
+ "description": "",
+ "id": "projectName",
+ "title": "Project Name",
+ "type": "project-name",
+ "required": true,
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "layout": {
+ "spacing": "codes",
+ "direction": "horizontal"
+ },
+ "questions": [
+ {
+ "fieldName": "details.businessUnit",
+ "spacing": "spacing-gray-input",
+ "validations": "isRequired",
+ "title": "BU",
+ "type": "textinput",
+ "validationError": "Mandatory field",
+ "required": true
+ },
+ {
+ "fieldName": "details.costCentre",
+ "spacing": "spacing-gray-input",
+ "validations": "isRequired",
+ "title": "Cost Centre",
+ "type": "textinput",
+ "validationError": "Mandatory field",
+ "required": true
+ }
+ ],
+ "id": "questions",
+ "title": "Business Unit & Cost Center",
+ "type": "questions",
+ "required": true
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "description",
+ "validationErrors": {
+ "isRequired": "Please provide a description",
+ "minLength": "Please enter at least 160 characters"
+ },
+ "description": "Please describe the testing application (background) and objectives of this test cycle. Please describe the users of this application and any other details that will help us understand your project.",
+ "id": "projectInfo",
+ "validations": "isRequired,minLength:160",
+ "title": "Project Type/Overview",
+ "type": "textbox",
+ "required": true
+ }
+ ],
+ "description": "",
+ "id": "user",
+ "title": "Questions",
+ "type": "questions",
+ "required": true
+ },
+ {
+ "hideTitle": false,
+ "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"
+ },
+ {
+ "fieldName": "details.techstack.others",
+ "title": "Others",
+ "type": "textbox"
+ }
+ ],
+ "description": "Do you have a preferred technology stack? If yes, please list those requirements here:",
+ "id": "techStackGeneral",
+ "title": "Technology Stack (General) - Do you have a preferred technology stack? If yes, please list them here:",
+ "type": "questions",
+ "required": false
+ },
+ {
+ "hideTitle": false,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.isLive",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "true"
+ },
+ {
+ "label": "No",
+ "value": "false"
+ }
+ ],
+ "description": "",
+ "title": "Is this a live application (online/production)?",
+ "type": "radio-group",
+ "required": true,
+ "validationError": "Please let us know if you have test cases."
+ },
+ {
+ "fieldName": "details.appDefinition.deployNeeded",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "true"
+ },
+ {
+ "label": "No",
+ "value": "false"
+ }
+ ],
+ "description": "",
+ "title": "If answer to above is ‘No’, do we need to deploy the app for testing?",
+ "type": "radio-group"
+ },
+ {
+ "fieldName": "details.appDefinition.deployActions",
+ "description": "Please describe if can’t directly install the app using IPA/APK, using app store, google play store",
+ "title": "If needed to deploy, are there special actions required to install/deploy the app? ",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.appDefinition.createAccount",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "true"
+ },
+ {
+ "label": "No",
+ "value": "false"
+ }
+ ],
+ "description": "",
+ "title": "Do users need to create accounts for testing (vs. you providing test accounts)? ",
+ "type": "radio-group"
+ },
+ {
+ "fieldName": "details.appDefinition.restrictions",
+ "title": "Are there any other restrictions?",
+ "type": "textbox"
+ }
+ ],
+ "description": "",
+ "id": "application-nformation",
+ "title": "Application Information",
+ "type": "questions",
+ "required": false
+ },
+ {
+ "hideTitle": false,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.testType",
+ "icon": "question",
+ "options": [
+ {
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "icon": "icon-test-unstructured",
+ "title": "Unstructured",
+ "value": "unstructured",
+ "desc": ""
+ },
+ {
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "icon": "icon-test-structured",
+ "title": "Structured",
+ "value": "structured",
+ "desc": ""
+ },
+ {
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "icon": "icon-dont-know",
+ "title": "Do not know",
+ "value": "dontKnow",
+ "desc": ""
+ }
+ ],
+ "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.",
+ "title": "What kind of crowd testing are you interested in?",
+ "type": "tiled-radio-group",
+ "required": true,
+ "validationError": "Please let us know what kind of testing you would like to execute"
+ },
+ {
+ "fieldName": "details.appDefinition.structuredTestsHelp",
+ "title": "If Structured, do you require help developing the test cases?",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.appDefinition.prePreparedTestcases",
+ "title": "If already have test cases, how will you provide the test cases (Excel file, Google Doc, Other etc…)?",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.appDefinition.automatedTestingRequired",
+ "title": "Will testing be automated (using selenium or similar tools)?",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.appDefinition.targetDevices",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Desktop",
+ "value": "desktop"
+ },
+ {
+ "label": "Tablet",
+ "value": "tablet"
+ },
+ {
+ "label": "Mobile",
+ "value": "mobile"
+ }
+ ],
+ "description": "",
+ "title": "What’s the target device(s)?",
+ "type": "checkbox-group"
+ },
+ {
+ "fieldName": "details.appDefinition.specificDevices",
+ "icon": "question",
+ "options": [
+ {
+ "label": "iPad Air",
+ "value": "ipadair"
+ },
+ {
+ "label": "iPad Air2",
+ "value": "ipadair2"
+ },
+ {
+ "label": "iPad Pro",
+ "value": "ipadpro"
+ },
+ {
+ "label": "iPhone 7",
+ "value": "iphone7"
+ },
+ {
+ "label": "iPhone 8",
+ "value": "iphone8"
+ },
+ {
+ "label": "iPhone X",
+ "value": "iphonex"
+ },
+ {
+ "label": "iOS 10+",
+ "value": "ios"
+ },
+ {
+ "label": "Android 7+",
+ "value": "android"
+ }
+ ],
+ "description": "",
+ "title": "Specific mobile devices/OSs ?",
+ "type": "checkbox-group"
+ },
+ {
+ "fieldName": "details.appDefinition.orientation",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Portrait",
+ "value": "portrait"
+ },
+ {
+ "label": "Landscape",
+ "value": "landscape"
+ },
+ {
+ "label": "Both",
+ "value": "both"
+ }
+ ],
+ "description": "",
+ "title": "For Mobile Testing, what’s the orientation?",
+ "type": "checkbox-group"
+ },
+ {
+ "fieldName": "details.appDefinition.browsers",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Google Chrome",
+ "value": "chrome"
+ },
+ {
+ "label": "Firefox",
+ "value": "firefox"
+ },
+ {
+ "label": "Safari",
+ "value": "safari"
+ },
+ {
+ "label": "Microsoft Edge",
+ "value": "edge"
+ },
+ {
+ "label": "IE11",
+ "value": "ie"
+ }
+ ],
+ "description": "",
+ "title": "What are the browser requirements?",
+ "type": "checkbox-group"
+ },
+ {
+ "fieldName": "details.appDefinition.resolutions",
+ "title": "Would you like to test on different screen sizes/resolutions? ",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.appDefinition.geography",
+ "title": "Should testing target any specific country or geography?",
+ "type": "textbox"
+ }
+ ],
+ "description": "",
+ "id": "testing-nformation",
+ "title": "Testing Information",
+ "type": "questions",
+ "required": false
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.loadDetails.targetAppDescription",
+ "description": "In 160 or more characters tell us what is the app, main functions, problem area, etc..",
+ "id": "projectInfo",
+ "title": "Please provide brief description of the system and/or application you would like to execute Performance Testing on.",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.loadDetails.concurrentUsersCount",
+ "icon": "question",
+ "options": [
+ {
+ "title": "Up to 500",
+ "value": "upto-500"
+ },
+ {
+ "title": "Up to 1000",
+ "value": "upto-1000"
+ },
+ {
+ "title": "Up to 5000",
+ "value": "upto-5000"
+ },
+ {
+ "title": "More than 5000",
+ "value": "above-5000"
+ }
+ ],
+ "description": "(Unit package includes 500 virtual users, additional load would require Top-Ups)",
+ "title": "What is the desired load of concurrent users on the system?",
+ "type": "slide-radiogroup",
+ "required": true,
+ "validationError": "Please provide expected load"
+ },
+ {
+ "fieldName": "details.loadDetails.businessProcessesCount",
+ "icon": "question",
+ "options": [
+ {
+ "title": "Up to 5",
+ "value": "upto-5"
+ },
+ {
+ "title": "Up to 10",
+ "value": "upto-10"
+ },
+ {
+ "title": "Up to 25",
+ "value": "upto-25"
+ },
+ {
+ "title": "More than 25",
+ "value": "above-25"
+ }
+ ],
+ "description": "(Unit package covers 10 transactions, additional transactions would require Top-Ups)",
+ "title": "Approximately how many business processes/transactions will be included in your Performance Test?",
+ "type": "slide-radiogroup",
+ "required": false,
+ "validationError": "Please provide expected number of business processes"
+ },
+ {
+ "fieldName": "details.loadDetails.expectedExecutionHours",
+ "icon": "question",
+ "options": [
+ {
+ "title": "Up to 5",
+ "value": "upto-5"
+ },
+ {
+ "title": "Up to 10",
+ "value": "upto-10"
+ },
+ {
+ "title": "Up to 25",
+ "value": "upto-25"
+ },
+ {
+ "title": "More than 25",
+ "value": "above-25"
+ }
+ ],
+ "description": "(Unit package covers 10 hours of execution, additional execution time would require Top-Ups)",
+ "title": "How many hours do you expect the Performance Test to be executed for?",
+ "type": "slide-radiogroup",
+ "required": false,
+ "validationError": "Please provide expected hours of execution"
+ }
+ ],
+ "description": "",
+ "id": "questions",
+ "title": "Questions",
+ "type": "questions",
+ "required": true
+ },
+ {
+ "hideTitle": false,
+ "questions": [
+ {
+ "fieldName": "details.loadDetails.budget",
+ "icon": "question",
+ "options": [
+ {
+ "title": "Under $25K ",
+ "value": "upto-25"
+ },
+ {
+ "title": "$25K to $50K",
+ "value": "upto-50"
+ },
+ {
+ "title": "$50K to $75K",
+ "value": "upto-75"
+ },
+ {
+ "title": "$75K to $100K",
+ "value": "upto-100"
+ },
+ {
+ "title": "$100K+",
+ "value": "above-100"
+ }
+ ],
+ "description": "How much budget do you have?",
+ "title": "Budget",
+ "type": "slide-radiogroup",
+ "required": true,
+ "validationError": "Please provide expected hours of execution"
+ },
+ {
+ "fieldName": "details.loadDetails.timeline",
+ "icon": "question",
+ "options": [
+ {
+ "title": "Under 1 month",
+ "value": "upto-1month"
+ },
+ {
+ "title": "1 to 2 months",
+ "value": "upto-2months"
+ },
+ {
+ "title": "2 to 3 months",
+ "value": "upto-3months"
+ },
+ {
+ "title": "3 to 6 months",
+ "value": "upto-6months"
+ }
+ ],
+ "description": "When do you need your solution?",
+ "title": "Timeline",
+ "type": "slide-radiogroup",
+ "required": true,
+ "validationError": "Please provide expected hours of execution"
+ }
+ ],
+ "description": "",
+ "title": "Budget and Timeline",
+ "type": "questions"
+ },
+ {
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g. links to documents or existing applications)",
+ "id": "notes",
+ "title": "Notes",
+ "type": "notes"
+ },
+ {
+ "hiddenOnCreation": true,
+ "fieldName": "attachments",
+ "description": "",
+ "id": "files",
+ "title": "Files",
+ "type": "files",
+ "required": false
+ }
+ ],
+ "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.",
+ "id": "appDefinition",
+ "title": "Website Development",
+ "required": true
+ }
+ ]
+ },
+ "name": "Zurich QA/Testing",
+ "disabled": false,
+ "id": 27,
+ "category": "quality_assurance",
+ "key": "real_world_testing",
+ "phases": {
+ "1-qa-and-bug-fixes": {
+ "duration": 24,
+ "name": "QA/Testing",
+ "products": [
+ {
+ "id": 30,
+ "productKey": "qa-iteration"
+ }
+ ]
+ }
+ },
+ "updatedAt": "2020-01-22T13:22:41.306Z",
+ "info": "Exploratory Testing, Cross browser-device Testing"
+ },
+ {
+ "metadata": {},
+ "subCategory": null,
+ "aliases": [
+ "visual_design_prod",
+ "visual-design"
+ ],
+ "updatedBy": 40051333,
+ "question": "Visual Design",
+ "hidden": false,
+ "icon": "../../assets/icons/product-design-app-visual.svg",
+ "priceConfig": null,
+ "deletedBy": null,
+ "planConfig": null,
+ "createdAt": "2018-06-21T12:06:56.000Z",
+ "deletedAt": null,
+ "form": null,
+ "createdBy": 40051333,
+ "scope": {
+ "sections": [
+ {
+ "subSections": [
+ {
+ "fieldName": "name",
+ "description": "",
+ "id": "projectName",
+ "title": "Project Name",
+ "type": "project-name",
+ "required": true,
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.numberScreens",
+ "icon": "question",
+ "options": [
+ {
+ "iconOptions": {
+ "number": "1-3"
+ },
+ "price": 8789,
+ "icon": "NumberText",
+ "title": "screens",
+ "value": "1-3",
+ "desc": "5-7 days"
+ },
+ {
+ "iconOptions": {
+ "number": "4-8"
+ },
+ "price": 887,
+ "icon": "NumberText",
+ "title": "screens",
+ "value": "4-8",
+ "desc": "7-10 days"
+ },
+ {
+ "iconOptions": {
+ "number": "9-15"
+ },
+ "price": 3472,
+ "icon": "NumberText",
+ "title": "screens",
+ "value": "9-15",
+ "desc": "8-10 days"
+ }
+ ],
+ "description": "This is the most popular project size that can get a medium-sized app designed in a breeze",
+ "title": "How many screens do you need designed?",
+ "type": "tiled-radio-group",
+ "required": true,
+ "validationError": "Please let us know the number of screens required"
+ },
+ {
+ "fieldName": "details.appDefinition.primaryTarget",
+ "icon": "question",
+ "options": [
+ {
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "icon": "IconTechOutlineMobile",
+ "title": "Phone",
+ "value": "Phone",
+ "desc": "iOS, Android, Hybrid"
+ },
+ {
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "icon": "IconTechOutlineTablet",
+ "title": "Tablet",
+ "value": "Tablet",
+ "desc": "iOS, Android, Hybrid"
+ },
+ {
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "icon": "IconTechOutlineDesktop",
+ "title": "Desktop",
+ "value": "Desktop",
+ "desc": "all OS"
+ },
+ {
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "icon": "IconTechOutlineWatchApple",
+ "title": "Wearable",
+ "value": "Wearable",
+ "desc": "Watch OS, Android Wear"
+ }
+ ],
+ "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.",
+ "title": "Which is your primary device target?",
+ "type": "tiled-radio-group",
+ "required": true,
+ "validationError": "Please let us know the target device"
+ },
+ {
+ "fieldName": "description",
+ "icon": "question",
+ "validationErrors": {
+ "isRequired": "Please provide a description",
+ "minLength": "Please enter at least 160 characters"
+ },
+ "description": "Brief Description",
+ "validations": "isRequired,minLength:160",
+ "id": "projectInfo",
+ "title": "Description",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.appDefinition.goal.value",
+ "icon": "question",
+ "description": "Describe your objectives for creating this application",
+ "title": "What is the goal of your application? How will people use it?",
+ "type": "textbox",
+ "required": true,
+ "validationError": "Please let us know the goal of your application"
+ },
+ {
+ "fieldName": "details.appDefinition.users.value",
+ "icon": "question",
+ "description": "Describe the roles and needs of your target users",
+ "title": "Who are the users of your application? ",
+ "type": "textbox",
+ "required": true,
+ "validationError": "Please let us know users of your application"
+ }
+ ],
+ "description": "",
+ "id": "questions",
+ "title": "Questions",
+ "type": "questions",
+ "required": true
+ },
+ {
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)",
+ "id": "notes",
+ "title": "Notes",
+ "type": "notes"
+ }
+ ],
+ "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.",
+ "id": "appDefinition",
+ "title": "Visual Design",
+ "required": true
+ }
+ ]
+ },
+ "name": "Visual Design",
+ "disabled": false,
+ "id": 7,
+ "category": "wireframes",
+ "key": "visual_design_prod",
+ "phases": {
+ "1-visual-design": {
+ "duration": 25,
+ "name": "Visual Design",
+ "products": [
+ {
+ "id": 26,
+ "productKey": "design-iteration-3-milestones"
+ }
+ ]
+ }
+ },
+ "updatedAt": "2020-01-22T13:22:41.307Z",
+ "info": "Create development-ready designs"
+ },
+ {
+ "metadata": {},
+ "subCategory": null,
+ "aliases": [
+ "kubik_custom",
+ "kubik-custom"
+ ],
+ "updatedBy": 40051333,
+ "question": "What kind of development do you need?",
+ "hidden": true,
+ "icon": "../../assets/icons/product-dev-other.svg",
+ "priceConfig": null,
+ "deletedBy": null,
+ "planConfig": null,
+ "createdAt": "2018-11-20T06:32:23.000Z",
+ "deletedAt": null,
+ "form": null,
+ "createdBy": 40051333,
+ "scope": {
+ "sections": [
+ {
+ "subSections": [
+ {
+ "fieldName": "name",
+ "description": "",
+ "id": "projectName",
+ "title": "Project Name",
+ "type": "project-name-advanced",
+ "required": true,
+ "validationError": "Please provide a name to your project"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "description",
+ "validationErrors": {
+ "isRequired": "Please provide a description",
+ "minLength": "Please enter at least 160 characters"
+ },
+ "description": "Please briefly explain what type of application we’re building, the problem it solves and what it should do.",
+ "id": "projectInfo",
+ "validations": "isRequired,minLength:160",
+ "title": "Project Type/Overview",
+ "type": "textbox"
+ }
+ ],
+ "description": "",
+ "id": "questions",
+ "title": "Questions",
+ "type": "questions",
+ "required": true
+ },
+ {
+ "hideTitle": false,
+ "questions": [
+ {
+ "fieldName": "details.integrationDescription",
+ "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.",
+ "id": "integrationPoints",
+ "title": "",
+ "type": "textbox"
+ }
+ ],
+ "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.",
+ "title": "Integration Points",
+ "type": "questions",
+ "required": false
+ },
+ {
+ "hideTitle": false,
+ "questions": [
+ {
+ "fieldName": "details.strategicassets.sfdc",
+ "title": "SFDC",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.strategicassets.guidewire",
+ "title": "Guidewire",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.strategicassets.tableau",
+ "title": "Tableau",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.strategicassets.sitecore",
+ "title": "Sitecore",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.strategicassets.innoveoskye",
+ "title": "Innoveo Skye",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.strategicassets.smartcommunications",
+ "title": "SmartCommunications",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.strategicassets.msdynamics",
+ "title": "MS Dynamics",
+ "type": "textbox"
+ }
+ ],
+ "description": "Do you have a preferred technology stack? If yes, please list those requirements here:",
+ "id": "techStackStrategicAssets",
+ "title": "Technology Stack (Strategic Assets)",
+ "type": "questions",
+ "required": false
+ },
+ {
+ "hideTitle": false,
+ "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"
+ },
+ {
+ "fieldName": "details.techstack.others",
+ "title": "Others",
+ "type": "textbox"
+ }
+ ],
+ "description": "Do you have a preferred technology stack? If yes, please list those requirements here:",
+ "id": "techStackGeneral",
+ "title": "Technology Stack (General) - Do you have a preferred technology stack? If yes, please list them here:",
+ "type": "questions",
+ "required": false
+ },
+ {
+ "hideTitle": false,
+ "questions": [
+ {
+ "fieldName": "details.loadDetails.budget",
+ "icon": "question",
+ "options": [
+ {
+ "title": "Under $25K ",
+ "value": "upto-25"
+ },
+ {
+ "title": "$25K to $50K",
+ "value": "upto-50"
+ },
+ {
+ "title": "$50K to $75K",
+ "value": "upto-75"
+ },
+ {
+ "title": "$75K to $100K",
+ "value": "upto-100"
+ },
+ {
+ "title": "More than $100K",
+ "value": "above-100"
+ }
+ ],
+ "description": "How much budget do you have?",
+ "title": "Budget",
+ "type": "slide-radiogroup",
+ "required": true,
+ "validationError": "Please provide expected hours of execution"
+ },
+ {
+ "fieldName": "details.loadDetails.timeline",
+ "icon": "question",
+ "options": [
+ {
+ "title": "Under 1 month",
+ "value": "upto-1month"
+ },
+ {
+ "title": "1 to 2 months",
+ "value": "upto-2months"
+ },
+ {
+ "title": "2 to 3 months",
+ "value": "upto-3months"
+ },
+ {
+ "title": "3 to 6 months",
+ "value": "upto-6months"
+ }
+ ],
+ "description": "When do you need your solution?",
+ "title": "Timeline",
+ "type": "slide-radiogroup",
+ "required": true,
+ "validationError": "Please provide expected hours of execution"
+ }
+ ],
+ "description": "",
+ "title": "Budget and Timeline",
+ "type": "questions"
+ },
+ {
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g. links to documents or existing applications)",
+ "id": "notes",
+ "title": "Notes",
+ "type": "notes"
+ }
+ ],
+ "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.",
+ "id": "appDefinition",
+ "title": "Custom Dev",
+ "required": true
+ }
+ ]
+ },
+ "name": "Zurich Custom/General Dev",
+ "disabled": false,
+ "id": 28,
+ "category": "app_dev",
+ "key": "custom_dev",
+ "phases": {
+ "1-dev-iteration-i": {
+ "duration": 25,
+ "name": "Dev Iteration",
+ "products": [
+ {
+ "id": 29,
+ "productKey": "development-iteration-5-milestones"
+ }
+ ]
+ }
+ },
+ "updatedAt": "2020-01-22T13:22:41.307Z",
+ "info": "Custom/General Project"
+ },
+ {
+ "metadata": {},
+ "subCategory": null,
+ "aliases": [
+ "app_new_intake"
+ ],
+ "updatedBy": 40051333,
+ "question": "test",
+ "hidden": false,
+ "icon": "test",
+ "priceConfig": null,
+ "deletedBy": null,
+ "planConfig": null,
+ "createdAt": "2019-09-13T13:31:28.000Z",
+ "deletedAt": null,
+ "form": null,
+ "createdBy": 40051333,
+ "scope": {
+ "buildingBlocks": {
+ "ADMIN_TOOL_DEV_ADDON": {
+ "maxTime": 28,
+ "metadata": {
+ "deliverable": "dev-qa"
+ },
+ "price": "5592",
+ "minTime": 28,
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_ADMIN_TOOL_DEV_ADDON )"
+ },
+ "GOOGLE_ANALYTICS_ADDON": {
+ "maxTime": 5,
+ "metadata": {
+ "deliverable": "dev-qa"
+ },
+ "price": "5675",
+ "minTime": 5,
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_GOOGLE_ANALYTICS_ADDON )"
+ },
+ "API_DEVELOPMENT_ADDON": {
+ "maxTime": 10,
+ "metadata": {
+ "deliverable": "dev-qa"
+ },
+ "price": "5153",
+ "minTime": 10,
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_API_DEVELOPMENT_ADDON )"
+ },
+ "SSO_INTEGRATION_ADDON": {
+ "maxTime": 5,
+ "metadata": {
+ "deliverable": "dev-qa"
+ },
+ "price": "4711",
+ "minTime": 5,
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_SSO_INTEGRATION_ADDON )"
+ },
+ "RESP_APP_SOLUTION": {
+ "maxTime": 55,
+ "metadata": {
+ "deliverable": "dev-qa"
+ },
+ "price": "7152",
+ "minTime": 55,
+ "conditions": "( HAS_DEV_DELIVERABLE && RESP_APP_SOLUTION )"
+ },
+ "OFFLINE_CAPABILITY_ADDON": {
+ "maxTime": 5,
+ "metadata": {
+ "deliverable": "dev-qa"
+ },
+ "price": "8374",
+ "minTime": 5,
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_OFFLINE_CAPABILITY_ADDON )"
+ },
+ "DESIGN_DIRECTION_ADDON": {
+ "maxTime": 2,
+ "metadata": {
+ "deliverable": "design"
+ },
+ "price": "9357",
+ "minTime": 2,
+ "conditions": "( HAS_DESIGN_DELIVERABLE && HAS_DESIGN_DIRECTION_ADDON )"
+ },
+ "DESIGN_BLOCK": {
+ "maxTime": 12,
+ "metadata": {
+ "deliverable": "design"
+ },
+ "price": "490",
+ "minTime": 12,
+ "conditions": "( HAS_DESIGN_DELIVERABLE )"
+ },
+ "LOCATION_SERVICES_ADDON": {
+ "maxTime": 10,
+ "metadata": {
+ "deliverable": "dev-qa"
+ },
+ "price": "2481",
+ "minTime": 10,
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_LOCATION_SERVICES_ADDON )"
+ },
+ "RUX_BLOCK": {
+ "maxTime": 8,
+ "metadata": {
+ "deliverable": "design"
+ },
+ "price": "3951",
+ "minTime": 8,
+ "conditions": "( HAS_DESIGN_DELIVERABLE && CONCEPT_DESIGN )"
+ },
+ "SVC_BLOCK": {
+ "maxTime": 0,
+ "metadata": {
+ "deliverable": "dev-qa"
+ },
+ "price": "5028",
+ "minTime": 0,
+ "conditions": "( HAS_DEV_DELIVERABLE )"
+ },
+ "ZEPLIN_APP_ADDON": {
+ "maxTime": 2,
+ "metadata": {
+ "deliverable": "design"
+ },
+ "price": "4855",
+ "minTime": 2,
+ "conditions": "( HAS_DESIGN_DELIVERABLE && HAS_ZEPLIN_APP_ADDON )"
+ },
+ "INTERNAL_DEPLOY_SOLUTION": {
+ "maxTime": 3,
+ "metadata": {
+ "deliverable": "deployment"
+ },
+ "price": "1727",
+ "minTime": 3,
+ "conditions": "( HAS_DEPLOY_DELIVERABLE && HAS_INTERNAL_DEPLOYMENT)"
+ },
+ "MAZE_UX_TESTING_ADDON": {
+ "maxTime": 1,
+ "metadata": {
+ "deliverable": "design"
+ },
+ "price": "2051",
+ "minTime": 1,
+ "conditions": "( HAS_DESIGN_DELIVERABLE && HAS_MAZE_UX_TESTING_ADDON )"
+ },
+ "RESP_UI_PROTOTYPE_ADDON": {
+ "maxTime": 16,
+ "metadata": {
+ "deliverable": "design"
+ },
+ "price": "2680",
+ "minTime": 16,
+ "conditions": "( HAS_DESIGN_DELIVERABLE && HAS_RESP_UI_PROTOTYPE_ADDON )"
+ },
+ "WEB_APP_SOLUTION": {
+ "maxTime": 50,
+ "metadata": {
+ "deliverable": "dev-qa"
+ },
+ "price": "1005",
+ "minTime": 50,
+ "conditions": "( HAS_DEV_DELIVERABLE && WEB_APP_SOLUTION )"
+ },
+ "DESIGN_SOLUTION": {
+ "maxTime": 10,
+ "metadata": {
+ "deliverable": "design"
+ },
+ "price": "6594",
+ "minTime": 10,
+ "conditions": "( HAS_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN)"
+ },
+ "CI_CD_ADDON": {
+ "maxTime": 20,
+ "metadata": {
+ "deliverable": "deployment"
+ },
+ "price": "2331",
+ "minTime": 20,
+ "conditions": "( HAS_DEPLOY_DELIVERABLE && HAS_CI_CD_ADDON )"
+ },
+ "BLACKDUCK_SCANNING_ADDON": {
+ "maxTime": 10,
+ "metadata": {
+ "deliverable": "dev-qa"
+ },
+ "price": "5297",
+ "minTime": 10,
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_BLACKDUCK_SCANNING_ADDON )"
+ },
+ "QA_BLOCK": {
+ "maxTime": 12,
+ "metadata": {
+ "deliverable": "dev-qa"
+ },
+ "price": "2828",
+ "minTime": 12,
+ "conditions": "( HAS_DEV_DELIVERABLE )"
+ },
+ "MOBILE_ENT_SECURITY_ADDON": {
+ "maxTime": 10,
+ "metadata": {
+ "deliverable": "dev-qa"
+ },
+ "price": "6716",
+ "minTime": 10,
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_MOBILE_ENT_SECURITY_ADDON )"
+ },
+ "UNIT_TESTING_ADDON": {
+ "maxTime": 12,
+ "metadata": {
+ "deliverable": "dev-qa"
+ },
+ "price": "4700",
+ "minTime": 12,
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_UNIT_TESTING_ADDON )"
+ },
+ "CONTAINERIZED_CODE_ADDON": {
+ "maxTime": 10,
+ "metadata": {
+ "deliverable": "dev-qa"
+ },
+ "price": "6912",
+ "minTime": 10,
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_CONTAINERIZED_CODE_ADDON )"
+ },
+ "SMTP_SERVER_SETUP_ADDON": {
+ "maxTime": 10,
+ "metadata": {
+ "deliverable": "dev-qa"
+ },
+ "price": "681",
+ "minTime": 10,
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_SMTP_SERVER_SETUP_ADDON )"
+ },
+ "RESP_DESIGN_IMPL_ADDON": {
+ "maxTime": 3,
+ "metadata": {
+ "deliverable": "dev-qa"
+ },
+ "price": "5847",
+ "minTime": 3,
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_RESP_DESIGN_IMPL_ADDON )"
+ },
+ "CHECKMARX_SCANNING_ADDON": {
+ "maxTime": 10,
+ "metadata": {
+ "deliverable": "dev-qa"
+ },
+ "price": "8764",
+ "minTime": 10,
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_CHECKMARX_SCANNING_ADDON )"
+ },
+ "AUTOMATION_TESTING_ADDON": {
+ "maxTime": 7,
+ "metadata": {
+ "deliverable": "dev-qa"
+ },
+ "price": "7141",
+ "minTime": 7,
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_AUTOMATION_TESTING_ADDON )"
+ },
+ "TWO_OS_MOBILE_DESKTOP_SOLUTION": {
+ "maxTime": 55,
+ "metadata": {
+ "deliverable": "dev-qa"
+ },
+ "price": "5878",
+ "minTime": 55,
+ "conditions": "( HAS_DEV_DELIVERABLE && MOBILE_DEVICES && ( ONLY_TWO_OS_MOBILE_DESKTOP ) )"
+ },
+ "DESIGN_BLOCK_FOR_DEV": {
+ "maxTime": 12,
+ "metadata": {
+ "deliverable": "dev-qa"
+ },
+ "price": "1277",
+ "minTime": 12,
+ "conditions": "( HAS_DEV_DELIVERABLE )"
+ },
+ "UI_PROTOTYPE_ADDON": {
+ "maxTime": 10,
+ "metadata": {
+ "deliverable": "design"
+ },
+ "price": "3677",
+ "minTime": 10,
+ "conditions": "( HAS_DESIGN_DELIVERABLE && HAS_UI_PROTOTYPE_ADDON )"
+ },
+ "SOCIAL_MEDIA_INTEGRATION_ADDON": {
+ "maxTime": 10,
+ "metadata": {
+ "deliverable": "dev-qa"
+ },
+ "price": "8917",
+ "minTime": 10,
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_SOCIAL_MEDIA_INTEGRATION_ADDON )"
+ },
+ "MOBILE_DEPLOY_SOLUTION": {
+ "maxTime": 10,
+ "metadata": {
+ "deliverable": "deployment"
+ },
+ "price": "2575",
+ "minTime": 10,
+ "conditions": "( HAS_DEPLOY_DELIVERABLE && HAS_MOBILE_DEPLOYMENT)"
+ },
+ "THIRD_PARTY_INTEGRATION_ADDON": {
+ "maxTime": 15,
+ "metadata": {
+ "deliverable": "dev-qa"
+ },
+ "price": "10074",
+ "minTime": 15,
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_THIRD_PARTY_INTEGRATION_ADDON )"
+ },
+ "TWO_OS_MOBILTY_SOLUTION": {
+ "maxTime": 50,
+ "metadata": {
+ "deliverable": "dev-qa"
+ },
+ "price": "4384",
+ "minTime": 50,
+ "conditions": "( HAS_DEV_DELIVERABLE && MOBILE_DEVICES && ( ONLY_TWO_OS_BOTH_MOBILES || ONLY_TWO_OS_MOBILE_PROGRESSIVE ) )"
+ },
+ "PERF_TESTING_ADDON": {
+ "maxTime": 20,
+ "metadata": {
+ "deliverable": "dev-qa"
+ },
+ "price": "9290",
+ "minTime": 20,
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_PERF_TESTING_ADDON )"
+ },
+ "UAT_ENHANCEMENTS_ADDON": {
+ "maxTime": 15,
+ "metadata": {
+ "deliverable": "dev-qa"
+ },
+ "price": "7408",
+ "minTime": 15,
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_UAT_ENHANCEMENTS_ADDON )"
+ },
+ "WIREFRAMES_ADDON": {
+ "maxTime": 7,
+ "metadata": {
+ "deliverable": "design"
+ },
+ "price": "8424",
+ "minTime": 7,
+ "conditions": "( HAS_DESIGN_DELIVERABLE && HAS_WIREFRAMES_ADDON )"
+ },
+ "API_INTEGRATION_ADDON": {
+ "maxTime": 7,
+ "metadata": {
+ "deliverable": "dev-qa"
+ },
+ "price": "7470",
+ "minTime": 7,
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_API_INTEGRATION_ADDON )"
+ },
+ "ONE_OS_MOBILTY_SOLUTION": {
+ "maxTime": 50,
+ "metadata": {
+ "deliverable": "dev-qa"
+ },
+ "price": "6544",
+ "minTime": 50,
+ "conditions": "( HAS_DEV_DELIVERABLE && ((MOBILE_DEVICES && ONLY_ONE_OS_MOBILE && !(WEB_DEVICE)) || (WEB_DEVICE && ONLY_ONE_OS_PROGRESSIVE)) )"
+ },
+ "DEV_BLOCK": {
+ "maxTime": 12,
+ "metadata": {
+ "deliverable": "dev-qa"
+ },
+ "price": "8464",
+ "minTime": 12,
+ "conditions": "( HAS_DEV_DELIVERABLE )"
+ },
+ "MIN_BATTERY_USE_IMPL_ADDON": {
+ "maxTime": 5,
+ "metadata": {
+ "deliverable": "dev-qa"
+ },
+ "price": "7074",
+ "minTime": 5,
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_MIN_BATTERY_USE_IMPL_ADDON )"
+ },
+ "BACKEND_DEVELOPMENT_ADDON": {
+ "maxTime": 10,
+ "metadata": {
+ "deliverable": "dev-qa"
+ },
+ "price": "2672",
+ "minTime": 10,
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_BACKEND_DEVELOPMENT_ADDON )"
+ },
+ "SMS_GATEWAY_INTEGRATION_ADDON": {
+ "maxTime": 10,
+ "metadata": {
+ "deliverable": "dev-qa"
+ },
+ "price": "1827",
+ "minTime": 10,
+ "conditions": "( HAS_DEV_DELIVERABLE && HAS_SMS_GATEWAY_INTEGRATION_ADDON )"
+ },
+ "DESIGN_RUX_SOLUTION": {
+ "maxTime": 3,
+ "metadata": {
+ "deliverable": "design"
+ },
+ "price": "2787",
+ "minTime": 3,
+ "conditions": "( HAS_DESIGN_DELIVERABLE && CONCEPT_DESIGN )"
+ }
+ },
+ "preparedConditions": {
+ "HAS_BLACKDUCK_SCANNING_ADDON": "(details.appDefinition.addons.development contains '{\"productKey\":\"blackduck-scanning\"}')",
+ "HAS_ZEPLIN_APP_ADDON": "(details.appDefinition.addons.design contains '{\"productKey\":\"zeplin-app-handoff\"}')",
+ "MOBILITY_SOLUTION": "!(details.appDefinition.mobilePlatforms hasLength 0)",
+ "ONLY_ONE_OS_PROGRESSIVE": "( details.appDefinition.targetDevices hasLength 1 && details.appDefinition.targetDevices contains 'web-browser' && details.appDefinition.webBrowserBehaviour == 'progressive' )",
+ "HAS_AUTOMATION_TESTING_ADDON": "(details.appDefinition.addons.development contains '{\"productKey\":\"automation-testing\"}')",
+ "HAS_THIRD_PARTY_INTEGRATION_ADDON": "(details.appDefinition.addons.development contains '{\"productKey\":\"third-party-integration\"}')",
+ "HAS_LOCATION_SERVICES_ADDON": "(details.appDefinition.addons.development contains '{\"productKey\":\"location-based-services\"}')",
+ "HAS_API_INTEGRATION_ADDON": "(details.appDefinition.addons.development contains '{\"productKey\":\"api-integration\"}')",
+ "HAS_RESP_UI_PROTOTYPE_ADDON": "(details.appDefinition.addons.design contains '{\"productKey\":\"responsive-ui-prototype\"}')",
+ "HAS_SMTP_SERVER_SETUP_ADDON": "(details.appDefinition.addons.development contains '{\"productKey\":\"smtp-server-setup\"}')",
+ "HAS_DESIGN_DIRECTION_ADDON": "(details.appDefinition.addons.design contains '{\"productKey\":\"design-direction\"}')",
+ "MOBILE_DEVICES": "(details.appDefinition.targetDevices contains 'mobile' || details.appDefinition.targetDevices contains 'tablet')",
+ "HAS_API_DEVELOPMENT_ADDON": "(details.appDefinition.addons.development contains '{\"productKey\":\"api-development\"}')",
+ "HAS_QA_DELIVERABLE": "(details.appDefinition.deliverables contains 'qa')",
+ "WEB_APP_SOLUTION": "(details.appDefinition.webBrowserBehaviour == 'desktop')",
+ "WEB_DEVICE": "(details.appDefinition.targetDevices contains 'web-browser')",
+ "HAS_WIREFRAMES_ADDON": "(details.appDefinition.addons.design contains '{\"productKey\":\"wireframes\"}')",
+ "HAS_DEV_DELIVERABLE": "(details.appDefinition.deliverables contains 'dev-qa')",
+ "HAS_INTERNAL_DEPLOYMENT": "(details.appDefinition.deploymentTargets contains 'internal-production-environment')",
+ "CUSTOM_QUOTE": "((details.appDefinition.webBrowserBehaviour == 'responsive' || details.appDefinition.designGoal == 'concept-designs') && !(details.appDefinition.targetDevices hasLength 0 || details.appDefinition.targetDevices hasLength 1)) || details.appDefinition.needAdditionalScreens == 'yes'",
+ "ONLY_INTERNAL_DEPLOYMENT": "(details.appDefinition.deploymentTargets contains 'internal-production-environment') && (details.appDefinition.deploymentTargets hasLength 1)",
+ "HAS_SMS_GATEWAY_INTEGRATION_ADDON": "(details.appDefinition.addons.development contains '{\"productKey\":\"sms-gateway-integration\"}')",
+ "HAS_UAT_ENHANCEMENTS_ADDON": "(details.appDefinition.addons.development contains '{\"productKey\":\"user-acceptance-testing-enhancements\"}')",
+ "HAS_CI_CD_ADDON": "(details.appDefinition.addons.deployment contains '{\"productKey\":\"continuous-integration-deployment\"}')",
+ "ONE_DELIVERABLE": "(details.appDefinition.deliverables hasLength 1)",
+ "HAS_GOOGLE_ANALYTICS_ADDON": "(details.appDefinition.addons.development contains '{\"productKey\":\"google-analytics-impl\"}')",
+ "CA_NEEDED": "(details.appDefinition.caNeeded == 'yes')",
+ "ONE_TARGET_DEVICE": "(details.appDefinition.targetDevices hasLength 1)",
+ "NEED_ADDITIONAL_SCREENS": "(details.appDefinition.needAdditionalScreens == 'yes')",
+ "HAS_ADMIN_TOOL_DEV_ADDON": "(details.appDefinition.addons.development contains '{\"productKey\":\"admin-tool-development\"}')",
+ "THREE_TARGET_DEVICES": "(details.appDefinition.targetDevices hasLength 3)",
+ "RESP_APP_SOLUTION": "(details.appDefinition.webBrowserBehaviour == 'responsive')",
+ "ONLY_TWO_OS_MOBILE_DESKTOP": "((details.appDefinition.mobilePlatforms hasLength 1) && (details.appDefinition.targetDevices contains 'web-browser') && (details.appDefinition.webBrowserBehaviour == 'desktop'))",
+ "MORE_THAN_ONE_TARGET_DEVICES": "(details.appDefinition.targetDevices hasLength 2) || (details.appDefinition.targetDevices hasLength 3) || (details.appDefinition.targetDevices hasLength 4)",
+ "HAS_CHECKMARX_SCANNING_ADDON": "(details.appDefinition.addons.development contains '{\"productKey\":\"checkmarx-scanning\"}')",
+ "HAS_PERF_TESTING_ADDON": "(details.appDefinition.addons.development contains '{\"productKey\":\"performance-testing-cycle\"}')",
+ "ONLY_ONE_OS_MOBILE": "( details.appDefinition.mobilePlatforms hasLength 1 || details.appDefinition.nativeHybrid == 'hybrid' )",
+ "HAS_SOCIAL_MEDIA_INTEGRATION_ADDON": "(details.appDefinition.addons.development contains '{\"productKey\":\"social-media-integration\"}')",
+ "CA_NOT_NEEDED": "(details.appDefinition.caNeeded != 'yes')",
+ "HAS_UNIT_TESTING_ADDON": "(details.appDefinition.addons.development contains '{\"productKey\":\"unit-tests\"}')",
+ "ONLY_TWO_OS_BOTH_MOBILES": "(details.appDefinition.mobilePlatforms hasLength 2 && details.appDefinition.nativeHybrid != 'hybrid')",
+ "HAS_OFFLINE_CAPABILITY_ADDON": "(details.appDefinition.addons.development contains '{\"productKey\":\"offline-capability\"}')",
+ "IS_WEB_RESP_APP": "(details.appDefinition.webBrowserBehaviour == 'responsive')",
+ "CONCEPT_DESIGN": "( details.appDefinition.designGoal == 'concept-designs' )",
+ "HAS_MIN_BATTERY_USE_IMPL_ADDON": "(details.appDefinition.addons.development contains '{\"productKey\":\"min-battery-use-impl\"}')",
+ "HAS_BACKEND_DEVELOPMENT_ADDON": "(details.appDefinition.addons.development contains '{\"productKey\":\"backend-development\"}')",
+ "HAS_MAZE_UX_TESTING_ADDON": "(details.appDefinition.addons.design contains '{\"productKey\":\"ux-testing-with-maze\"}')",
+ "FALSY": "1 == 2",
+ "ONLY_TWO_OS_MOBILE_PROGRESSIVE": "((details.appDefinition.mobilePlatforms hasLength 1) && (details.appDefinition.targetDevices contains 'web-browser') && (details.appDefinition.webBrowserBehaviour == 'progressive'))",
+ "COMPREHENSIVE_DESIGN": "(details.appDefinition.designGoal == 'comprehensive-designs')",
+ "HAS_MOBILE_DEPLOYMENT": "((details.appDefinition.deploymentTargets contains 'apple-app-store') || (details.appDefinition.deploymentTargets contains 'google-play'))",
+ "TWO_DELIVERABLES": "(details.appDefinition.deliverables hasLength 2)",
+ "ONLY_MOBILE_DEPLOYMENT": "((details.appDefinition.deploymentTargets contains 'apple-app-store') || (details.appDefinition.deploymentTargets contains 'google-play')) && (!(details.appDefinition.deploymentTargets contains 'internal-production-environment'))",
+ "HAS_DEPLOY_DELIVERABLE": "(details.appDefinition.deliverables contains 'deployment')",
+ "HAS_UI_PROTOTYPE_ADDON": "(details.appDefinition.addons.design contains '{\"productKey\":\"ui-prototype\"}')",
+ "HAS_DESIGN_DELIVERABLE": "(details.appDefinition.deliverables contains 'design')",
+ "HAS_RESP_DESIGN_IMPL_ADDON": "(details.appDefinition.addons.development contains '{\"productKey\":\"resp-design-impl\"}')",
+ "TWO_TARGET_DEVICES": "(details.appDefinition.targetDevices hasLength 2)",
+ "HAS_CONTAINERIZED_CODE_ADDON": "(details.appDefinition.addons.development contains '{\"productKey\":\"containerized-code\"}')",
+ "HAS_MOBILE_ENT_SECURITY_ADDON": "(details.appDefinition.addons.development contains '{\"productKey\":\"mobile-enterprise-security\"}')",
+ "HAS_SSO_INTEGRATION_ADDON": "(details.appDefinition.addons.development contains '{\"productKey\":\"sso-integration\"}')"
+ },
+ "scopeChangeFields": [
+ "details.appDefinition.deliverables",
+ "details.appDefinition.designGoal",
+ "details.appDefinition.quickTurnaround",
+ "details.appDefinition.targetDevices",
+ "details.appDefinition.mobilePlatforms",
+ "details.appDefinition.nativeHybrid",
+ "details.appDefinition.webBrowserBehaviour",
+ "details.appDefinition.numberScreens",
+ "details.appDefinition.deploymentTargets",
+ "details.appDefinition.caNeeded"
+ ],
+ "addonPriceConfig": {
+ "HAS_DEPLOY_DELIVERABLE": [
+ [
+ "CI_CD_ADDON"
+ ]
+ ],
+ "HAS_DESIGN_DELIVERABLE": [
+ [
+ "WIREFRAMES_ADDON"
+ ],
+ [
+ "UI_PROTOTYPE_ADDON"
+ ],
+ [
+ "RESP_UI_PROTOTYPE_ADDON"
+ ],
+ [
+ "ZEPLIN_APP_ADDON"
+ ],
+ [
+ "DESIGN_DIRECTION_ADDON"
+ ],
+ [
+ "MAZE_UX_TESTING_ADDON"
+ ]
+ ],
+ "HAS_DEV_DELIVERABLE": [
+ [
+ "API_DEVELOPMENT_ADDON"
+ ],
+ [
+ "API_INTEGRATION_ADDON"
+ ],
+ [
+ "OFFLINE_CAPABILITY_ADDON"
+ ],
+ [
+ "MIN_BATTERY_USE_IMPL_ADDON"
+ ],
+ [
+ "SMTP_SERVER_SETUP_ADDON"
+ ],
+ [
+ "BACKEND_DEVELOPMENT_ADDON"
+ ],
+ [
+ "RESP_DESIGN_IMPL_ADDON"
+ ],
+ [
+ "ADMIN_TOOL_DEV_ADDON"
+ ],
+ [
+ "LOCATION_SERVICES_ADDON"
+ ],
+ [
+ "CONTAINERIZED_CODE_ADDON"
+ ],
+ [
+ "GOOGLE_ANALYTICS_ADDON"
+ ],
+ [
+ "SSO_INTEGRATION_ADDON"
+ ],
+ [
+ "THIRD_PARTY_INTEGRATION_ADDON"
+ ],
+ [
+ "SMS_GATEWAY_INTEGRATION_ADDON"
+ ],
+ [
+ "SOCIAL_MEDIA_INTEGRATION_ADDON"
+ ],
+ [
+ "MOBILE_ENT_SECURITY_ADDON"
+ ],
+ [
+ "CHECKMARX_SCANNING_ADDON"
+ ],
+ [
+ "BLACKDUCK_SCANNING_ADDON"
+ ],
+ [
+ "AUTOMATION_TESTING_ADDON"
+ ],
+ [
+ "PERF_TESTING_ADDON"
+ ],
+ [
+ "UNIT_TESTING_ADDON"
+ ],
+ [
+ "UAT_ENHANCEMENTS_ADDON"
+ ]
+ ]
+ },
+ "priceConfig-old": null,
+ "basePriceEstimate": 0,
+ "priceConfig": {
+ "(!(CUSTOM_QUOTE) && HAS_DEV_DELIVERABLE && ONE_TARGET_DEVICE)": [
+ [
+ "WEB_APP_SOLUTION"
+ ],
+ [
+ "RESP_APP_SOLUTION"
+ ],
+ [
+ "ONE_OS_MOBILTY_SOLUTION"
+ ],
+ [
+ "TWO_OS_MOBILTY_SOLUTION"
+ ]
+ ],
+ "(!(CUSTOM_QUOTE) && HAS_DESIGN_DELIVERABLE && ONE_TARGET_DEVICE)": [
+ [
+ "DESIGN_SOLUTION"
+ ],
+ [
+ "DESIGN_RUX_SOLUTION"
+ ]
+ ],
+ "(!(CUSTOM_QUOTE) && HAS_DESIGN_DELIVERABLE && TWO_TARGET_DEVICES)": [
+ [
+ "DESIGN_SOLUTION",
+ "DESIGN_SOLUTION"
+ ]
+ ],
+ "FALSY && MOBILITY_SOLUTION && MOBILE_DEVICES && ONLY_TWO_OS_BOTH_MOBILES": [
+ [
+ "DESIGN_BLOCK_FOR_DEV",
+ "DEV_BLOCK",
+ "DEV_BLOCK",
+ "DEV_BLOCK",
+ "DEV_BLOCK",
+ "DEV_BLOCK",
+ "QA_BLOCK",
+ "QA_BLOCK",
+ "QA_BLOCK",
+ "QA_BLOCK",
+ "QA_BLOCK",
+ "QA_BLOCK",
+ "QA_BLOCK",
+ "QA_BLOCK",
+ "QA_BLOCK",
+ "QA_BLOCK",
+ "SVC_BLOCK",
+ "SVC_BLOCK",
+ "SVC_BLOCK",
+ "SVC_BLOCK",
+ "SVC_BLOCK",
+ "SVC_BLOCK",
+ "SVC_BLOCK",
+ "SVC_BLOCK",
+ "SVC_BLOCK",
+ "SVC_BLOCK",
+ "SVC_BLOCK",
+ "SVC_BLOCK",
+ "SVC_BLOCK",
+ "SVC_BLOCK",
+ "SVC_BLOCK",
+ "SVC_BLOCK"
+ ]
+ ],
+ "(FALSY && HAS_DESIGN_DELIVERABLE && ONE_TARGET_DEVICE)": [
+ [
+ "DESIGN_BLOCK"
+ ],
+ [
+ "RUX_BLOCK"
+ ]
+ ],
+ "(!(CUSTOM_QUOTE) && HAS_DEPLOY_DELIVERABLE )": [
+ [
+ "MOBILE_DEPLOY_SOLUTION"
+ ],
+ [
+ "INTERNAL_DEPLOY_SOLUTION"
+ ]
+ ],
+ "(FALSY && HAS_DESIGN_DELIVERABLE && TWO_TARGET_DEVICES)": [
+ [
+ "DESIGN_BLOCK",
+ "DESIGN_BLOCK"
+ ]
+ ],
+ "(FALSY && WEB_APP_SOLUTION && WEB_DEVICE && ONE_TARGET_DEVICE)": [
+ [
+ "DESIGN_BLOCK_FOR_DEV",
+ "DEV_BLOCK",
+ "DEV_BLOCK",
+ "DEV_BLOCK",
+ "DEV_BLOCK",
+ "QA_BLOCK",
+ "QA_BLOCK",
+ "QA_BLOCK",
+ "QA_BLOCK",
+ "QA_BLOCK",
+ "SVC_BLOCK",
+ "SVC_BLOCK",
+ "SVC_BLOCK",
+ "SVC_BLOCK",
+ "SVC_BLOCK",
+ "SVC_BLOCK",
+ "SVC_BLOCK",
+ "SVC_BLOCK",
+ "SVC_BLOCK",
+ "SVC_BLOCK"
+ ]
+ ],
+ "(FALSY && HAS_DESIGN_DELIVERABLE && THREE_TARGET_DEVICES)": [
+ [
+ "DESIGN_BLOCK",
+ "DESIGN_BLOCK",
+ "DESIGN_BLOCK"
+ ]
+ ],
+ "FALSY && MOBILITY_SOLUTION && MOBILE_DEVICES && ONLY_ONE_OS_MOBILE": [
+ [
+ "DESIGN_BLOCK_FOR_DEV",
+ "DEV_BLOCK",
+ "DEV_BLOCK",
+ "DEV_BLOCK",
+ "DEV_BLOCK",
+ "QA_BLOCK",
+ "QA_BLOCK",
+ "QA_BLOCK",
+ "QA_BLOCK",
+ "QA_BLOCK",
+ "QA_BLOCK",
+ "SVC_BLOCK",
+ "SVC_BLOCK",
+ "SVC_BLOCK",
+ "SVC_BLOCK",
+ "SVC_BLOCK",
+ "SVC_BLOCK",
+ "SVC_BLOCK",
+ "SVC_BLOCK",
+ "SVC_BLOCK",
+ "SVC_BLOCK",
+ "SVC_BLOCK"
+ ]
+ ],
+ "(!(CUSTOM_QUOTE) && HAS_DEV_DELIVERABLE && THREE_TARGET_DEVICES)": [
+ [
+ "TWO_OS_MOBILE_DESKTOP_SOLUTION"
+ ]
+ ],
+ "(FALSY && RESP_APP_SOLUTION && WEB_DEVICE && ONE_TARGET_DEVICE)": [
+ [
+ "DESIGN_BLOCK_FOR_DEV",
+ "DEV_BLOCK",
+ "DEV_BLOCK",
+ "DEV_BLOCK",
+ "DEV_BLOCK",
+ "DEV_BLOCK",
+ "QA_BLOCK",
+ "QA_BLOCK",
+ "QA_BLOCK",
+ "QA_BLOCK",
+ "QA_BLOCK",
+ "SVC_BLOCK",
+ "SVC_BLOCK",
+ "SVC_BLOCK",
+ "SVC_BLOCK",
+ "SVC_BLOCK",
+ "SVC_BLOCK",
+ "SVC_BLOCK",
+ "SVC_BLOCK",
+ "SVC_BLOCK",
+ "SVC_BLOCK",
+ "SVC_BLOCK"
+ ]
+ ],
+ "(!(CUSTOM_QUOTE) && HAS_DESIGN_DELIVERABLE && THREE_TARGET_DEVICES)": [
+ [
+ "DESIGN_SOLUTION",
+ "DESIGN_SOLUTION",
+ "DESIGN_SOLUTION"
+ ]
+ ],
+ "(!(CUSTOM_QUOTE) && HAS_DEV_DELIVERABLE && TWO_TARGET_DEVICES)": [
+ [
+ "ONE_OS_MOBILTY_SOLUTION"
+ ],
+ [
+ "TWO_OS_MOBILTY_SOLUTION"
+ ],
+ [
+ "TWO_OS_MOBILE_DESKTOP_SOLUTION"
+ ]
+ ]
+ },
+ "wizard": {
+ "previousStepVisibility": "none",
+ "enabled": true
+ },
+ "baseTimeEstimateMin": 3,
+ "sections": [
+ {
+ "subSections": [
+ {
+ "questions": [
+ {
+ "userPermissionCondition": {
+ "allowRule": {
+ "topcoderRoles": [
+ "administrator",
+ "Connect Administrator",
+ "Connect Copilot",
+ "Connect Manager",
+ "Connect Account Manager",
+ "Connect Copilot Manager"
+ ]
+ }
+ },
+ "fieldName": "details.intakePurpose",
+ "icon": "question",
+ "options": [
+ {
+ "summaryLabel": "Client Request",
+ "label": "Submitting Client Request",
+ "value": "client-request"
+ },
+ {
+ "summaryLabel": "Internal Project",
+ "label": "Internal Project",
+ "value": "internal-project"
+ },
+ {
+ "summaryLabel": "Demo/Test/Other",
+ "label": "Demo/Test/Other",
+ "value": "demo-test-other"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "Why are you creating this intake?",
+ "type": "radio-group",
+ "summaryTitle": "Intake purpose",
+ "validationError": "Please, choose you intake purpose.",
+ "required": true
+ },
+ {
+ "userPermissionCondition": {
+ "denyRule": {
+ "topcoderRoles": [
+ "administrator",
+ "Connect Administrator",
+ "Connect Copilot",
+ "Connect Manager",
+ "Connect Account Manager",
+ "Connect Copilot Manager"
+ ]
+ },
+ "allowRule": {
+ "topcoderRoles": [
+ "Topcoder User"
+ ]
+ }
+ },
+ "fieldName": "details.intakePurpose",
+ "icon": "question",
+ "options": [
+ {
+ "summaryLabel": "Work done",
+ "label": "I need work done",
+ "value": "work-done"
+ },
+ {
+ "summaryLabel": "Exploring options",
+ "label": "I am just exploring my options",
+ "value": "exploring-options"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "Why are you creating this intake?",
+ "type": "radio-group",
+ "summaryTitle": "Intake purpose",
+ "validationError": "Please, choose the purpose of this project.",
+ "required": true
+ }
+ ],
+ "title": "",
+ "type": "questions"
+ }
+ ],
+ "hiddenOnEdit": true,
+ "statusText": "",
+ "id": "before-start",
+ "title": "Before we start"
+ },
+ {
+ "subSections": [
+ {
+ "hideTitle": true,
+ "description": "We will ask you several questions in order to determine your project’s scope. All estimates are based on our 15 years of experience and thousands of projects. Final prices will be determined after our team completes a final scope review.",
+ "theme": "light",
+ "type": "message"
+ },
+ {
+ "questions": [
+ {
+ "fieldName": "name",
+ "theme": "light",
+ "validations": "isRequired",
+ "type": "textinput",
+ "title": "What is the name of your app?",
+ "validationError": "Please, provide a name to your project",
+ "required": true
+ },
+ {
+ "fieldName": "details.utm.code",
+ "theme": "light",
+ "type": "textinput",
+ "title": "Do you have a Reference code? (optional)"
+ },
+ {
+ "fieldName": "description",
+ "theme": "light",
+ "type": "textbox",
+ "title": "Briefly describe your goals.",
+ "validationError": "Please, describe your goals",
+ "required": true
+ }
+ ],
+ "title": "App details",
+ "type": "questions"
+ }
+ ],
+ "statusText": "Let's go",
+ "id": "project-basic-details",
+ "title": "Basic Details"
+ },
+ {
+ "subSections": [
+ {
+ "questions": [
+ {
+ "hiddenOnEdit": true,
+ "type": "static",
+ "content": "
{{name}}
{{description}}
"
+ },
+ {
+ "help": {
+ "linkTitle": "What work is right for me?",
+ "title": "What work is right for me?",
+ "content": "
Topcoder has design, development, and deployment solutions can be combined in a single project to help you deliver an end-to-end application.
It is important to note that all Topcoder development projects include standard quality assurance testing at no additional cost to help ensure you are getting the highest-quality application possible.
"
+ },
+ "fieldName": "details.appDefinition.deliverables",
+ "icon": "question",
+ "options": [
+ {
+ "summaryLabel": "Design",
+ "description": "We will design your app experience, focusing on the major features and experiences.",
+ "label": "Design",
+ "value": "design"
+ },
+ {
+ "summaryLabel": "Development",
+ "description": "We will develop your app based on existing designs. Building a reliable application for you is our priority. We include standard quality assurance testing at no additional cost when doing any development.",
+ "label": "Development & QA",
+ "value": "dev-qa"
+ },
+ {
+ "description": "Our team will ensure that your code is packaged and distributed on all targeted platforms and/or in the Apple/Google app stores.",
+ "label": "Deployment",
+ "value": "deployment"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "What do you need?",
+ "type": "checkbox-group",
+ "summaryTitle": "Work needed",
+ "validationError": "Please, choose what do you need.",
+ "required": true
+ },
+ {
+ "fieldName": "details.appDefinition.designGoal",
+ "icon": "question",
+ "description": "",
+ "title": "What is the goal of your designs?",
+ "type": "radio-group",
+ "summaryTitle": "Design goal",
+ "validationError": "Please, choose you design goal.",
+ "required": true,
+ "help": {
+ "linkTitle": "What should I choose?",
+ "title": "What should I choose?",
+ "content": "
Conceptual exploration
It enables you to explore UI and UX concepts for your application with industry-leading experts. This is the best choice when you are exploring ideas for a new application, but are not ready to begin development immediately. While design concepts empower you to explore different ideas, the design-deliverables are not considered production-ready as they will not contain detailed workflows for your entire application.
Production-ready designs
These are best used when you are ready to begin development on your application immediately after design-completion. These designs will include detailed workflows and options for your application.
"
+ },
+ "condition": "HAS_DESIGN_DELIVERABLE",
+ "options": [
+ {
+ "disableCondition": "HAS_DEV_DELIVERABLE",
+ "summaryLabel": "Concept",
+ "description": "Designers will produce up to 8 high-quality screens with different directions that would help you define your product direction, and present to stakeholders.",
+ "label": "Concept exploration",
+ "value": "concept-designs"
+ },
+ {
+ "summaryLabel": "Production-ready designs",
+ "autoSelectCondition": "HAS_DEV_DELIVERABLE",
+ "description": "Designers will create detailed, designed workflows that can be immediately ready for development upon completion.",
+ "label": "Production-ready designs",
+ "value": "comprehensive-designs"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ },
+ {
+ "condition": "CONCEPT_DESIGN",
+ "fieldName": "details.appDefinition.needAdditionalScreens",
+ "icon": "question",
+ "options": [
+ {
+ "description": "",
+ "label": "Yes",
+ "value": "yes"
+ },
+ {
+ "description": "",
+ "label": "No",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "Will your application require more than 8 screens?",
+ "type": "radio-group",
+ "summaryTitle": "Need Add'l Screens",
+ "validationError": "Please let us know if you need more than 8 screens?",
+ "required": true
+ },
+ {
+ "condition": "COMPREHENSIVE_DESIGN || HAS_DEV_DELIVERABLE",
+ "fieldName": "details.appDefinition.needAdditionalScreens",
+ "icon": "question",
+ "options": [
+ {
+ "description": "",
+ "label": "Yes",
+ "value": "yes"
+ },
+ {
+ "description": "",
+ "label": "No",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "Will your application require more than 15 screens?",
+ "type": "radio-group",
+ "summaryTitle": "Need Add'l Screens",
+ "validationError": "Please let us know if you need more than 15 screens?",
+ "required": true
+ },
+ {
+ "condition": "(CONCEPT_DESIGN && details.appDefinition.needAdditionalScreens == 'yes')",
+ "fieldName": "details.appDefinition.screensCount",
+ "icon": "question",
+ "options": [
+ {
+ "summaryLabel": "8-16",
+ "description": "",
+ "label": "8-16 screens",
+ "value": "8-16"
+ },
+ {
+ "summaryLabel": "16-24",
+ "description": "",
+ "label": "16-24 screens",
+ "value": "16-24"
+ },
+ {
+ "summaryLabel": "24-32",
+ "description": "",
+ "label": "24-32 screens",
+ "value": "24-32"
+ },
+ {
+ "summaryLabel": "32-40",
+ "description": "",
+ "label": "32-40 screens",
+ "value": "32-40"
+ },
+ {
+ "summaryLabel": "40+",
+ "description": "",
+ "label": "40+ screens",
+ "value": "40+"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "How many screens do you anticipate requiring?",
+ "type": "radio-group",
+ "summaryTitle": "Screens Count",
+ "validationError": "Please, choose expected number of screens.",
+ "required": true
+ },
+ {
+ "condition": "((COMPREHENSIVE_DESIGN || HAS_DEV_DELIVERABLE) && details.appDefinition.needAdditionalScreens == 'yes')",
+ "fieldName": "details.appDefinition.screensCount",
+ "icon": "question",
+ "options": [
+ {
+ "summaryLabel": "15-30",
+ "description": "",
+ "label": "15-30 screens",
+ "value": "15-30"
+ },
+ {
+ "summaryLabel": "30-45",
+ "description": "",
+ "label": "30-45 screens",
+ "value": "30-45"
+ },
+ {
+ "summaryLabel": "45-60",
+ "description": "",
+ "label": "45-60 screens",
+ "value": "45-60"
+ },
+ {
+ "summaryLabel": "60+",
+ "description": "",
+ "label": "60+ screens",
+ "value": "60+"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "How many screens do you anticipate requiring?",
+ "type": "radio-group",
+ "summaryTitle": "Screens Count",
+ "validationError": "Please, choose expected number of screens.",
+ "required": true
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "deliverables",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.targetDevices",
+ "icon": "question",
+ "description": "Topcoder’s standard concept design solution provides concept designs for one device. If you require concept designs for more than one device, please select all device types required and we will send you a custom proposal.",
+ "title": "Where should your app work?",
+ "type": "checkbox-group",
+ "summaryTitle": "Devices",
+ "validationError": "Please, select devices",
+ "required": true,
+ "condition": "CONCEPT_DESIGN",
+ "affectsQuickQuote": true,
+ "options": [
+ {
+ "description": "Your app can be installed and launched on mobile devices. This is Topcoder’s most requested option.",
+ "label": "Mobile",
+ "value": "mobile"
+ },
+ {
+ "description": "Your app can be used on tablet devices, with an optimized layout for tablets.",
+ "label": "Tablet",
+ "value": "tablet"
+ },
+ {
+ "description": "Your app would be accessed via web browser on desktop, mobile and tablet devices alike.",
+ "label": "Web Browser",
+ "value": "web-browser"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ },
+ {
+ "fieldName": "details.appDefinition.targetDevices",
+ "icon": "question",
+ "description": "",
+ "title": "Where should your app work?",
+ "type": "checkbox-group",
+ "summaryTitle": "Devices",
+ "validationError": "Please, select devices",
+ "required": true,
+ "condition": "( ( HAS_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN ) || HAS_DEV_DELIVERABLE)",
+ "affectsQuickQuote": true,
+ "options": [
+ {
+ "description": "Your app can be installed and launched on mobile devices. This is Topcoder’s most requested option.",
+ "label": "Mobile",
+ "value": "mobile"
+ },
+ {
+ "description": "Your app can be used on tablet devices, with an optimized layout for tablets.",
+ "label": "Tablet",
+ "value": "tablet"
+ },
+ {
+ "description": "Your app would be accessed via web browser on desktop, mobile and tablet devices alike.",
+ "label": "Web Browser",
+ "value": "web-browser"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ },
+ {
+ "help": {
+ "linkTitle": "Which platforms to select?",
+ "title": "Which platforms to select?",
+ "content": "
Topcoder can create mobile applications for iOS, Android, or iOS and Android platforms.
"
+ },
+ "condition": "( (CONCEPT_DESIGN ) && ( details.appDefinition.targetDevices contains 'mobile' || details.appDefinition.targetDevices contains 'tablet' ))",
+ "fieldName": "details.appDefinition.mobilePlatforms",
+ "affectsQuickQuote": true,
+ "icon": "question",
+ "options": [
+ {
+ "description": "Your designs will be tailored to iOS mobile devices.",
+ "label": "iOS",
+ "value": "ios"
+ },
+ {
+ "description": "Your designs will be tailored to Android mobile devices.",
+ "label": "Android",
+ "value": "android"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "title": "What mobile platform is required?",
+ "type": "checkbox-group",
+ "summaryTitle": "Mobile platforms"
+ },
+ {
+ "help": {
+ "linkTitle": "Which platforms to select?",
+ "title": "Which platforms to select?",
+ "content": "
Topcoder can create mobile applications for iOS, Android, or iOS and Android platforms.
"
+ },
+ "condition": "( (COMPREHENSIVE_DESIGN || HAS_DEV_DELIVERABLE) && ( details.appDefinition.targetDevices contains 'mobile' || details.appDefinition.targetDevices contains 'tablet' ))",
+ "fieldName": "details.appDefinition.mobilePlatforms",
+ "affectsQuickQuote": true,
+ "icon": "question",
+ "options": [
+ {
+ "description": "Your app would work on iOS phones. We will develop it using Objective-C and SWIFT",
+ "label": "iOS",
+ "value": "ios"
+ },
+ {
+ "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.",
+ "label": "Android",
+ "value": "android"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "title": "What mobile platform is required?",
+ "type": "checkbox-group",
+ "summaryTitle": "Mobile platforms"
+ },
+ {
+ "fieldName": "details.appDefinition.nativeHybrid",
+ "icon": "question",
+ "description": "",
+ "title": "Should your app use a native or hybrid framework?",
+ "type": "radio-group",
+ "summaryTitle": "App Type",
+ "validationError": "Please let us know the type of the app?",
+ "required": true,
+ "help": {
+ "linkTitle": "Which OS to select?",
+ "title": "Which OS to select?",
+ "content": "
Native operating systems are a SDK framework for building iOS and/or Android applications. Native applications typically have better performance if rich features such as video or audio are required.
Hybrid operating systems leverages a hybrid framework, such as Iconic, to build iOS and/or Android applications. Hybrid gives you the benefit of only having to maintain one code base for your application.
"
+ },
+ "condition": "( HAS_DEV_DELIVERABLE && ( details.appDefinition.mobilePlatforms contains 'ios' || details.appDefinition.mobilePlatforms contains 'android' ))",
+ "options": [
+ {
+ "description": "",
+ "label": "Native",
+ "value": "native"
+ },
+ {
+ "description": "",
+ "label": "Hybrid",
+ "value": "hybrid"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ },
+ {
+ "fieldName": "details.appDefinition.webBrowserBehaviour",
+ "icon": "question",
+ "description": "",
+ "title": "How should your app work in web browsers?",
+ "type": "radio-group",
+ "summaryTitle": "Web browser behaviour",
+ "validationError": "Please let us know the type of web app?",
+ "required": true,
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Responsive Web Applications can be accessed from mobile, tablet, and/or desktop devices. You can choose custom layouts depending on device type.
Progressive Web Applications are built using a native framework. Benefits of a PWA include app installation, reliable launching despite network conditions, and more engaging content.
Desktop Web Browser Applications come in one layout and are only accessed from desktop devices using common web browsers such as Chrome or Safari.
"
+ },
+ "condition": "( details.appDefinition.targetDevices contains 'web-browser' )",
+ "options": [
+ {
+ "description": "Your responsive web app can be accessed from all common desktop, mobile and tablet web browsers and will be optimized for all screen sizes.",
+ "label": "I want a web app that is responsive to all device types, including desktop.",
+ "value": "responsive"
+ },
+ {
+ "description": "Your progressive web app can be installed on a desktop device, ensuring faster and more reliable launching.",
+ "label": "I want a web app that is installable on desktops.",
+ "value": "progressive"
+ },
+ {
+ "description": "Your desktop app can be accessed from desktop devices on all common web browsers.",
+ "label": "I want a web app that is designed specifically for desktop use.",
+ "value": "desktop"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "target-devices-os",
+ "type": "questions"
+ },
+ {
+ "condition": "HAS_DESIGN_DELIVERABLE",
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.hasBrandGuidelines",
+ "icon": "question",
+ "description": "",
+ "title": "Do you have required style/brand guidelines?",
+ "type": "radio-group",
+ "summaryTitle": "Brand Guidelines",
+ "validationError": "Please let us know if you have style/brand guildlines?",
+ "required": true,
+ "help": {
+ "linkTitle": "Where to Share Style & Branding Guidelines",
+ "title": "Where to Share Style & Branding Guidelines",
+ "content": "
Once you complete this intake form, a project will be created inside Topcoder’s Connect platform. Please share any files or links indicating your style guide or branding guidelines inside the project.
"
+ },
+ "condition": "HAS_DESIGN_DELIVERABLE",
+ "options": [
+ {
+ "description": "",
+ "label": "Yes",
+ "value": "yes"
+ },
+ {
+ "description": "",
+ "label": "No",
+ "value": "no"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ },
+ {
+ "fieldName": "details.appDefinition.needSpecificFonts",
+ "icon": "question",
+ "description": "",
+ "title": "Are there particular fonts you want used?",
+ "type": "radio-group",
+ "summaryTitle": "Specific Fonts",
+ "validationError": "Please let us know if you need particular fonts?",
+ "required": true,
+ "help": {
+ "linkTitle": "Where to Share Font Preferences",
+ "title": "Where to Share Font Preferences",
+ "content": "
Once you complete this intake form, a project will be created inside Topcoder’s Connect platform. Please share any files or links indicating your font preferences inside the project.
Once you complete this intake form, a project will be created inside Topcoder’s Connect platform. Please share any files or links indicating your color/theme preferences inside the project.
All Topcoder projects engage a Challenge Manager, a member of the community who helps to set-up and execute work with the community.
Topcoder recommends including a Project Manager on projects where a high degree of technical complexity is anticipated, when multiple deliverables are needed, or when you are a new to Topcoder and need additional help navigating the crowdsourcing process. A Project Manager will provide additional oversight to your project.
"
+ },
+ "condition": "FALSY && !(CUSTOM_QUOTE)",
+ "options": [
+ {
+ "summaryLabel": "Project Manager + Challenge Manager",
+ "description": "Challenge managers will work with the Community on the execution of your deliverables. A Project Manager will be assigned to oversee the technical requirements and complexities of your project.",
+ "label": "Project Manager + Challenge Manager",
+ "value": "yes"
+ },
+ {
+ "summaryLabel": "Challenge Manager only",
+ "description": "You will partner directly with your Challenge Manager to align on the requirements for your project and they will work with the Community on the execution of your deliverables.",
+ "label": "Challenge Manager only",
+ "value": "no"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ },
+ {
+ "fieldName": "details.apiDefinition.notes",
+ "icon": "question",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)",
+ "title": "Notes",
+ "type": "textbox",
+ "summaryTitle": "Notes"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "tc-services-questions",
+ "type": "questions"
+ },
+ {
+ "condition": "!id",
+ "fieldName": "attachments",
+ "description": "",
+ "id": "files",
+ "title": "Please upload any document that can help us in moving ahead with the project",
+ "type": "files"
+ },
+ {
+ "condition": "(CUSTOM_QUOTE)",
+ "fieldName": "details.appDefinition.message",
+ "hideTitle": true,
+ "description": "Topcoder will contact you shortly with a proposal on your project.",
+ "id": "customeQuote",
+ "title": "Message",
+ "type": "message"
+ }
+ ],
+ "description": "",
+ "wizard": {
+ "previousStepVisibility": "write",
+ "enabled": true
+ },
+ "id": "appDefinition",
+ "title": "App Definition",
+ "required": true
+ },
+ {
+ "subSections": [
+ {
+ "condition": "!(CUSTOM_QUOTE)",
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "static",
+ "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": "HAS_DESIGN_DELIVERABLE && !(CUSTOM_QUOTE)",
+ "fieldName": "details.appDefinition.addons.design",
+ "icon": "question",
+ "description": "Select any desired add-ons to your project. Please note that each add-on will incur a cost and has a delivery duration. Your project estimate will be updated to reflect the cost and duration of your base solution and add-ons. Additionally, you will receive a full breakdown on cost in the final project proposal from Topcoder.",
+ "theme": "light",
+ "title": "Design add-ons",
+ "type": "add-ons",
+ "category": "design"
+ },
+ {
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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": "HAS_DEV_DELIVERABLE && !(CUSTOM_QUOTE)",
+ "fieldName": "details.appDefinition.addons.development",
+ "icon": "question",
+ "description": "Select any desired add-ons to your project. Please note that each add-on will incur a cost and has a delivery duration. Your project estimate will be updated to reflect the cost and duration of your base solution and add-ons. Additionally, you will receive a full breakdown on cost in the final project proposal from Topcoder.",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "title": "Development add-ons",
+ "type": "add-ons",
+ "category": "development"
+ },
+ {
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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": "HAS_DEPLOY_DELIVERABLE && !(CUSTOM_QUOTE)",
+ "fieldName": "details.appDefinition.addons.delivery",
+ "icon": "question",
+ "description": "Select any desired add-ons to your project. Please note that each add-on will incur a cost and has a delivery duration. Your project estimate will be updated to reflect the cost and duration of your base solution and add-ons. Additionally, you will receive a full breakdown on cost in the final project proposal from Topcoder.",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "title": "Delivery add-ons",
+ "type": "add-ons",
+ "category": "deployment"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized",
+ "enabled": true
+ },
+ "type": "questions"
+ }
+ ],
+ "wizard": {
+ "enabled": true
+ },
+ "id": "add-ons",
+ "title": "Configure my app"
+ },
+ {
+ "subSections": [
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "static",
+ "content": "
"
+ },
+ {
+ "help": {
+ "linkTitle": "What work is right for me?",
+ "title": "What work is right for me?",
+ "content": "
Topcoder has design, development, and deployment solutions can be combined in a single project to help you deliver an end-to-end application.
It is important to note that all Topcoder development projects include standard quality assurance testing at no additional cost to help ensure you are getting the highest-quality application possible.
"
+ },
+ "fieldName": "details.appDefinition.deliverables",
+ "icon": "question",
+ "options": [
+ {
+ "summaryLabel": "Design",
+ "description": "We will design your app experience, focusing on the major features and experiences.",
+ "label": "Design",
+ "value": "design"
+ },
+ {
+ "summaryLabel": "Development",
+ "description": "We will develop your app based on existing designs. Building a reliable application for you is our priority. We include standard quality assurance testing at no additional cost when doing any development.",
+ "label": "Development & QA",
+ "value": "dev-qa"
+ },
+ {
+ "description": "Our team will ensure that your code is packaged and distributed on all targeted platforms and/or in the Apple/Google app stores.",
+ "label": "Deployment",
+ "value": "deployment"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "What do you need?",
+ "type": "checkbox-group",
+ "summaryTitle": "Work needed",
+ "validationError": "Please, choose what do you need.",
+ "required": true
+ },
+ {
+ "fieldName": "details.appDefinition.designGoal",
+ "icon": "question",
+ "description": "",
+ "title": "What is the goal of your designs?",
+ "type": "radio-group",
+ "summaryTitle": "Design goal",
+ "validationError": "Please, choose you design goal.",
+ "required": true,
+ "help": {
+ "linkTitle": "What should I choose?",
+ "title": "What should I choose?",
+ "content": "
Conceptual exploration
It enables you to explore UI and UX concepts for your application with industry-leading experts. This is the best choice when you are exploring ideas for a new application, but are not ready to begin development immediately. While design concepts empower you to explore different ideas, the design-deliverables are not considered production-ready as they will not contain detailed workflows for your entire application.
Production-ready designs
These are best used when you are ready to begin development on your application immediately after design-completion. These designs will include detailed workflows and options for your application.
"
+ },
+ "condition": "HAS_DESIGN_DELIVERABLE",
+ "options": [
+ {
+ "disableCondition": "HAS_DEV_DELIVERABLE",
+ "summaryLabel": "Concept",
+ "description": "Designers will produce up to 8 high-quality screens with different directions that would help you define your product direction, and present to stakeholders.",
+ "label": "Concept exploration",
+ "value": "concept-designs"
+ },
+ {
+ "summaryLabel": "Production-ready designs",
+ "autoSelectCondition": "HAS_DEV_DELIVERABLE",
+ "description": "Designers will create detailed, designed workflows that can be immediately ready for development upon completion.",
+ "label": "Production-ready designs",
+ "value": "comprehensive-designs"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ },
+ {
+ "condition": "CONCEPT_DESIGN",
+ "fieldName": "details.appDefinition.needAdditionalScreens",
+ "icon": "question",
+ "options": [
+ {
+ "description": "",
+ "label": "Yes",
+ "value": "yes"
+ },
+ {
+ "description": "",
+ "label": "No",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "Will your application require more than 8 screens?",
+ "type": "radio-group",
+ "summaryTitle": "Need Add'l Screens",
+ "validationError": "Please let us know if you need more than 8 screens?",
+ "required": true
+ },
+ {
+ "condition": "COMPREHENSIVE_DESIGN || HAS_DEV_DELIVERABLE",
+ "fieldName": "details.appDefinition.needAdditionalScreens",
+ "icon": "question",
+ "options": [
+ {
+ "description": "",
+ "label": "Yes",
+ "value": "yes"
+ },
+ {
+ "description": "",
+ "label": "No",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "Will your application require more than 15 screens?",
+ "type": "radio-group",
+ "summaryTitle": "Need Add'l Screens",
+ "validationError": "Please let us know if you need more than 15 screens?",
+ "required": true
+ },
+ {
+ "condition": "(CONCEPT_DESIGN && details.appDefinition.needAdditionalScreens == 'yes')",
+ "fieldName": "details.appDefinition.screensCount",
+ "icon": "question",
+ "options": [
+ {
+ "summaryLabel": "8-16",
+ "description": "",
+ "label": "8-16 screens",
+ "value": "8-16"
+ },
+ {
+ "summaryLabel": "16-24",
+ "description": "",
+ "label": "16-24 screens",
+ "value": "16-24"
+ },
+ {
+ "summaryLabel": "24-32",
+ "description": "",
+ "label": "24-32 screens",
+ "value": "24-32"
+ },
+ {
+ "summaryLabel": "32-40",
+ "description": "",
+ "label": "32-40 screens",
+ "value": "32-40"
+ },
+ {
+ "summaryLabel": "40+",
+ "description": "",
+ "label": "40+ screens",
+ "value": "40+"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "How many screens do you anticipate requiring?",
+ "type": "radio-group",
+ "summaryTitle": "Screens Count",
+ "validationError": "Please, choose expected number of screens.",
+ "required": true
+ },
+ {
+ "condition": "((COMPREHENSIVE_DESIGN || HAS_DEV_DELIVERABLE) && details.appDefinition.needAdditionalScreens == 'yes')",
+ "fieldName": "details.appDefinition.screensCount",
+ "icon": "question",
+ "options": [
+ {
+ "summaryLabel": "15-30",
+ "description": "",
+ "label": "15-30 screens",
+ "value": "15-30"
+ },
+ {
+ "summaryLabel": "30-45",
+ "description": "",
+ "label": "30-45 screens",
+ "value": "30-45"
+ },
+ {
+ "summaryLabel": "45-60",
+ "description": "",
+ "label": "45-60 screens",
+ "value": "45-60"
+ },
+ {
+ "summaryLabel": "60+",
+ "description": "",
+ "label": "60+ screens",
+ "value": "60+"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "How many screens do you anticipate requiring?",
+ "type": "radio-group",
+ "summaryTitle": "Screens Count",
+ "validationError": "Please, choose expected number of screens.",
+ "required": true
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "deliverables",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.targetDevices",
+ "icon": "question",
+ "description": "Topcoder’s standard concept design solution provides concept designs for one device. If you require concept designs for more than one device, please select all device types required and we will send you a custom proposal.",
+ "title": "Where should your app work?",
+ "type": "checkbox-group",
+ "summaryTitle": "Devices",
+ "validationError": "Please, select devices",
+ "required": true,
+ "condition": "CONCEPT_DESIGN",
+ "affectsQuickQuote": true,
+ "options": [
+ {
+ "description": "Your app can be installed and launched on mobile devices. This is Topcoder’s most requested option.",
+ "label": "Mobile",
+ "value": "mobile"
+ },
+ {
+ "description": "Your app can be used on tablet devices, with an optimized layout for tablets.",
+ "label": "Tablet",
+ "value": "tablet"
+ },
+ {
+ "description": "Your app would be accessed via web browser on desktop, mobile and tablet devices alike.",
+ "label": "Web Browser",
+ "value": "web-browser"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ },
+ {
+ "fieldName": "details.appDefinition.targetDevices",
+ "icon": "question",
+ "description": "",
+ "title": "Where should your app work?",
+ "type": "checkbox-group",
+ "summaryTitle": "Devices",
+ "validationError": "Please, select devices",
+ "required": true,
+ "condition": "( ( HAS_DESIGN_DELIVERABLE && COMPREHENSIVE_DESIGN ) || HAS_DEV_DELIVERABLE)",
+ "affectsQuickQuote": true,
+ "options": [
+ {
+ "description": "Your app can be installed and launched on mobile devices. This is Topcoder’s most requested option.",
+ "label": "Mobile",
+ "value": "mobile"
+ },
+ {
+ "description": "Your app can be used on tablet devices, with an optimized layout for tablets.",
+ "label": "Tablet",
+ "value": "tablet"
+ },
+ {
+ "description": "Your app would be accessed via web browser on desktop, mobile and tablet devices alike.",
+ "label": "Web Browser",
+ "value": "web-browser"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ },
+ {
+ "help": {
+ "linkTitle": "Which platforms to select?",
+ "title": "Which platforms to select?",
+ "content": "
Topcoder can create mobile applications for iOS, Android, or iOS and Android platforms.
"
+ },
+ "condition": "( (CONCEPT_DESIGN || HAS_DEV_DELIVERABLE) && ( details.appDefinition.targetDevices contains 'mobile' || details.appDefinition.targetDevices contains 'tablet' ))",
+ "fieldName": "details.appDefinition.mobilePlatforms",
+ "affectsQuickQuote": true,
+ "icon": "question",
+ "options": [
+ {
+ "description": "Your designs will be tailored to iOS mobile devices.",
+ "label": "iOS",
+ "value": "ios"
+ },
+ {
+ "description": "Your designs will be tailored to Android mobile devices.",
+ "label": "Android",
+ "value": "android"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "title": "What mobile platform is required?",
+ "type": "checkbox-group",
+ "summaryTitle": "Mobile platforms"
+ },
+ {
+ "help": {
+ "linkTitle": "Which platforms to select?",
+ "title": "Which platforms to select?",
+ "content": "
Topcoder can create mobile applications for iOS, Android, or iOS and Android platforms.
"
+ },
+ "condition": "( (COMPREHENSIVE_DESIGN || HAS_DEV_DELIVERABLE) && ( details.appDefinition.targetDevices contains 'mobile' || details.appDefinition.targetDevices contains 'tablet' ))",
+ "fieldName": "details.appDefinition.mobilePlatforms",
+ "affectsQuickQuote": true,
+ "icon": "question",
+ "options": [
+ {
+ "description": "Your app would work on iOS phones. We will develop it using Objective-C and SWIFT",
+ "label": "iOS",
+ "value": "ios"
+ },
+ {
+ "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.",
+ "label": "Android",
+ "value": "android"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "title": "What mobile platform is required?",
+ "type": "checkbox-group",
+ "summaryTitle": "Mobile platforms"
+ },
+ {
+ "fieldName": "details.appDefinition.nativeHybrid",
+ "icon": "question",
+ "description": "",
+ "title": "Should your app use a native or hybrid framework?",
+ "type": "radio-group",
+ "summaryTitle": "App Type",
+ "validationError": "Please let us know the type of the app?",
+ "required": true,
+ "help": {
+ "linkTitle": "Which OS to select?",
+ "title": "Which OS to select?",
+ "content": "
Native operating systems are a SDK framework for building iOS and/or Android applications. Native applications typically have better performance if rich features such as video or audio are required.
Hybrid operating systems leverages a hybrid framework, such as Iconic, to build iOS and/or Android applications. Hybrid gives you the benefit of only having to maintain one code base for your application.
"
+ },
+ "condition": "( HAS_DEV_DELIVERABLE && ( details.appDefinition.mobilePlatforms contains 'ios' || details.appDefinition.mobilePlatforms contains 'android' ))",
+ "options": [
+ {
+ "description": "",
+ "label": "Native",
+ "value": "native"
+ },
+ {
+ "description": "",
+ "label": "Hybrid",
+ "value": "hybrid"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ },
+ {
+ "fieldName": "details.appDefinition.webBrowserBehaviour",
+ "icon": "question",
+ "description": "",
+ "title": "How should your app work in web browsers?",
+ "type": "radio-group",
+ "summaryTitle": "Web browser behaviour",
+ "validationError": "Please let us know the type of web app?",
+ "required": true,
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Responsive Web Applications are web apps that can be accessed from mobile, tablet, and/or desktop devices. You can choose custom layouts depending on device type.
Desktop Web Browser Applications come in one layout and are only accessed from desktop devices using common web browsers such as Chrome or Safari.
"
+ },
+ "condition": "( details.appDefinition.targetDevices contains 'web-browser' )",
+ "options": [
+ {
+ "description": "Your web application can be accessed from all common desktop, mobile and tablet web browsers and will be optimized for all screen sizes.",
+ "label": "I want a web app that is responsive to all device types, including desktop.",
+ "value": "responsive"
+ },
+ {
+ "description": "Your web application can be accessed from desktop devices on all common web browsers.",
+ "label": "I want a web app that is designed specifically for desktop use.",
+ "value": "desktop"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "target-devices-os",
+ "type": "questions"
+ },
+ {
+ "condition": "HAS_DESIGN_DELIVERABLE",
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.hasBrandGuidelines",
+ "icon": "question",
+ "description": "",
+ "title": "Do you have required style/brand guidelines?",
+ "type": "radio-group",
+ "summaryTitle": "Brand Guidelines",
+ "validationError": "Please let us know if you have style/brand guildlines?",
+ "required": true,
+ "help": {
+ "linkTitle": "Where to Share Style & Branding Guidelines",
+ "title": "Where to Share Style & Branding Guidelines",
+ "content": "
Once you complete this intake form, a project will be created inside Topcoder’s Connect platform. Please share any files or links indicating your style guide or branding guidelines inside the project.
"
+ },
+ "condition": "HAS_DESIGN_DELIVERABLE",
+ "options": [
+ {
+ "description": "",
+ "label": "Yes",
+ "value": "yes"
+ },
+ {
+ "description": "",
+ "label": "No",
+ "value": "no"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ },
+ {
+ "fieldName": "details.appDefinition.needSpecificFonts",
+ "icon": "question",
+ "description": "",
+ "title": "Are there particular fonts you want used?",
+ "type": "radio-group",
+ "summaryTitle": "Specific Fonts",
+ "validationError": "Please let us know if you need particular fonts?",
+ "required": true,
+ "help": {
+ "linkTitle": "Where to Share Font Preferences",
+ "title": "Where to Share Font Preferences",
+ "content": "
Once you complete this intake form, a project will be created inside Topcoder’s Connect platform. Please share any files or links indicating your font preferences inside the project.
Once you complete this intake form, a project will be created inside Topcoder’s Connect platform. Please share any files or links indicating your color/theme preferences inside the project.
All Topcoder projects engage a Challenge Manager, a member of the community who helps to set-up and execute work with the community.
Topcoder recommends including a Project Manager on projects where a high degree of technical complexity is anticipated, when multiple deliverables are needed, or when you are a new to Topcoder and need additional help navigating the crowdsourcing process. A Project Manager will provide additional oversight to your project.
"
+ },
+ "condition": "FALSY && !(CUSTOM_QUOTE)",
+ "options": [
+ {
+ "summaryLabel": "Project Manager + Challenge Manager",
+ "description": "Challenge managers will work with the Community on the execution of your deliverables. A Project Manager will be assigned to oversee the technical requirements and complexities of your project.",
+ "label": "Project Manager + Challenge Manager",
+ "value": "yes"
+ },
+ {
+ "summaryLabel": "Challenge Manager only",
+ "description": "You will partner directly with your Challenge Manager to align on the requirements for your project and they will work with the Community on the execution of your deliverables.",
+ "label": "Challenge Manager only",
+ "value": "no"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ },
+ {
+ "fieldName": "details.apiDefinition.notes",
+ "icon": "question",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)",
+ "title": "Notes",
+ "type": "textbox",
+ "summaryTitle": "Notes"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "tc-services-questions",
+ "type": "questions"
+ },
+ {
+ "condition": "!id",
+ "fieldName": "attachments",
+ "description": "",
+ "id": "files",
+ "title": "PLEASE upload any document that can help us in moving ahead with the project",
+ "type": "files"
+ },
+ {
+ "condition": "(CUSTOM_QUOTE)",
+ "fieldName": "details.appDefinition.message",
+ "hideTitle": true,
+ "description": "Topcoder will contact you shortly with a proposal on your project.",
+ "id": "customeQuote",
+ "title": "Message",
+ "type": "message"
+ }
+ ],
+ "description": "",
+ "wizard": {
+ "previousStepVisibility": "write",
+ "enabled": true
+ },
+ "id": "appDefinition",
+ "title": "App Definition",
+ "required": true
+ },
+ {
+ "subSections": [
+ {
+ "condition": "!(CUSTOM_QUOTE)",
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "static",
+ "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": "HAS_DESIGN_DELIVERABLE && !(CUSTOM_QUOTE)",
+ "fieldName": "details.appDefinition.addons.design",
+ "icon": "question",
+ "description": "Select any desired add-ons to your project. Please note that each add-on will incur a cost and has a delivery duration. Your project estimate will be updated to reflect the cost and duration of your base solution and add-ons. Additionally, you will receive a full breakdown on cost in the final project proposal from Topcoder.",
+ "theme": "light",
+ "title": "Design add-ons",
+ "type": "add-ons",
+ "category": "visual_design"
+ },
+ {
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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": "HAS_DEV_DELIVERABLE && !(CUSTOM_QUOTE)",
+ "fieldName": "details.appDefinition.addons.development",
+ "icon": "question",
+ "description": "Select any desired add-ons to your project. Please note that each add-on will incur a cost and has a delivery duration. Your project estimate will be updated to reflect the cost and duration of your base solution and add-ons. Additionally, you will receive a full breakdown on cost in the final project proposal from Topcoder.",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "title": "Development add-ons",
+ "type": "add-ons",
+ "category": "development"
+ },
+ {
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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": "HAS_DEPLOY_DELIVERABLE && !(CUSTOM_QUOTE)",
+ "fieldName": "details.appDefinition.addons.delivery",
+ "icon": "question",
+ "description": "Select any desired add-ons to your project. Please note that each add-on will incur a cost and has a delivery duration. Your project estimate will be updated to reflect the cost and duration of your base solution and add-ons. Additionally, you will receive a full breakdown on cost in the final project proposal from Topcoder.",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "title": "Delivery add-ons",
+ "type": "add-ons",
+ "category": "deployment"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized",
+ "enabled": true
+ },
+ "type": "questions"
+ }
+ ],
+ "wizard": {
+ "enabled": true
+ },
+ "id": "add-ons",
+ "title": "Configure my app"
+ },
+ {
+ "subSections": [
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "static",
+ "content": "
Your Project Estimate
"
+ }
+ ],
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "type": "portal",
+ "content": [
+ {
+ "sectionIndex": 2
+ },
+ {
+ "sectionIndex": 4
+ }
+ ]
+ },
+ {
+ "hideTitle": true,
+ "questions": [],
+ "type": "questions"
+ }
+ ],
+ "hiddenOnEdit": true,
+ "footer": {
+ "content": ""
+ },
+ "nextButtonText": "Save my project",
+ "id": "summary-final",
+ "hideFormHeader": true
+ }
+ ],
+ "baseTimeEstimateMax": 6,
+ "priceConfigOpt": null
+ },
+ "name": "Design, Development & Deployment",
+ "disabled": false,
+ "id": 222,
+ "category": "scoped-solutions",
+ "key": "app_new",
+ "phases": {
+ "1-dev-iteration-i": {
+ "duration": 25,
+ "name": "Dev Iteration",
+ "products": [
+ {
+ "id": 29,
+ "productKey": "development-iteration-5-milestones"
+ }
+ ]
+ }
+ },
+ "updatedAt": "2020-01-22T13:22:41.309Z",
+ "info": "Build apps for mobile or web"
+ },
+ {
+ "metadata": {},
+ "subCategory": null,
+ "aliases": [
+ "cs-app",
+ "cs_application_development"
+ ],
+ "updatedBy": 40051333,
+ "question": "What do you need to develop ?",
+ "hidden": true,
+ "icon": "product-app-app",
+ "priceConfig": null,
+ "deletedBy": null,
+ "planConfig": null,
+ "createdAt": "2018-12-03T06:55:28.000Z",
+ "deletedAt": null,
+ "form": null,
+ "createdBy": 40051333,
+ "scope": {
+ "sections": [
+ {
+ "subSections": [
+ {
+ "fieldName": "name",
+ "description": "",
+ "id": "projectName",
+ "title": "Project Name",
+ "type": "project-name-advanced",
+ "required": true,
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.primaryTarget",
+ "icon": "question",
+ "options": [
+ {
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "icon": "icon-tech-outline-mobile",
+ "title": "Phone",
+ "value": "phone",
+ "desc": "iOS, Android, Hybrid"
+ },
+ {
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "icon": "icon-tech-outline-tablet",
+ "title": "Tablet",
+ "value": "tablet",
+ "desc": "iOS, Android, Hybrid"
+ },
+ {
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "icon": "icon-tech-outline-desktop",
+ "title": "Desktop",
+ "value": "desktop",
+ "desc": "all OS"
+ },
+ {
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "icon": "icon-tech-outline-watch-apple",
+ "title": "Wearable",
+ "value": "wearable",
+ "desc": "Watch OS, Android Wear"
+ }
+ ],
+ "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.",
+ "title": "Which is your primary device target?",
+ "type": "tiled-radio-group",
+ "required": true,
+ "validationError": "Please let us know the target device"
+ },
+ {
+ "fieldName": "description",
+ "validationErrors": {
+ "isRequired": "Please provide a description",
+ "minLength": "Please enter at least 160 characters"
+ },
+ "description": "Brief Description",
+ "id": "projectInfo",
+ "validations": "isRequired,minLength:160",
+ "title": "Description",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.appDefinition.goal.value",
+ "icon": "question",
+ "description": "Describe your objectives for creating this application",
+ "title": "What is the goal of your application? How will people use it?",
+ "type": "textbox",
+ "required": true,
+ "validationError": "Please let us know the goal of your application"
+ },
+ {
+ "fieldName": "details.appDefinition.users.value",
+ "icon": "question",
+ "description": "Describe the roles and needs of your target users",
+ "title": "Who are the users of your application? ",
+ "type": "textbox",
+ "required": true,
+ "validationError": "Please let us know users of your application"
+ }
+ ],
+ "description": "",
+ "id": "questions",
+ "title": "Questions",
+ "type": "questions",
+ "required": true
+ },
+ {
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)",
+ "id": "notes",
+ "title": "Notes",
+ "type": "notes"
+ },
+ {
+ "hiddenOnCreation": true,
+ "fieldName": "attachments",
+ "description": "",
+ "id": "files",
+ "type": "files"
+ }
+ ],
+ "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.",
+ "id": "appDefinition",
+ "title": "Development Integration",
+ "required": true
+ }
+ ]
+ },
+ "name": "Mobile Application",
+ "disabled": false,
+ "id": 33,
+ "category": "app",
+ "key": "cs_application_development",
+ "phases": {
+ "2-front-end-development-i": {
+ "duration": 19,
+ "name": "Front-End Development, Pt. I",
+ "products": [
+ {
+ "id": 27,
+ "productKey": "development-iteration-3-milestones"
+ }
+ ]
+ },
+ "4-back-end-development-i": {
+ "duration": 19,
+ "name": "Back-End Development, Pt. I",
+ "products": [
+ {
+ "id": 27,
+ "productKey": "development-iteration-3-milestones"
+ }
+ ]
+ },
+ "3-front-end-development-ii": {
+ "duration": 19,
+ "name": "Front-End Development, Pt. II",
+ "products": [
+ {
+ "id": 27,
+ "productKey": "development-iteration-3-milestones"
+ }
+ ]
+ },
+ "5-back-end-development-ii": {
+ "duration": 19,
+ "name": "Back-End Development, Pt. II",
+ "products": [
+ {
+ "id": 27,
+ "productKey": "development-iteration-3-milestones"
+ }
+ ]
+ },
+ "1-app-design": {
+ "duration": 25,
+ "name": "App Design",
+ "products": [
+ {
+ "id": 26,
+ "productKey": "design-iteration-3-milestones"
+ }
+ ]
+ },
+ "6-qa-and-bug-fixes": {
+ "duration": 24,
+ "name": "QA & Bug Fixes",
+ "products": [
+ {
+ "id": 30,
+ "productKey": "qa-iteration"
+ }
+ ]
+ }
+ },
+ "updatedAt": "2020-01-22T13:22:41.311Z",
+ "info": "Build apps for mobile, web, or wearables"
+ },
+ {
+ "metadata": {},
+ "subCategory": null,
+ "aliases": [
+ "app-new",
+ "app_new"
+ ],
+ "updatedBy": 40051333,
+ "question": "What do you need to develop ?",
+ "hidden": true,
+ "icon": "product-app-app",
+ "priceConfig": null,
+ "deletedBy": null,
+ "planConfig": null,
+ "createdAt": "2019-01-24T12:21:47.000Z",
+ "deletedAt": null,
+ "form": null,
+ "createdBy": 40051333,
+ "scope": {
+ "basePriceEstimate": 5000,
+ "wizard": {
+ "previousStepVisibility": "readOnly",
+ "enabled": true
+ },
+ "baseTimeEstimateMin": 7,
+ "sections": [
+ {
+ "subSections": [
+ {
+ "description": "",
+ "id": "projectName",
+ "type": "project-name",
+ "title": "Project Name"
+ },
+ {
+ "questions": [
+ {
+ "layout": "horizontal",
+ "fieldName": "details.appDefinition.deliverables",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Design",
+ "value": "design"
+ },
+ {
+ "label": "Development",
+ "value": "dev-qa"
+ },
+ {
+ "label": "QA",
+ "value": "qa"
+ },
+ {
+ "label": "Deployment",
+ "value": "deployment"
+ }
+ ],
+ "description": "",
+ "title": "What do you need?",
+ "type": "checkbox-group"
+ },
+ {
+ "condition": "details.appDefinition.deliverables contains 'design' ",
+ "fieldName": "details.appDefinition.designGoal",
+ "icon": "question",
+ "options": [
+ {
+ "label": "I just need concept designs",
+ "value": "concept-designs"
+ },
+ {
+ "label": "I need a comprehensive design solution that can be used for development.",
+ "value": "comprehensive-designs"
+ }
+ ],
+ "description": "",
+ "title": "What is the goal of your designs?",
+ "type": "radio-group"
+ },
+ {
+ "condition": "( details.appDefinition.designGoal == 'concept-designs' )",
+ "fieldName": "details.appDefinition.quickTurnaround",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Yes, I need designs ASAP",
+ "value": "under-3-days"
+ },
+ {
+ "label": "A week works for me!",
+ "value": "under-6-days"
+ }
+ ],
+ "description": "",
+ "title": "No problem! We can get you high-quality concept designs within a week. Do you need designs faster than this?",
+ "type": "radio-group"
+ },
+ {
+ "layout": "horizontal",
+ "condition": "( details.appDefinition.deliverables contains 'design' || details.appDefinition.deliverables contains 'dev-qa' )",
+ "fieldName": "details.appDefinition.targetDevices",
+ "affectsQuickQuote": true,
+ "icon": "question",
+ "options": [
+ {
+ "minTimeUp": 5,
+ "icon": "icon-tech-outline-mobile",
+ "label": "Mobile",
+ "value": "mobile",
+ "quoteUp": 1000,
+ "maxTimeUp": 7,
+ "desc": "Mobiles"
+ },
+ {
+ "minTimeUp": 5,
+ "icon": "icon-tech-outline-tablet",
+ "label": "Tablet",
+ "value": "tablet",
+ "quoteUp": 1000,
+ "maxTimeUp": 7,
+ "desc": "Tablets"
+ },
+ {
+ "iconOptions": {
+ "fill": "#000000"
+ },
+ "icon": "icon-tech-outline-desktop",
+ "label": "Desktop",
+ "value": "desktop",
+ "desc": "Desktop Apps"
+ },
+ {
+ "iconOptions": {
+ "fill": "#000000"
+ },
+ "icon": "icon-tech-outline-desktop",
+ "label": "Web Browser",
+ "value": "web-browser",
+ "desc": "Web browser apps"
+ }
+ ],
+ "description": "Select maximum 2 types of platforms 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.",
+ "title": "Where should your app work?",
+ "type": "checkbox-group"
+ },
+ {
+ "condition": "( details.appDefinition.targetDevices contains 'mobile' ) || ( details.appDefinition.targetDevices contains 'tablet' )",
+ "fieldName": "details.appDefinition.mobilePlatforms",
+ "affectsQuickQuote": true,
+ "icon": "question",
+ "options": [
+ {
+ "minTimeUp": 5,
+ "icon": "icon-tech-outline-mobile",
+ "label": "iOS",
+ "value": "ios",
+ "quoteUp": 1000,
+ "maxTimeUp": 7,
+ "desc": "iOS Apps"
+ },
+ {
+ "iconOptions": {
+ "fill": "#000000"
+ },
+ "minTimeUp": 4,
+ "icon": "icon-tech-outline-mobile",
+ "label": "Android",
+ "value": "android",
+ "quoteUp": 800,
+ "maxTimeUp": 6,
+ "desc": "Android Apps"
+ }
+ ],
+ "description": "Select maximum 2 types of platforms 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.",
+ "title": "What type of platform do you need?",
+ "type": "checkbox-group"
+ },
+ {
+ "condition": "( details.appDefinition.mobilePlatforms contains 'ios' ) || ( details.appDefinition.mobilePlatforms contains 'android' )",
+ "fieldName": "details.appDefinition.nativeHybrid",
+ "icon": "question",
+ "options": [
+ {
+ "icon": "icon-tech-outline-mobile",
+ "title": "Native",
+ "value": "native",
+ "desc": "Native Apps"
+ },
+ {
+ "iconOptions": {
+ "fill": "#000000"
+ },
+ "icon": "icon-tech-outline-mobile",
+ "title": "Hybrid",
+ "value": "hybrid",
+ "desc": "Hybrid Apps"
+ }
+ ],
+ "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.",
+ "title": "Does your app need to be Native or Hybrid?",
+ "type": "tiled-radio-group"
+ },
+ {
+ "condition": "( details.appDefinition.targetDevices contains 'web-browser' )",
+ "fieldName": "details.appDefinition.progressiveResponsive",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Progressive",
+ "value": "progressive"
+ },
+ {
+ "label": "Responsive",
+ "value": "responsive"
+ }
+ ],
+ "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.",
+ "title": "Should your web app be progressive or responsive?",
+ "type": "radio-group"
+ },
+ {
+ "condition": "( (details.appDefinition.deliverables contains 'design') || (details.appDefinition.deliverables contains 'dev-qa') ) && (!( !( details.appDefinition.targetDevices hasLength 1 ) && details.appDefinition.progressiveResponsive == 'responsive'))",
+ "fieldName": "details.appDefinition.numberScreens",
+ "icon": "question",
+ "options": [
+ {
+ "iconOptions": {
+ "number": "2-4"
+ },
+ "price": 4218,
+ "icon": "NumberText",
+ "title": "screens (small)",
+ "value": "2-4",
+ "desc": "7-10 days"
+ },
+ {
+ "iconOptions": {
+ "number": "5-8"
+ },
+ "price": 2178,
+ "icon": "NumberText",
+ "title": "screens (medium)",
+ "value": "5-8",
+ "desc": "10-12 days"
+ },
+ {
+ "condition": "!(details.appDefinition.quickTurnaround == 'under-3-days')",
+ "iconOptions": {
+ "number": "9-15"
+ },
+ "price": 3415,
+ "icon": "NumberText",
+ "title": "screens (large)",
+ "value": "9-15",
+ "desc": "10-12 days"
+ }
+ ],
+ "description": "This is the most popular project size that can get a medium-sized app designed in a breeze",
+ "title": "How many screens do you need?",
+ "type": "tiled-radio-group",
+ "required": true,
+ "validationError": "Please let us know the number of screens required?"
+ },
+ {
+ "layout": "vertical",
+ "condition": "( details.appDefinition.deliverables contains 'qa' && details.appDefinition.deliverables hasLength 1 )",
+ "fieldName": "details.appDefinition.qaType",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Real World Unstructured Testing",
+ "value": "real-world-unstructured"
+ },
+ {
+ "label": "Real World Structured Testing",
+ "value": "real-world-structured"
+ },
+ {
+ "label": "Mobility Testing",
+ "value": "mobility-testing"
+ },
+ {
+ "label": "Automation Testing",
+ "value": "automated-testing"
+ },
+ {
+ "label": "Performance Testing",
+ "value": "performance-testing"
+ }
+ ],
+ "description": "",
+ "title": "What type of QA you need?",
+ "type": "radio-group"
+ },
+ {
+ "layout": "horizontal",
+ "condition": "details.appDefinition.qaType == 'real-world-structured'",
+ "fieldName": "details.appDefinition.structuredTestWorkType",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Test Case Creation",
+ "value": "test-case-creation"
+ },
+ {
+ "label": "Test Case Execution",
+ "value": "test-case-execution"
+ }
+ ],
+ "description": "",
+ "title": "What do you need us to help you with?",
+ "type": "checkbox-group"
+ },
+ {
+ "condition": "details.appDefinition.qaType == 'real-world-structured'",
+ "fieldName": "details.appDefinition.structuredTestsCount",
+ "icon": "question",
+ "options": [
+ {
+ "condition": "(details.appDefinition.structuredTestWorkType contains 'test-case-creation' && details.appDefinition.structuredTestWorkType hasLength 1)",
+ "label": "Up to 50 test cases",
+ "value": "upto-50"
+ },
+ {
+ "condition": "(details.appDefinition.structuredTestWorkType contains 'test-case-creation' && details.appDefinition.structuredTestWorkType hasLength 1)",
+ "label": "Up to 100 test cases",
+ "value": "upto-100"
+ },
+ {
+ "condition": "(details.appDefinition.structuredTestWorkType contains 'test-case-execution')",
+ "label": "Up to 150 test cases",
+ "value": "upto-150"
+ },
+ {
+ "condition": "(details.appDefinition.structuredTestWorkType contains 'test-case-execution')",
+ "label": "Up to 300 test cases",
+ "value": "upto-300"
+ }
+ ],
+ "description": "",
+ "title": "How many test cases do you need?",
+ "type": "radio-group"
+ },
+ {
+ "condition": "details.appDefinition.qaType == 'real-world-unstructured'",
+ "fieldName": "details.appDefinition.unstructuredTestsScreenCount",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Up to 10",
+ "value": "upto-10"
+ },
+ {
+ "label": "Up to 30",
+ "value": "upto-30"
+ }
+ ],
+ "description": "",
+ "title": "How many screens need to be tested?",
+ "type": "radio-group"
+ },
+ {
+ "condition": "details.appDefinition.qaType == 'automated-testing'",
+ "fieldName": "details.appDefinition.automatedTestsCount",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Up to 50 test cases",
+ "value": "upto-50"
+ },
+ {
+ "label": "Up to 100 test cases",
+ "value": "upto-100"
+ }
+ ],
+ "description": "",
+ "title": "How many test cases do you need?",
+ "type": "radio-group"
+ },
+ {
+ "layout": "horizontal",
+ "condition": "details.appDefinition.deliverables contains 'deployment'",
+ "fieldName": "details.appDefinition.deploymentTargets",
+ "icon": "question",
+ "options": [
+ {
+ "condition": "( details.appDefinition.mobilePlatforms contains 'ios' )",
+ "label": "Apple App Store",
+ "value": "apple-app-store"
+ },
+ {
+ "condition": "( details.appDefinition.mobilePlatforms contains 'android' )",
+ "label": "Google Play",
+ "value": "google-play"
+ },
+ {
+ "condition": "( details.appDefinition.targetDevices contains 'desktop' || details.appDefinition.targetDevices contains 'web-browser' )",
+ "label": "Internal Production Environment",
+ "value": "internal-production-environment"
+ }
+ ],
+ "description": "",
+ "title": "Where do you need your app deployed?",
+ "type": "checkbox-group"
+ },
+ {
+ "condition": "!( !( details.appDefinition.targetDevices hasLength 1 ) && details.appDefinition.progressiveResponsive == 'responsive')",
+ "fieldName": "details.appDefinition.caNeeded",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Yes (Managed)",
+ "value": "yes"
+ },
+ {
+ "label": "No (Unmanaged)",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "title": "Do you want a Community Architect to oversee your project?",
+ "type": "radio-group"
+ }
+ ],
+ "description": "",
+ "wizard": {
+ "previousStepVisibility": "readOnly",
+ "enabled": true
+ },
+ "id": "questions",
+ "type": "questions",
+ "title": "Requirements"
+ },
+ {
+ "condition": "( !( details.appDefinition.targetDevices hasLength 1 ) && details.appDefinition.progressiveResponsive == 'responsive')",
+ "fieldName": "details.appDefinition.message",
+ "hideTitle": true,
+ "description": "Wow! We love your idea. This is a very complex, technical solution. We will take a look at your project and contact you regarding next steps and a quote.",
+ "id": "customeQuote",
+ "title": "Message",
+ "type": "message"
+ }
+ ],
+ "description": "",
+ "wizard": {
+ "previousStepVisibility": "readOnly",
+ "enabled": true
+ },
+ "id": "appDefinition",
+ "title": "App Definition",
+ "required": true
+ }
+ ],
+ "baseTimeEstimateMax": 10
+ },
+ "name": "App",
+ "disabled": false,
+ "id": 87,
+ "category": "app",
+ "key": "app_new",
+ "phases": {
+ "2-front-end-development-i": {
+ "duration": 19,
+ "name": "Front-End Development, Pt. I",
+ "products": [
+ {
+ "id": 27,
+ "productKey": "development-iteration-3-milestones"
+ }
+ ]
+ },
+ "4-back-end-development-i": {
+ "duration": 19,
+ "name": "Back-End Development, Pt. I",
+ "products": [
+ {
+ "id": 27,
+ "productKey": "development-iteration-3-milestones"
+ }
+ ]
+ },
+ "3-front-end-development-ii": {
+ "duration": 19,
+ "name": "Front-End Development, Pt. II",
+ "products": [
+ {
+ "id": 27,
+ "productKey": "development-iteration-3-milestones"
+ }
+ ]
+ },
+ "5-back-end-development-ii": {
+ "duration": 19,
+ "name": "Back-End Development, Pt. II",
+ "products": [
+ {
+ "id": 27,
+ "productKey": "development-iteration-3-milestones"
+ }
+ ]
+ },
+ "1-app-design": {
+ "duration": 25,
+ "name": "App Design",
+ "products": [
+ {
+ "id": 26,
+ "productKey": "design-iteration-3-milestones"
+ }
+ ]
+ },
+ "6-qa-and-bug-fixes": {
+ "duration": 24,
+ "name": "QA & Bug Fixes",
+ "products": [
+ {
+ "id": 30,
+ "productKey": "qa-iteration"
+ }
+ ]
+ }
+ },
+ "updatedAt": "2020-01-22T13:22:41.311Z",
+ "info": "Build apps for mobile, web, or wearables"
+ },
+ {
+ "metadata": {},
+ "subCategory": null,
+ "aliases": [
+ "cs_enterprise_mobile",
+ "cs-enterprise-mobile"
+ ],
+ "updatedBy": 40051333,
+ "question": "What do you need to develop?",
+ "hidden": true,
+ "icon": "../../assets/icons/product-app-app.svg",
+ "priceConfig": null,
+ "deletedBy": null,
+ "planConfig": null,
+ "createdAt": "2018-12-03T06:52:22.000Z",
+ "deletedAt": null,
+ "form": null,
+ "createdBy": 40051333,
+ "scope": {
+ "sections": [
+ {
+ "subSections": [
+ {
+ "fieldName": "name",
+ "description": "",
+ "id": "projectName",
+ "title": "Project Name",
+ "type": "project-name-advanced",
+ "required": true,
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "description",
+ "validationErrors": {
+ "isRequired": "Please provide a description",
+ "minLength": "Please enter at least 160 characters"
+ },
+ "description": "Can you provide a brief summary of the application you’d like to develop?",
+ "id": "projectInfo",
+ "validations": "isRequired,minLength:160",
+ "title": "App Summary",
+ "type": "textbox",
+ "required": true
+ },
+ {
+ "fieldName": "details.appDefinition.appType",
+ "icon": "question",
+ "options": [
+ {
+ "label": "iOS App - An app built for iPhone or iPads",
+ "value": "ios"
+ },
+ {
+ "label": "Android App - An app built for mobile phones or tablets running Android.",
+ "value": "android"
+ },
+ {
+ "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": "hybrid"
+ },
+ {
+ "label": "Mobile Web App - An app that is accessed by using a mobile web browser like Safari or Chrome.",
+ "value": "web"
+ }
+ ],
+ "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. ",
+ "title": "App Type",
+ "type": "checkbox-group",
+ "required": true,
+ "validationError": "Please let us know the target 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"
+ },
+ {
+ "fieldName": "details.appDefinition.formFactor",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Mobile Phone - Portrait",
+ "value": "mobile-phone-portrait"
+ },
+ {
+ "label": "Mobile Phone - Landscape",
+ "value": "mobile-phone-landscape"
+ },
+ {
+ "label": "Tablet Device - Portrait",
+ "value": "tablet-device-portrait"
+ },
+ {
+ "label": "Tablet Device - Landscape",
+ "value": "tablet-device-landscape"
+ }
+ ],
+ "description": "Please select each for each form factor/orientation that must be supported.",
+ "title": "Form Factor/Orientation",
+ "type": "checkbox-group"
+ }
+ ],
+ "description": "",
+ "id": "user",
+ "title": "Questions",
+ "type": "questions",
+ "required": true
+ },
+ {
+ "hideTitle": false,
+ "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"
+ }
+ ],
+ "description": "",
+ "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”",
+ "type": "questions",
+ "required": false
+ },
+ {
+ "hideTitle": false,
+ "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"
+ }
+ ],
+ "description": "Please select each for each user type/role. Please provide details on what the user/role should do in the Description column.",
+ "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",
+ "required": false
+ },
+ {
+ "hideTitle": false,
+ "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"
+ }
+ ],
+ "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.",
+ "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.",
+ "type": "questions",
+ "required": false
+ },
+ {
+ "hideTitle": false,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.screens",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Enterprise Login - Supports integration with an existing authorization/authentication mechanism.",
+ "value": "enterprise-login"
+ },
+ {
+ "label": "Email Login - Support sign in using an email address/password.",
+ "value": "email-login"
+ },
+ {
+ "label": "Social Login - Support register and login using third-party services such as Facebook, Twitter, and Google.",
+ "value": "social-login"
+ },
+ {
+ "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": "registration"
+ },
+ {
+ "label": "Invitations - Allow users to invite others to use your app via email. ",
+ "value": "invitations"
+ },
+ {
+ "label": "Introductions - Present your app and inform users of core functionality using a series of introductory screens before they sign up.",
+ "value": "introductions"
+ },
+ {
+ "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": "onboarding"
+ },
+ {
+ "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": "search"
+ },
+ {
+ "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": "location-based-services"
+ },
+ {
+ "label": "Camera (Audio & Video) - Add this feature if your app will require using the camera to capture audio or video.",
+ "value": "camera"
+ },
+ {
+ "label": "File Upload - Allow users to upload photos or other files.",
+ "value": "file-upload"
+ },
+ {
+ "label": "Notifications - Take advantage of notifications; for example, remind users to do certain tasks or update them on new content.",
+ "value": "notifications"
+ },
+ {
+ "label": "Dashboard - App must have a central dashboard where users can access functionality",
+ "value": "dashboard"
+ },
+ {
+ "label": "Tagging - Allow users to tag products, people or content; for example, in order to classify and easily retrieve notes.",
+ "value": "tagging"
+ },
+ {
+ "label": "Account Settings - Allow your users to adjust settings or specify preferences, such as communication frequency.",
+ "value": "account-settings"
+ },
+ {
+ "label": "Help/FAQs - Include a section dedicated to FAQ or Help content.",
+ "value": "help-faws"
+ },
+ {
+ "label": "Marketplace - Allow users to buy, sell, or rent products or services.",
+ "value": "marketplace"
+ },
+ {
+ "label": "Ratings & Reviews - Let users rate or review people, products, or services.",
+ "value": "ratings-reviews"
+ },
+ {
+ "label": "Payments - Allow users to pay in some way; for example, using credit cards, PayPal, or Bitcoin.",
+ "value": "payments"
+ },
+ {
+ "label": "Shopping Cart - Allow users to save items before purchasing. Please specify your desired functionality below.",
+ "value": "shopping-cart"
+ },
+ {
+ "label": "Product Listing - Add this feature to shows lists of product or services, with individual detail pages for each one.",
+ "value": "product-listing"
+ },
+ {
+ "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": "activity-feed"
+ },
+ {
+ "label": "Profiles - Add this feature if your app requires users to have a profile, including the ability to edit it.",
+ "value": "profiles"
+ },
+ {
+ "label": "Messaging - Allow direct communication between two or more users.",
+ "value": "messaging"
+ },
+ {
+ "label": "Admin Tool - App must have an administrative tool or panel to enable direct management of users, content and the application.",
+ "value": "admin-tool"
+ },
+ {
+ "label": "Social Media Integration - App must integrate with social media providers (Facebook, Instagram, Twitter, Google+, etc)",
+ "value": "social-media-integration"
+ },
+ {
+ "label": "Reporting - App must have the ability to report/export data",
+ "value": "reporting"
+ },
+ {
+ "label": "Contact Us - App must have the ability to allow users to contact an administrator/send feedback to administrators.",
+ "value": "contact-us"
+ },
+ {
+ "label": "3D Touch - If this is an iOS App -- should the designers make use of 3D Touch?",
+ "value": "3d-touch"
+ }
+ ],
+ "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. ",
+ "title": "Screen / Feature List",
+ "type": "checkbox-group"
+ },
+ {
+ "fieldName": "details.appDefinition.techFeatures",
+ "icon": "question",
+ "options": [
+ {
+ "label": "SSO Integration - App must integrate with enterprise single-sign-on capability.",
+ "value": "enterprise-login"
+ },
+ {
+ "label": "API Integration - App must integrate with a pre-existing API.",
+ "value": "api-integration"
+ },
+ {
+ "label": "Third Party System Integration - App must integrate with an external application or system and either retrieve or post data.",
+ "value": "third-party-system-integration"
+ },
+ {
+ "label": "Containerized Code - The codebase must be containerized via Docker to allow for easier deployment and maintenance.",
+ "value": "containerized-code"
+ },
+ {
+ "label": "Unit Tests - App must have unit tests to ensure code coverage.",
+ "value": "unit-tests"
+ },
+ {
+ "label": "Continuous Integration / Continuous Deployment - Establishment of a CI/CD pipeline.",
+ "value": "continuous-integration-/-continuous-deployment"
+ },
+ {
+ "label": "Analytics Implementation - Implementation of analytics to track user behavior and app usage.",
+ "value": "analytics-implementation"
+ },
+ {
+ "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": "email-(smtp-server)-setup"
+ },
+ {
+ "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": "offline-capability"
+ },
+ {
+ "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": "camera"
+ },
+ {
+ "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": "apple-app-store-&-google-play-submission-support"
+ },
+ {
+ "label": "SMS Gateway Integration - App must integrate with an external SMS gateway/provider for notifications via SMS.",
+ "value": "sms-gateway-integration"
+ },
+ {
+ "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": "error-logging"
+ },
+ {
+ "label": "Face ID / Touch ID -- If this is an iOS App -- should we support Face ID/Touch ID for login",
+ "value": "faceid-touchid"
+ }
+ ],
+ "description": "Please select each required technology requirement above",
+ "title": "Technology Requirements",
+ "type": "checkbox-group"
+ }
+ ],
+ "description": "",
+ "id": "screen-features",
+ "title": "Screen and Features",
+ "type": "questions",
+ "required": false
+ },
+ {
+ "hideTitle": false,
+ "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"
+ }
+ ],
+ "description": "Do you have a preferred technology stack? If yes, please list those requirements here:",
+ "id": "techStack",
+ "title": "Technology Stack - Do you have a preferred technology stack? If yes, please list those requirements here:",
+ "type": "questions",
+ "required": false
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.qaTesting.security",
+ "options": [
+ {
+ "label": "Standard Security - Select this option if your app requires standard security.",
+ "value": "standard"
+ },
+ {
+ "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": "enterprise"
+ },
+ {
+ "label": "Vulnerability Scanning - Vulnerability scanning is a security technique used to identify security weaknesses in a computer system.",
+ "value": "vulnerability"
+ },
+ {
+ "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": "auditing"
+ },
+ {
+ "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": "confidential"
+ },
+ {
+ "label": "Mobile Device Management (MDM) - Do you employ an MDM solution? If yes, what service do you use?",
+ "value": "mdm"
+ }
+ ],
+ "description": "Please select each required security requirement above.",
+ "title": "Security Requirements",
+ "type": "checkbox-group"
+ },
+ {
+ "fieldName": "details.qaTesting.testing",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Real World Unstructured - Functional testing performed without test scripts. Users search on their own for bugs or usability issues.",
+ "value": "rw-unstructured"
+ },
+ {
+ "label": "Real World Testing - Structured - Test case based execution, covering all the functional requirements & cross-browser device testing.",
+ "value": "rw-structured"
+ },
+ {
+ "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": "testcases"
+ },
+ {
+ "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": "certification"
+ },
+ {
+ "label": "Mobile Device Lab on Hire - Allows you to remotely access devices in real cell networks across the world",
+ "value": "devicelab"
+ },
+ {
+ "label": "Performance Testing - Testing web application’s robustness, availability, and reliability for defined business scenarios and concurrent users.",
+ "value": "performanceTuning"
+ },
+ {
+ "label": "Performance Tuning - Analyze and identify performance issues, actionable items for improvement.",
+ "value": "performanceTesting"
+ }
+ ],
+ "description": "Please select each for each required QA requirement.",
+ "title": "Quality Assurance, Test Data & Performance Testing",
+ "type": "checkbox-group"
+ },
+ {
+ "fieldName": "details.qaTesting.users",
+ "icon": "question",
+ "title": "How many users do you intend to support?",
+ "type": "textbox",
+ "required": false
+ },
+ {
+ "fieldName": "details.qaTesting.data",
+ "icon": "question",
+ "options": [
+ {
+ "title": "We will provide obfuscated data",
+ "value": "create"
+ },
+ {
+ "title": "Topcoder will create data",
+ "value": "provide"
+ }
+ ],
+ "title": "Do you intend to supply test data or should Topcoder create it?",
+ "type": "slide-radiogroup",
+ "required": false
+ },
+ {
+ "fieldName": "details.qaTesting.uat",
+ "icon": "question",
+ "options": [
+ {
+ "label": "1 UAT/Beta Test Cycle.",
+ "value": "uat"
+ },
+ {
+ "label": "Implementation of Updates (update the app based on UAT/Beta Testing feedback)",
+ "value": "uat-updates"
+ }
+ ],
+ "description": "UAT is the process of sharing the final application with users and gathering feedback. Please select each required UAT requirement.",
+ "title": "User Acceptance / Beta Testing",
+ "type": "checkbox-group"
+ }
+ ],
+ "description": "",
+ "title": "Quality Assurance, Testing and Security",
+ "type": "questions"
+ },
+ {
+ "hideTitle": false,
+ "questions": [
+ {
+ "fieldName": "details.loadDetails.budget",
+ "icon": "question",
+ "options": [
+ {
+ "title": "Under $25K ",
+ "value": "upto-25"
+ },
+ {
+ "title": "$25K to $50K",
+ "value": "upto-50"
+ },
+ {
+ "title": "$50K to $75K",
+ "value": "upto-75"
+ },
+ {
+ "title": "$75K to $100K",
+ "value": "upto-100"
+ },
+ {
+ "title": "More than $100K",
+ "value": "above-100"
+ }
+ ],
+ "description": "How much budget do you have?",
+ "title": "Budget",
+ "type": "slide-radiogroup",
+ "required": true,
+ "validationError": "Please provide expected hours of execution"
+ },
+ {
+ "fieldName": "details.loadDetails.timeline",
+ "icon": "question",
+ "options": [
+ {
+ "title": "Under 1 month",
+ "value": "upto-1month"
+ },
+ {
+ "title": "1 to 2 months",
+ "value": "upto-2months"
+ },
+ {
+ "title": "2 to 3 months",
+ "value": "upto-3months"
+ },
+ {
+ "title": "3 to 6 months",
+ "value": "upto-6months"
+ }
+ ],
+ "description": "When do you need your app by?",
+ "title": "Timeline",
+ "type": "slide-radiogroup",
+ "required": true,
+ "validationError": "Please provide expected hours of execution"
+ }
+ ],
+ "description": "",
+ "title": "Budget and Timeline",
+ "type": "questions"
+ },
+ {
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)",
+ "id": "notes",
+ "title": "Notes",
+ "type": "notes"
+ }
+ ],
+ "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.",
+ "id": "appDefinition",
+ "title": "Enterprise Mobile",
+ "required": true
+ }
+ ]
+ },
+ "name": "Enterprise Mobile",
+ "disabled": false,
+ "id": 32,
+ "category": "app",
+ "key": "cs_enterprise_mobile",
+ "phases": {
+ "enterprise_mobile": {
+ "duration": 10,
+ "name": "Enterprise Mobile",
+ "products": [
+ {
+ "id": 6,
+ "productKey": "enterprise_mobile"
+ }
+ ]
+ }
+ },
+ "updatedAt": "2020-01-22T13:22:41.310Z",
+ "info": "Enterprise Mobile"
+ },
+ {
+ "metadata": {},
+ "subCategory": null,
+ "aliases": [
+ "kubik-unstructured-testing"
+ ],
+ "updatedBy": 40051333,
+ "question": "What kind of quality assurance (QA) do you need?",
+ "hidden": true,
+ "icon": "product-qa-crowd-testing",
+ "priceConfig": null,
+ "deletedBy": null,
+ "planConfig": null,
+ "createdAt": "2019-04-25T11:14:35.000Z",
+ "deletedAt": null,
+ "form": null,
+ "createdBy": 40051333,
+ "scope": {
+ "sections": [
+ {
+ "subSections": [
+ {
+ "fieldName": "name",
+ "description": "",
+ "id": "projectName",
+ "title": "Project Name",
+ "type": "project-name",
+ "required": true,
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "questions": [
+ {
+ "fieldName": "details.businessUnit",
+ "description": "Business Unit or Group function (e.g. ZNA, UK, GF&SU, COMMERCIAL INSURANCE,…)",
+ "validations": "isRequired",
+ "title": "BU",
+ "type": "textinput",
+ "validationError": "Mandatory field",
+ "required": true
+ },
+ {
+ "fieldName": "details.costCentre",
+ "validations": "isRequired",
+ "title": "Cost Centre",
+ "type": "textinput",
+ "validationError": "Mandatory field",
+ "required": true
+ }
+ ],
+ "id": "questions",
+ "title": "Business Unit & Cost Center",
+ "type": "questions",
+ "required": true
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "description",
+ "validationErrors": {
+ "isRequired": "Please provide a description",
+ "minLength": "Please enter at least 160 characters"
+ },
+ "description": "Please describe the testing application (background) and objectives of this test cycle. Please describe the users of this application and any other details that will help us understand your project.",
+ "id": "projectInfo",
+ "validations": "isRequired,minLength:160",
+ "title": "Project Overview",
+ "type": "textbox",
+ "required": true
+ }
+ ],
+ "description": "",
+ "id": "user",
+ "title": "Questions",
+ "type": "questions",
+ "required": true
+ },
+ {
+ "hideTitle": false,
+ "questions": [
+ {
+ "fieldName": "details.testingDetails.isLive",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "yest"
+ },
+ {
+ "label": "No",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "title": "Is this a live application (online/production)?",
+ "type": "radio-group",
+ "required": true,
+ "validationError": "Please let us know if this is a live application."
+ },
+ {
+ "fieldName": "details.testingDetails.createAccount",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "yes"
+ },
+ {
+ "label": "No",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "title": "Do users need to create accounts for testing (vs. you providing test accounts)? ",
+ "type": "radio-group",
+ "required": true
+ },
+ {
+ "fieldName": "details.testingDetails.requiresDomainKnowledge",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "yes"
+ },
+ {
+ "label": "No",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "title": "Is domain knowledge required?",
+ "type": "radio-group",
+ "required": true
+ },
+ {
+ "condition": "details.testingDetails.requiresDomainKnowledge == 'yes'",
+ "fieldName": "details.testingDetails.domainKnowledge",
+ "title": "Domain Knowledge",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.testingDetails.isEndCustomerFacing",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "yes"
+ },
+ {
+ "label": "No",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "title": "Is this an end customer facing application?",
+ "type": "radio-group",
+ "required": true
+ },
+ {
+ "condition": "details.testingDetails.isEndCustomerFacing == 'yes'",
+ "fieldName": "details.testingDetails.endCustomerFacingDetails",
+ "title": "Customer facing application details",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.testingDetails.isGeographyTarget",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "yes"
+ },
+ {
+ "label": "No",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "title": "Should testing target a specific geography?",
+ "type": "radio-group",
+ "required": true
+ },
+ {
+ "condition": "details.testingDetails.isGeographyTarget == 'yes'",
+ "fieldName": "details.testingDetails.targetGeographyDetails",
+ "title": "Target geography details",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.testingDetails.requiresTestingRights",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "yes"
+ },
+ {
+ "label": "No",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "title": "Does this testing effort require specific application testing rights?",
+ "type": "radio-group",
+ "required": true
+ },
+ {
+ "condition": "details.testingDetails.requiresTestingRights == 'yes'",
+ "fieldName": "details.testingDetails.testingRights",
+ "title": "Specific application testing rights",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.unstructuredTestingDetails.screenCount",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Up to 10 screens",
+ "value": "upto-10"
+ },
+ {
+ "label": "Up to 30 screens",
+ "value": "upto-30"
+ },
+ {
+ "label": "More than 30",
+ "value": "above-30"
+ }
+ ],
+ "description": "If you require more than 30 screens tested, enter your estimated number of screens in the Notes section prior to submitting your form.",
+ "title": "How many screens will be tested?",
+ "type": "checkbox-group",
+ "required": true,
+ "validationError": "Please let us know the expected number of screens to be tested."
+ },
+ {
+ "fieldName": "details.unstructuredTestingDetails.targetDevices",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Mobile Phones",
+ "value": "mobile"
+ },
+ {
+ "label": "Tablet",
+ "value": "tablet"
+ },
+ {
+ "label": "Desktop",
+ "value": "desktop"
+ },
+ {
+ "label": "Web Browser",
+ "value": "web-browser"
+ }
+ ],
+ "description": "",
+ "title": "Where are we testing?",
+ "type": "checkbox-group",
+ "required": true,
+ "validationError": "Please let us know the devices where we need to test."
+ }
+ ],
+ "description": "",
+ "id": "application-information",
+ "title": "Application Information",
+ "type": "questions",
+ "required": false
+ },
+ {
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g. links to documents or existing applications)",
+ "id": "notes",
+ "title": "Notes",
+ "type": "notes"
+ },
+ {
+ "hiddenOnCreation": true,
+ "fieldName": "attachments",
+ "description": "",
+ "id": "files",
+ "title": "Files",
+ "type": "files",
+ "required": false
+ }
+ ],
+ "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.",
+ "id": "appDefinition",
+ "title": "Unstructured Testing",
+ "required": true
+ }
+ ]
+ },
+ "name": "Unstructured Testing",
+ "disabled": false,
+ "id": 115,
+ "category": "quality_assurance",
+ "key": "kubik_unstructured_testing",
+ "phases": {
+ "1-qa-and-bug-fixes": {
+ "duration": 24,
+ "name": "QA/Testing",
+ "products": [
+ {
+ "id": 30,
+ "productKey": "qa-iteration"
+ }
+ ]
+ }
+ },
+ "updatedAt": "2020-01-22T13:22:41.359Z",
+ "info": "Exploratory Testing, Cross browser-device Testing"
+ },
+ {
+ "metadata": {},
+ "subCategory": null,
+ "aliases": [
+ "real-world-testing",
+ "real_world_testing"
+ ],
+ "updatedBy": 40051333,
+ "question": "What kind of quality assurance (QA) do you need?",
+ "hidden": false,
+ "icon": "product-qa-crowd-testing",
+ "priceConfig": null,
+ "deletedBy": null,
+ "planConfig": null,
+ "createdAt": "2018-12-07T10:12:50.000Z",
+ "deletedAt": null,
+ "form": null,
+ "createdBy": 40051333,
+ "scope": {
+ "sections": [
+ {
+ "subSections": [
+ {
+ "fieldName": "name",
+ "description": "",
+ "id": "projectName",
+ "title": "Project Name",
+ "type": "project-name",
+ "required": true,
+ "validationError": "Please provide a name to your project"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.testType",
+ "icon": "question",
+ "options": [
+ {
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "icon": "icon-test-unstructured",
+ "title": "Unstructured",
+ "value": "unstructured",
+ "desc": ""
+ },
+ {
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "icon": "icon-test-structured",
+ "title": "Structured",
+ "value": "structured",
+ "desc": ""
+ },
+ {
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "icon": "icon-dont-know",
+ "title": "Do not know",
+ "value": "dontKnow",
+ "desc": ""
+ }
+ ],
+ "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.",
+ "title": "What kind of crowd testing are you interested in?",
+ "type": "tiled-radio-group",
+ "required": true,
+ "validationError": "Please let us know what kind of testing you would like to execute"
+ },
+ {
+ "fieldName": "details.appDefinition.expectedHours",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Yes I have test cases.",
+ "value": "true"
+ },
+ {
+ "label": "No I do not have test cases.",
+ "value": "false"
+ }
+ ],
+ "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!",
+ "title": "Do you have test cases written?",
+ "type": "radio-group",
+ "required": true,
+ "validationError": "Please let us know if you have test cases."
+ },
+ {
+ "fieldName": "description",
+ "icon": "question",
+ "validationErrors": {
+ "isRequired": "Please provide a description",
+ "minLength": "Please enter at least 160 characters"
+ },
+ "description": "Brief Description",
+ "validations": "isRequired,minLength:160",
+ "id": "projectInfo",
+ "title": "Description",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.appDefinition.userInfo",
+ "icon": "question",
+ "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.",
+ "title": "Please tell us about your users.",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.appDefinition.primaryTarget",
+ "icon": "question",
+ "options": [
+ {
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "icon": "icon-tech-outline-mobile",
+ "title": "Phone",
+ "value": "phone",
+ "desc": "iOS, Android, Hybrid"
+ },
+ {
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "icon": "icon-tech-outline-tablet",
+ "title": "Tablet",
+ "value": "tablet",
+ "desc": "iOS, Android, Hybrid"
+ },
+ {
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "icon": "icon-tech-outline-desktop",
+ "title": "Desktop",
+ "value": "desktop",
+ "desc": "all OS"
+ },
+ {
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "icon": "icon-tech-outline-watch-apple",
+ "title": "Wearable",
+ "value": "wearable",
+ "desc": "Watch OS, Android Wear"
+ }
+ ],
+ "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.",
+ "title": "Which is your primary device target?",
+ "type": "tiled-radio-group"
+ }
+ ],
+ "description": "",
+ "id": "questions",
+ "title": "Questions",
+ "type": "questions",
+ "required": true
+ },
+ {
+ "fieldName": "details.appDefinition.notes",
+ "description": "Please enter any additional information like requirements and/or test cases. After creating your project you will be able to upload files.",
+ "id": "notes",
+ "title": "Notes",
+ "type": "notes"
+ }
+ ],
+ "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.",
+ "id": "appDefinition",
+ "title": "Real World Testingx",
+ "required": true
+ }
+ ]
+ },
+ "name": "Real World Testing",
+ "disabled": false,
+ "id": 38,
+ "category": "quality_assurance",
+ "key": "real_world_testing",
+ "phases": {
+ "1-qa-iteration-i": {
+ "duration": 24,
+ "name": "QA Phase",
+ "products": [
+ {
+ "id": 30,
+ "productKey": "qa-iteration"
+ }
+ ]
+ }
+ },
+ "updatedAt": "2020-01-22T13:22:41.360Z",
+ "info": "Exploratory Testing, Cross browser-device Testing"
+ },
+ {
+ "metadata": {},
+ "subCategory": null,
+ "aliases": [
+ "talent-as-a-service-v1.0",
+ "talent_as_a_service-v1.0"
+ ],
+ "updatedBy": 40051333,
+ "question": "What type of talent you are looking for?",
+ "hidden": true,
+ "icon": "talent-as-a-service",
+ "priceConfig": null,
+ "deletedBy": null,
+ "planConfig": null,
+ "createdAt": "2019-06-18T07:28:39.000Z",
+ "deletedAt": null,
+ "form": null,
+ "createdBy": 40051333,
+ "scope": {
+ "addonPriceConfig": {},
+ "basePriceEstimate": 0,
+ "priceConfig": {},
+ "hidePrice": true,
+ "sections": [
+ {
+ "subSections": [
+ {
+ "questions": [
+ {
+ "userPermissionCondition": {
+ "allowRule": {
+ "topcoderRoles": [
+ "administrator",
+ "Connect Administrator",
+ "Connect Copilot",
+ "Connect Manager",
+ "Connect Account Manager",
+ "Connect Copilot Manager"
+ ]
+ }
+ },
+ "fieldName": "details.intakePurpose",
+ "icon": "question",
+ "options": [
+ {
+ "summaryLabel": "Client Request",
+ "label": "Submitting Client Request",
+ "value": "client-request"
+ },
+ {
+ "summaryLabel": "Internal Project",
+ "label": "Internal Project",
+ "value": "internal-project"
+ },
+ {
+ "summaryLabel": "Demo/Test/Other",
+ "label": "Demo/Test/Other",
+ "value": "demo-test-other"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "Why are you creating this intake?",
+ "type": "radio-group",
+ "summaryTitle": "Intake purpose",
+ "validationError": "Please, choose you intake purpose.",
+ "required": true
+ },
+ {
+ "userPermissionCondition": {
+ "denyRule": {
+ "topcoderRoles": [
+ "administrator",
+ "Connect Administrator",
+ "Connect Copilot",
+ "Connect Manager",
+ "Connect Account Manager",
+ "Connect Copilot Manager"
+ ]
+ },
+ "allowRule": {
+ "topcoderRoles": [
+ "Topcoder User"
+ ]
+ }
+ },
+ "fieldName": "details.intakePurpose",
+ "icon": "question",
+ "options": [
+ {
+ "summaryLabel": "Work done",
+ "label": "I need work done",
+ "value": "work-done"
+ },
+ {
+ "summaryLabel": "Exploring options",
+ "label": "I am just exploring my options",
+ "value": "exploring-options"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "Why are you creating this intake?",
+ "type": "radio-group",
+ "summaryTitle": "Intake purpose",
+ "validationError": "Please, choose the purpose of this project.",
+ "required": true
+ }
+ ],
+ "title": "",
+ "type": "questions"
+ }
+ ],
+ "hiddenOnEdit": true,
+ "statusText": "",
+ "id": "before-start",
+ "title": "Before we start"
+ },
+ {
+ "subSections": [
+ {
+ "hideTitle": true,
+ "description": "We are excited to help you get started. All of Topcoder's offerings, pricing and timeline estimates are built on our 15 years of experience and thousands of projects. While we are determining the initial scope here, Topcoder will send a final proposal after our review of your needs.",
+ "theme": "light",
+ "type": "message"
+ },
+ {
+ "questions": [
+ {
+ "fieldName": "name",
+ "theme": "light",
+ "validations": "isRequired",
+ "type": "textinput",
+ "title": "Name your talent pool.",
+ "validationError": "Please, provide a name to your project",
+ "required": true
+ },
+ {
+ "fieldName": "details.utm.code",
+ "theme": "light",
+ "type": "textinput",
+ "title": "Do you have a Reference code? (optional)"
+ }
+ ],
+ "title": "App details",
+ "type": "questions"
+ }
+ ],
+ "statusText": "Let's go",
+ "id": "project-basic-details",
+ "title": "Basic Details"
+ },
+ {
+ "subSections": [
+ {
+ "questions": [
+ {
+ "hiddenOnEdit": true,
+ "type": "static",
+ "content": "
"
+ },
+ {
+ "help": {
+ "linkTitle": "What is right for me?",
+ "title": "What is right for me?",
+ "content": "
Structured testing is used to deliver our Regression Testing and End-User Acceptance/Beta Testing solutions.
Unstructured testing is used to deliver our Compatibility Testing, Exploratory Testing, Accessibility Testing, Localization/Language Testing, Functional/Feature Testing, and User Sentiment Analysis solutions. Unstructured testing does not use pre-defined test scripts -- this is true “in-the-wild” testing that can provide many forms of feedback on your application.
Regression Automation test suites can be created by Topcoder using tools like Selenium.
Automation Test Suites can be created by Topcoder using tools like Selenium, starting at up to 50 test cases.
Performance Testing by Topcoder will allow you to test several key functions of your application at scale with hundreds of virtual users. Reporting will be provided with specific recommendations to address any performance issues.
Mobility Testing can target up to 5 devices using our community of QA experts.
"
+ },
+ "fieldName": "details.appDefinition.qaType",
+ "icon": "question",
+ "options": [
+ {
+ "queryParamSelectCondition": "qaType == 'regression'",
+ "description": "Validate business-critical workflows in a structured manner",
+ "label": "Regression Testing",
+ "value": "regression-testing"
+ },
+ {
+ "queryParamSelectCondition": "qaType == 'end-user-acceptance-testing'",
+ "summaryLabel": "Acceptance Testing",
+ "description": "Expand risk coverage and generate end-user feedback early in the life cycle",
+ "label": "End-User Acceptance Testing/Beta Testing ",
+ "value": "end-user-acceptance-testing"
+ },
+ {
+ "queryParamSelectCondition": "qaType == 'compatibility-testing'",
+ "description": "Cross-browser, device testing including network, geographical coverage to assure app launch success",
+ "label": "Compatibility Testing",
+ "value": "compatibility-testing"
+ },
+ {
+ "queryParamSelectCondition": "qaType == 'exploratory-testing'",
+ "description": "Validate functionality and usability of web and mobile apps in-the-wild with real-life users",
+ "label": "Exploratory Testing",
+ "value": "exploratory-testing"
+ },
+ {
+ "queryParamSelectCondition": "qaType == 'accessibility-compliance'",
+ "description": "WCAG 2.1 standards-based usability testing and verification to confirm and guide to compliance",
+ "label": "Accessibility Testing",
+ "value": "accessibility-testing"
+ },
+ {
+ "queryParamSelectCondition": "qaType == 'localization-testing'",
+ "description": "Validate the product (UI, Content) built for a particular culture or locale settings",
+ "label": "Localization/Language Testing",
+ "value": "localization-testing"
+ },
+ {
+ "queryParamSelectCondition": "qaType == 'functional-feature-testing'",
+ "description": "Testing features in an agile environment to speed-up design and execution activities",
+ "label": "Functional/Feature Testing",
+ "value": "functional-testing"
+ },
+ {
+ "queryParamSelectCondition": "qaType == 'sentiment-analysis'",
+ "description": "Compare applications with competitor products in the market to derive improvement actions",
+ "label": "User Sentiment Analysis",
+ "value": "sentiment-analysis"
+ },
+ {
+ "queryParamSelectCondition": "qaType == 'regression-automation'",
+ "description": "Build reusable test scripts and frameworks using open source tools to accelerate app delivery & improve ROI",
+ "label": "Regression Automation",
+ "value": "regression-automation"
+ },
+ {
+ "queryParamSelectCondition": "qaType == 'performance-improvement'",
+ "description": "Test responsiveness and stability of web and mobile applications under specific workloads",
+ "label": "Performance Testing",
+ "value": "performance-testing"
+ },
+ {
+ "queryParamSelectCondition": "qaType == 'mobile-app-certification'",
+ "description": "Execute functional & non-functional tests including device compatibility certification & competitive analysis",
+ "label": "Mobile App Certification",
+ "value": "mobile-app-certifcation"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "What type of QA you need?",
+ "type": "radio-group",
+ "summaryTitle": "QA Service",
+ "validationError": "Please, choose what do you need.",
+ "required": true
+ },
+ {
+ "fieldName": "details.appDefinition.structuredTestWorkType",
+ "icon": "question",
+ "description": "",
+ "title": "What do you need us to help you with?",
+ "type": "checkbox-group",
+ "summaryTitle": "Work Required",
+ "validationError": "Please, choose what do you need us to help with.",
+ "required": true,
+ "help": {
+ "linkTitle": "What is right for me?",
+ "title": "What is right for me?",
+ "content": "
Test Case Creation involves generating structured test cases that can be followed during test case execution.
Test Case Execution involves executing testing against the structured test cases created by Topcoder or against structured test cases provided by the client.
"
+ },
+ "condition": "details.appDefinition.qaType == 'regression-testing' || details.appDefinition.qaType == 'end-user-acceptance-testing'",
+ "options": [
+ {
+ "description": "Involves generating structured test cases that can be followed during test case execution.",
+ "label": "Test Case Creation",
+ "value": "test-case-creation"
+ },
+ {
+ "description": "Involves executing testing against the structured test cases created by Topcoder or against structured test cases provided by the client.",
+ "label": "Test Case Execution",
+ "value": "test-case-execution"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ },
+ {
+ "condition": "details.appDefinition.qaType == 'regression-testing' || details.appDefinition.qaType == 'end-user-acceptance-testing'",
+ "fieldName": "details.appDefinition.needAdditionalStructTests",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "yes"
+ },
+ {
+ "label": "No",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "Will test coverage require more than 150 test cases?",
+ "type": "radio-group",
+ "validationError": "Please, ley us know if you need more than 150 test cases.",
+ "required": true
+ },
+ {
+ "condition": "details.appDefinition.needAdditionalStructTests == 'yes'",
+ "fieldName": "details.appDefinition.structuredTestsCount",
+ "icon": "question",
+ "options": [
+ {
+ "label": "150-300",
+ "value": "150-300"
+ },
+ {
+ "label": "300-450",
+ "value": "300-450"
+ },
+ {
+ "label": "450-600",
+ "value": "450-600"
+ },
+ {
+ "label": "600+",
+ "value": "600+"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "How many test cases do you anticipate requiring?",
+ "type": "radio-group",
+ "summaryTitle": "Test Case/Screen Count",
+ "validationError": "Please, choose how many test cases you need or have.",
+ "required": true
+ },
+ {
+ "condition": "details.appDefinition.qaType == 'compatibility-testing' || details.appDefinition.qaType == 'exploratory-testing' || details.appDefinition.qaType == 'accessibility-testing' || details.appDefinition.qaType == 'localization-testing' || details.appDefinition.qaType == 'functional-testing' || details.appDefinition.qaType == 'sentiment-analysis'",
+ "fieldName": "details.appDefinition.needAdditionalUnstructScreens",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "yes"
+ },
+ {
+ "label": "No",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "Will test coverage require more than 10 screens?",
+ "type": "radio-group",
+ "validationError": "Please, ley us know if you need more than 10 screens.",
+ "required": true
+ },
+ {
+ "fieldName": "details.appDefinition.unstructuredTestsScreenCount",
+ "icon": "question",
+ "description": "",
+ "title": "How many screens require testing?",
+ "type": "radio-group",
+ "summaryTitle": "Screen Count",
+ "validationError": "Please, choose how many screens you need testing for.",
+ "required": true,
+ "help": {
+ "linkTitle": "What if I need more test cases/screens?",
+ "title": "What if I need more test cases/screens?",
+ "content": "
If your testing effort will require the creation or execution of more test cases/screens highlighted in our standard solutions, please indicate this in the Notes section prior to submitting your form.
"
+ },
+ "condition": "details.appDefinition.needAdditionalUnstructScreens == 'yes'",
+ "options": [
+ {
+ "label": "10-20",
+ "value": "10-20"
+ },
+ {
+ "label": "20-30",
+ "value": "20-30"
+ },
+ {
+ "label": "30-40",
+ "value": "30-40"
+ },
+ {
+ "label": "40-50",
+ "value": "40-50"
+ },
+ {
+ "label": "50+",
+ "value": "50+"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ },
+ {
+ "condition": "details.appDefinition.qaType == 'regression-automation'",
+ "fieldName": "details.appDefinition.needAdditionalRegressionTests",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "yes"
+ },
+ {
+ "label": "No",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "Will test coverage require more than 50 test cases?",
+ "type": "radio-group",
+ "validationError": "Please, ley us know if you need more than 50 test cases.",
+ "required": true
+ },
+ {
+ "condition": "details.appDefinition.needAdditionalRegressionTests == 'yes'",
+ "fieldName": "details.appDefinition.regressionAutomationTestCount",
+ "icon": "question",
+ "options": [
+ {
+ "label": "50-100",
+ "value": "50-100"
+ },
+ {
+ "label": "100-150",
+ "value": "100-150"
+ },
+ {
+ "label": "150-200",
+ "value": "150-200"
+ },
+ {
+ "label": "200-250",
+ "value": "200-250"
+ },
+ {
+ "label": "250-300",
+ "value": "250-300"
+ },
+ {
+ "label": "300+",
+ "value": "300+"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "How many test cases do you need?",
+ "type": "radio-group",
+ "validationError": "Please, choose how many test cases you have or need.",
+ "required": true
+ },
+ {
+ "condition": "details.appDefinition.qaType == 'performance-testing'",
+ "fieldName": "details.appDefinition.concurrentUsers",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Up to 500",
+ "value": "upto-500"
+ },
+ {
+ "label": "500-1000",
+ "value": "500-1000"
+ },
+ {
+ "label": "1000-5000",
+ "value": "1000-5000"
+ },
+ {
+ "label": "5000+",
+ "value": "above-5000"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "What is the desired system load of concurrent users?",
+ "type": "radio-group",
+ "validationError": "Please, choose how many test cases you have or need.",
+ "required": true
+ },
+ {
+ "condition": "details.appDefinition.qaType == 'performance-testing'",
+ "fieldName": "details.appDefinition.processTransactionCount",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Up to 5",
+ "value": "upto-5"
+ },
+ {
+ "label": "5-10",
+ "value": "5-10"
+ },
+ {
+ "label": "10-25",
+ "value": "10-25"
+ },
+ {
+ "label": "25+",
+ "value": "above-25"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "Approximately how many business processes/transactions are included in this performance testing?",
+ "type": "radio-group",
+ "validationError": "Please, choose how many test cases you have or need.",
+ "required": true
+ },
+ {
+ "fieldName": "description",
+ "icon": "question",
+ "description": "",
+ "title": "Briefly describe the application we will be testing.",
+ "type": "textbox",
+ "summaryTitle": "Description"
+ },
+ {
+ "fieldName": "details.appDefinition.notes",
+ "icon": "question",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)",
+ "title": "Notes",
+ "type": "textbox",
+ "summaryTitle": "Notes"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "qa-deliverable-questions",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "help": {
+ "linkTitle": "What is right for me?",
+ "title": "What is right for me?",
+ "content": "
All Topcoder projects engage a Challenge Manager, a member of the community who helps to set-up and execute work with the community.
Topcoder recommends including a Project Manager on projects where a high degree of technical complexity is anticipated, when multiple deliverables are needed, or when you are a new to Topcoder and need additional help navigating the crowdsourcing process. A Project Manager will provide additional oversight to your project.
"
+ },
+ "fieldName": "details.appDefinition.caNeeded",
+ "icon": "question",
+ "options": [
+ {
+ "summaryLabel": "Project Manager + Challenge Manager",
+ "description": "Challenge managers will work with the Community on the execution of your deliverables. A Project Manager will be assigned to oversee the technical requirements and complexities of your project.",
+ "label": "Project Manager + Challenge Manager",
+ "value": "yes"
+ },
+ {
+ "summaryLabel": "Challenge Manager only",
+ "description": "You will partner directly with your Challenge Manager to align on the requirements for your project and they will work with the Community on the execution of your deliverables.",
+ "label": "Challenge Manager only",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "What kind of support do you want on your project?",
+ "type": "radio-group",
+ "validationError": "Please, ley us know if you need a dedicated manager.",
+ "required": true
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "tc-services-questions",
+ "type": "questions"
+ },
+ {
+ "hiddenOnCreation": true,
+ "fieldName": "attachments",
+ "description": "",
+ "id": "files",
+ "title": "Files",
+ "type": "files",
+ "required": false
+ }
+ ],
+ "description": "",
+ "wizard": {
+ "previousStepVisibility": "write",
+ "enabled": true
+ },
+ "id": "appDefinition",
+ "title": "Quality Assurance",
+ "required": true
+ },
+ {
+ "subSections": [
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "static",
+ "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.
"
+ },
+ "fieldName": "details.appDefinition.addons.qa",
+ "icon": "question",
+ "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.",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "title": "QA add-ons",
+ "type": "add-ons",
+ "category": "qa"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized",
+ "enabled": true
+ },
+ "type": "questions"
+ }
+ ],
+ "wizard": {
+ "enabled": true
+ },
+ "id": "add-ons",
+ "title": "Configure my app"
+ },
+ {
+ "subSections": [
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "static",
+ "content": "
"
+ },
+ {
+ "fieldName": "details.dsIdeation.problemStatement",
+ "icon": "question",
+ "description": "",
+ "title": "Please state the problem you would like to solve.",
+ "type": "textbox",
+ "summaryTitle": "Problem Statement",
+ "required": true,
+ "validationError": "Please, provide problem statement/concept for your project"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "background",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "help": {
+ "linkTitle": "See White Paper Example",
+ "title": "See White Paper Example",
+ "content": "
Overview: describe your approach in “laymen’s terms”
Methods: describe what you did to come up with this approach, eg literature search, experimental testing, etc
Materials: did your approach use a specific technology? Any libraries? List all tools and libraries you used
Discussion: Explain what you attempted, considered or reviewed that worked, and especially those that didn’t work or that you rejected. For any that didn’t work, or were rejected, briefly include your explanation for the reasons (e.g. such-and-such needs more data than we have). If you are pointing to somebody else’s work (eg you’re citing a well known implementation or literature), describe in detail how that work relates to this work, and what would have to be modified
Data: What other data should one consider? Is it in the public domain? Is it derived? Is it necessary in order to achieve the aims? Also, what about the data described/provided - is it enough?
Assumptions and Risks: what are the main risks of this approach, and what are the assumptions you/the model is/are making? What are the pitfalls of the data set and approach?
Results: Did you implement your approach? How’d it perform? If you’re not providing an implementation, use this section to explain the EXPECTED results.
Other: Discuss anyother issues or attributes that don’t fit neatly above that you’d also like to include
"
+ },
+ "fieldName": "details.dsIdeation.output",
+ "icon": "question",
+ "options": [
+ {
+ "description": "Submission options should provide a point of view, summarized and cited references, and analysis. Click the tooltip to see an example submission template.",
+ "label": "White papers, only.",
+ "value": "whitePapers"
+ },
+ {
+ "description": "POCs are meant to be illustrative, and are not robust solutions.",
+ "label": "White papers with light,functioning proof of concepts.",
+ "value": "whitePapersAndPoc"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "title": "What type of output are you seeking?",
+ "type": "radio-group",
+ "summaryTitle": "Project output",
+ "required": true
+ },
+ {
+ "condition": "(details.dsIdeation.output == 'whitePapersAndPoc')",
+ "fieldName": "details.dsIdeation.preferredTech",
+ "icon": "question",
+ "options": [
+ {
+ "description": "",
+ "label": "Yes",
+ "value": "yes"
+ },
+ {
+ "description": "",
+ "label": "No",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "title": "Do you have preferred technologies for your POC?",
+ "type": "radio-group",
+ "summaryTitle": "Do you have Preferred Technology"
+ },
+ {
+ "condition": "( details.dsIdeation.preferredTech == 'yes')",
+ "fieldName": "details.dsIdeation.preferredTechnologies",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Python",
+ "value": "python"
+ },
+ {
+ "label": "R and derivatives",
+ "value": "rDerivatives"
+ },
+ {
+ "label": "Jupyter Notebook",
+ "value": "jupyter"
+ },
+ {
+ "label": "Java",
+ "value": "java"
+ },
+ {
+ "label": "C++",
+ "value": "cpp"
+ },
+ {
+ "label": "Other",
+ "value": "other"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "title": "Indicate your preferred technologies",
+ "type": "checkbox-group",
+ "summaryTitle": "Preferred Technology",
+ "introduction": "Select your preferred scoring system(s):",
+ "validationError": "Please, select the preffered technologies",
+ "required": true
+ },
+ {
+ "condition": "details.dsIdeation.preferredTechnologies contains 'other'",
+ "fieldName": "details.dsIdeation.techPlatforms",
+ "icon": "question",
+ "description": "",
+ "title": "Describe which technologies or platforms you’d like to use",
+ "type": "textbox",
+ "summaryTitle": "Other Technologies",
+ "validationError": "Please, provide technologies or platforms you’d like to use"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "preferredTechnology",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.dsIdeation.backgroundDesc",
+ "icon": "question",
+ "description": "",
+ "title": "Provide a descriptive background of the problem.",
+ "type": "textbox",
+ "summaryTitle": "Problem Background",
+ "required": true,
+ "validationError": "Please, provide a descriptive background of the problem"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "problemBackgroundDesc",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.dsIdeation.academicPapers",
+ "icon": "question",
+ "options": [
+ {
+ "description": "",
+ "label": "Yes",
+ "value": "yes"
+ },
+ {
+ "description": "",
+ "label": "No",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "title": "Are there academic papers or other sources that should be considered as inputs for your project?",
+ "type": "radio-group",
+ "summaryTitle": "Academic Papers"
+ },
+ {
+ "condition": "(details.dsIdeation.academicPapers == 'yes')",
+ "fieldName": "details.dsIdeation.urls",
+ "icon": "question",
+ "description": "",
+ "theme": "light",
+ "title": "Please list URLs to academic papers or other sources. ",
+ "type": "textbox",
+ "summaryTitle": "Academic URLs",
+ "required": true,
+ "validationError": "Please, list URLs to academic papers or other sources."
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "academicPapers",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.dsIdeation.solutionOptimizationApproach",
+ "icon": "question",
+ "options": [
+ {
+ "description": "",
+ "label": "Sourcing new ideas ",
+ "value": "newIdeas"
+ },
+ {
+ "description": "",
+ "label": "Filtering out options so I can focus on the most promising way forward",
+ "value": "filteringOut"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "title": "What is more important, sourcing many new ideas or filtering out options?",
+ "type": "radio-group",
+ "summaryTitle": "New Ideas V/S Filtering Options"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "solutionOptimizationApproach",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.dsIdeation.dataAvailable",
+ "icon": "question",
+ "options": [
+ {
+ "description": "",
+ "label": "Yes",
+ "value": "yes"
+ },
+ {
+ "description": "",
+ "label": "No",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "title": "Do you have data that you can provide?",
+ "type": "radio-group",
+ "summaryTitle": "Data Available"
+ },
+ {
+ "condition": "(details.dsIdeation.dataAvailable == 'yes')",
+ "fieldName": "details.dsIdeation.dataFormat",
+ "icon": "question",
+ "description": "",
+ "title": "Describe the data’s format, size, and the steps you’ll need to take to share it.",
+ "type": "textbox",
+ "summaryTitle": "Data format & other details"
+ },
+ {
+ "condition": "(details.dsIdeation.dataAvailable == 'yes')",
+ "fieldName": "details.dsIdeation.pIIData",
+ "icon": "question",
+ "options": [
+ {
+ "description": "",
+ "label": "Yes",
+ "value": "yes"
+ },
+ {
+ "description": "",
+ "label": "No",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "title": "Does your data contain PII?",
+ "type": "radio-group",
+ "summaryTitle": "PII Data"
+ },
+ {
+ "condition": "(details.dsIdeation.dataAvailable == 'yes')",
+ "fieldName": "details.dsIdeation.dataModifications",
+ "icon": "question",
+ "options": [
+ {
+ "description": "",
+ "label": "Yes",
+ "value": "yes"
+ },
+ {
+ "description": "",
+ "label": "No",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "title": "Does your data need to be further obfuscated or privatized",
+ "type": "radio-group",
+ "summaryTitle": "Data Obfuscated/Privatized"
+ },
+ {
+ "condition": "(details.dsIdeation.dataModifications == 'yes')",
+ "fieldName": "details.dsIdeation.dataModificationsDesc",
+ "icon": "question",
+ "description": "",
+ "theme": "light",
+ "title": "Briefly describe the additional obfuscation/privatization required.",
+ "type": "textbox",
+ "summaryTitle": "Obfuscation/Privatization Description"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "dataDetails",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.dsIdeation.criteria",
+ "icon": "question",
+ "description": "Consider how you will differentiate between first and second place solutions",
+ "title": "Describe the criteria you would like to use for deciding winning options.",
+ "type": "textbox",
+ "summaryTitle": "Winning Criteria",
+ "required": true,
+ "validationError": "Please, describe the criteria you would like to use for deciding winning options."
+ },
+ {
+ "fieldName": "details.dsIdeation.notes",
+ "icon": "question",
+ "description": "",
+ "title": "Notes: Anything else you’d like to describe?",
+ "type": "textbox",
+ "summaryTitle": "Notes"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "criteriaAndNotes",
+ "type": "questions"
+ }
+ ],
+ "description": "",
+ "wizard": {
+ "previousStepVisibility": "write",
+ "enabled": true
+ },
+ "id": "appDefinition",
+ "title": "Data Science Ideation",
+ "required": true
+ },
+ {
+ "subSections": [
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "static",
+ "content": "
Data is considered easily accessible when it can be shared as-is with our platform through database extracts or spreadsheets and is not constrained by obfuscation, licensing, or data sensitivity.
"
+ },
+ "fieldName": "details.dataVizDefinition.isDataAccessible",
+ "icon": "question",
+ "options": [
+ {
+ "description": "",
+ "label": "Yes, the data is easily accessible.",
+ "value": "yes"
+ },
+ {
+ "description": "",
+ "label": "No, the data is not easily accessible.",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "title": "Is your data easily accessible?",
+ "type": "radio-group",
+ "summaryTitle": "Is Data Accessible"
+ },
+ {
+ "help": {
+ "linkTitle": "Why obfuscate data?",
+ "title": "Why obfuscate data?",
+ "content": "
Obfuscation protects unintentional data loss/sharing of sensitive data. Sensitive data includes, but is not limited too:
-confidential business information (e.g. financial, operational, trade secrets)
-classified information (subject to governmental security regulations)
-personal identifiable information (PII)
"
+ },
+ "fieldName": "details.dataVizDefinition.needObfuscation",
+ "icon": "question",
+ "options": [
+ {
+ "description": "",
+ "label": "No, my data is ready as-is.",
+ "value": "no"
+ },
+ {
+ "description": "",
+ "label": "Yes, my data will need obfuscation.",
+ "value": "yes"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "title": "Will Topcoder need to obfuscate your data?",
+ "type": "radio-group",
+ "summaryTitle": "Need Obfuscation"
+ },
+ {
+ "help": {
+ "linkTitle": "Why are you asking?",
+ "title": "Why are you asking?",
+ "content": "
Data that is available for everyday consumption has typically been refreshed and processed into the appropriate form on at least a daily basis. The importance of this availability will depend on your data visualization needs—whether your objectives lean more analytical vs operational.
"
+ },
+ "fieldName": "details.dataVizDefinition.isDataRefreshedDaily",
+ "icon": "question",
+ "options": [
+ {
+ "description": "",
+ "label": "Yes",
+ "value": "yes"
+ },
+ {
+ "description": "",
+ "label": "No",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "title": "Is the data refreshed daily?",
+ "type": "radio-group",
+ "summaryTitle": "Data Access"
+ },
+ {
+ "fieldName": "details.dataVizDefinition.sampleData",
+ "icon": "question",
+ "options": [
+ {
+ "description": "",
+ "label": "Yes",
+ "value": "yes"
+ },
+ {
+ "description": "",
+ "label": "No",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "title": "Will you provide sample/reference data?",
+ "type": "radio-group",
+ "summaryTitle": "Sample Data"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "dataDetails",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.dataVizDefinition.userRoles",
+ "icon": "question",
+ "description": "",
+ "title": "Briefly describe the roles of the intended users and how they will leverage the data to make decisions.",
+ "type": "textbox",
+ "summaryTitle": "User Roles"
+ },
+ {
+ "fieldName": "details.dataVizDefinition.intendedDataUsage",
+ "icon": "question",
+ "description": "",
+ "title": "How will the intended users need to manipulate the data to effectively analyze it?",
+ "type": "textbox",
+ "summaryTitle": "Intended Usage"
+ },
+ {
+ "fieldName": "details.dataVizDefinition.currentDataUsage",
+ "icon": "question",
+ "description": "",
+ "title": "Briefly describe how the intended users access this data today.",
+ "type": "textbox",
+ "summaryTitle": "Data Usage",
+ "introduction": "What do users like and dislike about how they access the data today, and what would make the experience better?"
+ },
+ {
+ "fieldName": "details.dataVizDefinition.performanceIndicators",
+ "icon": "question",
+ "description": "",
+ "title": "What are the key performance indicators that should be highlighted and why are they important to you?",
+ "type": "textbox",
+ "summaryTitle": "Performance Indicators"
+ },
+ {
+ "help": {
+ "linkTitle": "What are common success indicators?",
+ "title": "What are common success indicators?",
+ "content": "In Topcoder’s history, data visualization project success has often been based off of the following attributes:
How well the UX is planned, captured and conveyed visually.
How well the dashboard shows the data and relationships.
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.
"
+ },
+ {
+ "help": {
+ "linkTitle": "What is right for me?",
+ "title": "What is right for me?",
+ "content": "
Topcoder has design, development, and deployment solutions can be combined in a single project to help you deliver an end-to-end application.
It is important to note that all Topcoder development projects include standard quality assurance testing at no additional cost to help ensure you are getting the highest-quality application possible.
"
+ },
+ "fieldName": "details.budgetDetails.deliverables",
+ "icon": "question",
+ "options": [
+ {
+ "summaryLabel": "Design",
+ "description": "We will design your app experience, focusing on the major features and experiences.",
+ "label": "Design",
+ "value": "design"
+ },
+ {
+ "summaryLabel": "Development",
+ "description": "We will develop your app based on existing designs. Building a reliable application for you is our priority. We include standard quality assurance testing at no additional cost when doing any development.",
+ "label": "Development",
+ "value": "dev"
+ },
+ {
+ "description": "Data science budget",
+ "label": "Data Science",
+ "value": "data-science"
+ },
+ {
+ "summaryLabel": "QA",
+ "description": "Standard quality assurance testing.",
+ "label": "Quality Assurance",
+ "value": "qa"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "What type of budget do you need?",
+ "type": "checkbox-group",
+ "summaryTitle": "Type of budget",
+ "validationError": "Please, choose what do you need.",
+ "required": true
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "deliverables",
+ "type": "questions"
+ },
+ {
+ "layout": {
+ "spacing": "codes"
+ },
+ "hideTitle": true,
+ "questions": [
+ {
+ "minValue": 1,
+ "condition": "details.budgetDetails.deliverables contains 'design'",
+ "fieldName": "details.budgetDetails.design.qty",
+ "maxValue": 100,
+ "defaultValue": 1,
+ "icon": "question",
+ "description": "Enter total number of budget increments you need: Ex. 2 ($10K x 2 = $20K budget)",
+ "title": "How much design budget capacity would you like to purchase?",
+ "type": "numberinput",
+ "summaryTitle": "Design Units",
+ "introduction": "Price: $10K budget increments"
+ },
+ {
+ "minValue": 1,
+ "condition": "details.budgetDetails.deliverables contains 'dev'",
+ "fieldName": "details.budgetDetails.development.qty",
+ "maxValue": 100,
+ "defaultValue": 1,
+ "icon": "question",
+ "description": "Enter total number of budget increments you need: Ex. 2 ($10K x 2 = $20K budget)",
+ "title": "How much development budget capacity would you like to purchase?",
+ "type": "numberinput",
+ "summaryTitle": "Development Units",
+ "introduction": "Price: $10K budget increments"
+ },
+ {
+ "minValue": 1,
+ "condition": "details.budgetDetails.deliverables contains 'data-science'",
+ "fieldName": "details.budgetDetails.dataScience.qty",
+ "maxValue": 100,
+ "defaultValue": 1,
+ "icon": "question",
+ "description": "Enter total number of budget increments you need: Ex. 2 ($10K x 2 = $20K budget)",
+ "title": "How much data science budget capacity would you like to purchase?",
+ "type": "numberinput",
+ "summaryTitle": "Data Science Units",
+ "introduction": "Price: $10K budget increments"
+ },
+ {
+ "minValue": 1,
+ "condition": "details.budgetDetails.deliverables contains 'qa'",
+ "fieldName": "details.budgetDetails.qa.qty",
+ "maxValue": 100,
+ "defaultValue": 1,
+ "icon": "question",
+ "description": "Enter total number of budget increments you need: Ex. 2 ($3.5K x 2 = $7K budget)",
+ "title": "How much QA budget capacity would you like to purchase?",
+ "type": "numberinput",
+ "summaryTitle": "QA Units",
+ "introduction": "Price: $3.5K budget increments"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "deliverables",
+ "type": "questions"
+ }
+ ],
+ "description": "",
+ "wizard": {
+ "previousStepVisibility": "write",
+ "enabled": true
+ },
+ "id": "appDefinition",
+ "title": "Prepaid Budget",
+ "required": true
+ },
+ {
+ "subSections": [
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "static",
+ "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.
"
+ },
+ {
+ "help": {
+ "linkTitle": "What work is right for me?",
+ "title": "What work is right for me?",
+ "content": "
Topcoder has design, development, and deployment solutions can be combined in a single project to help you deliver an end-to-end application.
It is important to note that all Topcoder development projects include standard quality assurance testing at no additional cost to help ensure you are getting the highest-quality application possible.
If you have an existing application that needs quality assurance testing, only select the QA, Fixes & Enhancements option and you will be shown Topcoder’s standalone QA Services solutions for testing on pre-existing applications.
"
+ },
+ "fieldName": "details.appDefinition.deliverables",
+ "icon": "question",
+ "options": [
+ {
+ "summaryLabel": "Design",
+ "description": "We will design your app experience, focusing on the major features and experiences.",
+ "label": "Design",
+ "value": "design"
+ },
+ {
+ "summaryLabel": "Development",
+ "description": "We will develop your app based on existing designs. Building a reliable application for you is our priority. We include standard quality assurance testing at no additional cost when doing any development.",
+ "label": "Development",
+ "value": "dev-qa"
+ },
+ {
+ "disableCondition": "HAS_DEV_DELIVERABLE",
+ "summaryLabel": "QA",
+ "autoSelectCondition": "HAS_DEV_DELIVERABLE",
+ "description": "We will extensively test your app, log and eliminate any bugs. This will ensure sure your app is 100% ready for prime-time.",
+ "label": "QA, Fixes & Enhancements",
+ "value": "qa"
+ },
+ {
+ "description": "Our team will ensure that your code is packaged and distributed on all targeted platforms and/or in the Apple/Google app stores.",
+ "label": "Deployment",
+ "value": "deployment"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "What do you need?",
+ "type": "checkbox-group",
+ "summaryTitle": "Work needed",
+ "validationError": "Please, choose what do you need.",
+ "required": true
+ },
+ {
+ "fieldName": "details.appDefinition.designGoal",
+ "icon": "question",
+ "description": "",
+ "title": "What is the goal of your designs?",
+ "type": "radio-group",
+ "summaryTitle": "Design goal",
+ "validationError": "Please, choose you design goal.",
+ "required": true,
+ "help": {
+ "linkTitle": "What should I choose?",
+ "title": "What should I choose?",
+ "content": "
Conceptual exploration
It enables you to explore UI and UX concepts for your application with industry-leading experts. This is the best choice when you are exploring ideas for a new application, but are not ready to begin development immediately. While design concepts empower you to explore different ideas, the design-deliverables are not considered production-ready as they will not contain detailed workflows for your entire application.
Production-ready designs
These are best used when you are ready to begin development on your application immediately after design-completion. These designs will include detailed workflows and options for your application.
"
+ },
+ "condition": "HAS_DESIGN_DELIVERABLE",
+ "options": [
+ {
+ "disableCondition": "HAS_DEV_DELIVERABLE",
+ "summaryLabel": "Concept",
+ "description": "We will produce high-quality screens with different directions that would help you define your product direction, and present to stakeholders.",
+ "label": "Concept exploration",
+ "value": "concept-designs"
+ },
+ {
+ "summaryLabel": "Production-ready designs",
+ "autoSelectCondition": "HAS_DEV_DELIVERABLE",
+ "description": "Our designers will create detailed, designed workflows that can be immediately ready for development upon completion.",
+ "label": "Production-ready designs",
+ "value": "comprehensive-designs"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ },
+ {
+ "fieldName": "details.appDefinition.quickTurnaround",
+ "icon": "question",
+ "description": "",
+ "title": "How quickly do you need your conceptual designs?",
+ "type": "radio-group",
+ "summaryTitle": "Quick Turnaround",
+ "validationError": "Please, choose your time expectations.",
+ "required": true,
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Topcoder has two backend solutions - RUX (3 Days) and Design Sprint (6 Days) - that provide customers with design concepts. The deliverables that you can expect from these two solutions are consistent, meaning that both will produce high-quality design concepts that will enable you to leverage our expert crowd in generating ideas for your application. The primary difference between these two solutions is the turnaround time. As the RUX solution has an expedited turnaround time of three days, a service charge is included in the price.
"
+ },
+ "condition": "CONCEPT_DESIGN",
+ "options": [
+ {
+ "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.",
+ "label": "I want concept designs in 3 days.",
+ "value": "under-3-days"
+ },
+ {
+ "summaryLabel": "6 days",
+ "description": "Topcoder will create agency-quality design variants for your app within 7 days.",
+ "label": "I want concept designs in 6 days.",
+ "value": "under-6-days"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "deliverables",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.targetDevices",
+ "icon": "question",
+ "description": "",
+ "title": "Where should your app work?",
+ "type": "checkbox-group",
+ "summaryTitle": "Devices",
+ "validationError": "Please, select devices",
+ "required": true,
+ "help": {
+ "linkTitle": "What to choose",
+ "title": "What to choose",
+ "content": "
Topcoder has the capability to create applications that are accessible as standalone applications from mobile or tablet devices, as well as applications that are accessible via a web browser from desktops, mobile or tablet devices.
"
+ },
+ "condition": "( HAS_DESIGN_DELIVERABLE || HAS_DEV_DELIVERABLE )",
+ "affectsQuickQuote": true,
+ "options": [
+ {
+ "description": "Your app can be installed and launched on mobile devices. This is Topcoder’s most requested option.",
+ "label": "Mobile",
+ "value": "mobile"
+ },
+ {
+ "description": "Your app can be used on tablet devices, with an optimized layout for tablets.",
+ "label": "Tablet",
+ "value": "tablet"
+ },
+ {
+ "description": "Your app would be accessed via web browser on desktop, mobile and tablet devices alike.",
+ "label": "Web Browser",
+ "value": "web-browser"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ },
+ {
+ "help": {
+ "linkTitle": "Which platforms to select?",
+ "title": "Which platforms to select?",
+ "content": "
Topcoder can create mobile applications for iOS, Android, or iOS and Android platforms.
"
+ },
+ "condition": "( details.appDefinition.targetDevices contains 'mobile' ) || ( details.appDefinition.targetDevices contains 'tablet' )",
+ "fieldName": "details.appDefinition.mobilePlatforms",
+ "affectsQuickQuote": true,
+ "icon": "question",
+ "options": [
+ {
+ "description": "Your app would work on iOS phones. We will develop it using Objective-C and SWIFT",
+ "label": "iOS",
+ "value": "ios"
+ },
+ {
+ "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.",
+ "label": "Android",
+ "value": "android"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "title": "What type of platform do you need?",
+ "type": "checkbox-group",
+ "summaryTitle": "Mobile platforms"
+ },
+ {
+ "fieldName": "details.appDefinition.nativeHybrid",
+ "icon": "question",
+ "description": "",
+ "title": "Does your app need to be Native or Hybrid?",
+ "type": "radio-group",
+ "summaryTitle": "App Type",
+ "validationError": "Please let us know the type of the app?",
+ "required": true,
+ "help": {
+ "linkTitle": "Which OS to select?",
+ "title": "Which OS to select?",
+ "content": "
Native operating systems are a SDK framework for building iOS and/or Android applications. Native applications typically have better performance if rich features such as video or audio are required.
Hybrid operating systems leverages a hybrid framework, such as Iconic, to build iOS and/or Android applications. Hybrid gives you the benefit of only having to maintain one code base for your application.
"
+ },
+ "condition": "( details.appDefinition.mobilePlatforms contains 'ios' ) || ( details.appDefinition.mobilePlatforms contains 'android' )",
+ "options": [
+ {
+ "description": "",
+ "label": "Native",
+ "value": "native"
+ },
+ {
+ "description": "",
+ "label": "Hybrid",
+ "value": "hybrid"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ },
+ {
+ "fieldName": "details.appDefinition.progressiveResponsive",
+ "icon": "question",
+ "description": "",
+ "title": "How should your app work when accessed via web browser?",
+ "type": "radio-group",
+ "summaryTitle": "Web App Type",
+ "validationError": "Please let us know the type of web app?",
+ "required": true,
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Progressive Web Applications are mobile web apps. They are built using a native framework so that it looks and functions like a native application, with rich features like GPS.
Responsive Web Applications are web apps that can be accessed from mobile, tablet, and/or desktop devices. You can choose custom layouts depending on device type.
Desktop Web Browser Applications come in one layout and are only accessed from desktop devices using common web browsers such as Chrome or Safari.
"
+ },
+ "condition": "( details.appDefinition.targetDevices contains 'web-browser' )",
+ "options": [
+ {
+ "description": "Your web application can be accessed from all common mobile web browsers and will be built using a native mobile framework.",
+ "label": "Progressive Web Application for Mobile Web Browsing",
+ "value": "progressive"
+ },
+ {
+ "description": "Your web application can be accessed from all common desktop, mobile and tablet web browsers and will be optimized for all screen sizes.",
+ "label": "Responsive Web Application for Desktop, Tablet, and Mobile Web Browsing",
+ "value": "responsive"
+ },
+ {
+ "description": "Your web application can be accessed from desktop devices on all common web browsers.",
+ "label": "Desktop Web Application",
+ "value": "desktop"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "target-devices-os",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.numberScreens",
+ "icon": "question",
+ "description": "",
+ "title": "How many screens do you need?",
+ "type": "radio-group",
+ "summaryTitle": "Screens",
+ "validationError": "Please let us know the number of screens required?",
+ "required": true,
+ "help": {
+ "linkTitle": "What are screens?",
+ "title": "What are screens?",
+ "content": "
Screens represent the number of unique pages within your application, which may include several features on each screen.
If you require more than 15 screens for your application, please indicate this in the Notes section of the form prior to submitting.
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": "( HAS_QA_DELIVERABLE && ONE_DELIVERABLE )",
+ "fieldName": "details.appDefinition.qaType",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Real World Unstructured Testing",
+ "value": "real-world-unstructured"
+ },
+ {
+ "label": "Real World Structured Testing",
+ "value": "real-world-structured"
+ },
+ {
+ "label": "Mobility Testing",
+ "value": "mobility-testing"
+ },
+ {
+ "label": "Automation Testing",
+ "value": "automated-testing"
+ },
+ {
+ "label": "Performance Testing",
+ "value": "performance-testing"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "What type of QA you need?",
+ "type": "radio-group",
+ "validationError": "Please, choose what do you need.",
+ "required": true
+ },
+ {
+ "help": {
+ "linkTitle": "What work is right for me?",
+ "title": "What work is right for me?",
+ "content": "
Section One Title Goes Here
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": "REAL_WORLD_STRUCT_TESTING",
+ "fieldName": "details.appDefinition.structuredTestWorkType",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Test Case Creation",
+ "value": "test-case-creation"
+ },
+ {
+ "label": "Test Case Execution",
+ "value": "test-case-execution"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "What do you need us to help you with?",
+ "type": "checkbox-group",
+ "validationError": "Please, choose what do you need us to help with.",
+ "required": true
+ },
+ {
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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": "REAL_WORLD_STRUCT_TESTING",
+ "fieldName": "details.appDefinition.structuredTestsCount",
+ "icon": "question",
+ "options": [
+ {
+ "condition": "(STRUCT_TEST_CASE_CREATION && ONE_QA_DELIVERABLE)",
+ "label": "Up to 50 test cases",
+ "value": "upto-50"
+ },
+ {
+ "condition": "(STRUCT_TEST_CASE_CREATION && ONE_QA_DELIVERABLE)",
+ "label": "Up to 100 test cases",
+ "value": "upto-100"
+ },
+ {
+ "condition": "(STRUCT_TEST_CASE_EXECUTION)",
+ "label": "Up to 150 test cases",
+ "value": "upto-150"
+ },
+ {
+ "condition": "(STRUCT_TEST_CASE_EXECUTION)",
+ "label": "Up to 300 test cases",
+ "value": "upto-300"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "How many test cases do you need?",
+ "type": "radio-group",
+ "validationError": "Please, choose how many test cases you need or have.",
+ "required": true
+ },
+ {
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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": "REAL_WORLD_UNSTRUCT_TESTING",
+ "fieldName": "details.appDefinition.unstructuredTestsScreenCount",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Up to 10",
+ "value": "upto-10"
+ },
+ {
+ "label": "Up to 30",
+ "value": "upto-30"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "How many screens need to be tested?",
+ "type": "radio-group",
+ "validationError": "Please, choose how many test cases you need or have.",
+ "required": true
+ },
+ {
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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": "AUTOMATED_TESTING",
+ "fieldName": "details.appDefinition.automatedTestsCount",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Up to 50 test cases",
+ "value": "upto-50"
+ },
+ {
+ "label": "Up to 100 test cases",
+ "value": "upto-100"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "How many test cases do you need?",
+ "type": "radio-group",
+ "validationError": "Please, choose how many test cases you have or need.",
+ "required": true
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "qa-deliverable-questions",
+ "type": "questions"
+ },
+ {
+ "condition": "HAS_DEPLOY_DELIVERABLE",
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.deploymentTargets",
+ "icon": "question",
+ "description": "",
+ "title": "Where do you need your app deployed?",
+ "type": "checkbox-group",
+ "summaryTitle": "Deployment Targets",
+ "validationError": "Please, choose what do you need us to help with.",
+ "required": true,
+ "help": {
+ "linkTitle": "What work is right for me?",
+ "title": "What work is right for me?",
+ "content": "
Section One Title Goes Here
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": "HAS_DEPLOY_DELIVERABLE",
+ "options": [
+ {
+ "condition": "( ONE_DELIVERABLE || (details.appDefinition.mobilePlatforms contains 'ios') )",
+ "description": "Apple App Store Deployment",
+ "label": "Apple App Store",
+ "value": "apple-app-store"
+ },
+ {
+ "condition": "( ONE_DELIVERABLE || (details.appDefinition.mobilePlatforms contains 'android') )",
+ "description": "Google App Store Deployment",
+ "label": "Google Play",
+ "value": "google-play"
+ },
+ {
+ "condition": "( ONE_DELIVERABLE || (details.appDefinition.targetDevices contains 'desktop') || (details.appDefinition.targetDevices contains 'web-browser') )",
+ "description": "Deployment to your internal production environment",
+ "label": "Internal Production Environment",
+ "value": "internal-production-environment"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "deployment-deliverable-questions",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.caNeeded",
+ "icon": "question",
+ "description": "",
+ "title": "What kind of support do you want on your project?",
+ "type": "radio-group",
+ "summaryTitle": "Architect",
+ "validationError": "Please, ley us know if you need a dedicated manager.",
+ "required": true,
+ "help": {
+ "linkTitle": "What is right for me?",
+ "title": "What is right for me?",
+ "content": "
Topcoder recommends including an Architect on projects where a high degree of technical complexity is anticipated, when multiple deliverables are needed, or when you are a new customer to Topcoder and need additional help navigating the crowdsourcing process as Architects will provide additional oversight to your project. The inclusion of an Architect on a project will result in a service charge.
"
+ },
+ "condition": "!( MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP)",
+ "options": [
+ {
+ "summaryLabel": "Yes",
+ "description": "Project managers will work with the Community on the execution of your deliverables. An Architect will be assigned to oversee the technical requirements and complexities of your project.",
+ "label": "Project Manager + Architect",
+ "value": "yes"
+ },
+ {
+ "summaryLabel": "No",
+ "description": "You will partner directly with your Project Manager to align on the requirements for your project and they will work with the Community on the execution of your deliverables.",
+ "label": "Project Manager",
+ "value": "no"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "tc-services-questions",
+ "type": "questions"
+ },
+ {
+ "condition": "MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP",
+ "fieldName": "details.appDefinition.message",
+ "hideTitle": true,
+ "description": "Wow! We love your idea. This is a very complex, technical solution. We will take a look at your project and contact you regarding next steps and a quote.",
+ "id": "customeQuote",
+ "title": "Message",
+ "type": "message"
+ }
+ ],
+ "description": "",
+ "wizard": {
+ "previousStepVisibility": "write",
+ "enabled": true
+ },
+ "id": "appDefinition",
+ "title": "App Definition",
+ "required": true
+ },
+ {
+ "subSections": [
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "static",
+ "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": "HAS_DESIGN_DELIVERABLE",
+ "fieldName": "details.appDefinition.addons.design",
+ "icon": "question",
+ "description": "Select any desired add-ons to your project. Please note that each add-on will incur a cost and has a delivery duration. Your project estimate will be updated to reflect the cost and duration of your base solution and add-ons. Additionally, you will receive a full breakdown on cost in the final project proposal from Topcoder.",
+ "theme": "light",
+ "title": "Design add-ons",
+ "type": "add-ons",
+ "category": "design"
+ },
+ {
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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": "HAS_DEV_DELIVERABLE",
+ "fieldName": "details.appDefinition.addons.development",
+ "icon": "question",
+ "description": "Select any desired add-ons to your project. Please note that each add-on will incur a cost and has a delivery duration. Your project estimate will be updated to reflect the cost and duration of your base solution and add-ons. Additionally, you will receive a full breakdown on cost in the final project proposal from Topcoder.",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "title": "Development add-ons",
+ "type": "add-ons",
+ "category": "development"
+ },
+ {
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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": "HAS_QA_DELIVERABLE",
+ "fieldName": "details.appDefinition.addons.qa",
+ "icon": "question",
+ "description": "Select any desired add-ons to your project. Please note that each add-on will incur a cost and has a delivery duration. Your project estimate will be updated to reflect the cost and duration of your base solution and add-ons. Additionally, you will receive a full breakdown on cost in the final project proposal from Topcoder.",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "title": "QA add-ons",
+ "type": "add-ons",
+ "category": "qa"
+ },
+ {
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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": "HAS_DEPLOY_DELIVERABLE",
+ "fieldName": "details.appDefinition.addons.delivery",
+ "icon": "question",
+ "description": "Select any desired add-ons to your project. Please note that each add-on will incur a cost and has a delivery duration. Your project estimate will be updated to reflect the cost and duration of your base solution and add-ons. Additionally, you will receive a full breakdown on cost in the final project proposal from Topcoder.",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "title": "Delivery add-ons",
+ "type": "add-ons",
+ "category": "deployment"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized",
+ "enabled": true
+ },
+ "type": "questions"
+ }
+ ],
+ "wizard": {
+ "enabled": true
+ },
+ "id": "add-ons",
+ "title": "Configure my app"
+ },
+ {
+ "subSections": [
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "static",
+ "content": "
"
+ },
+ {
+ "fieldName": "details.appDefinition.deliverables",
+ "icon": "question",
+ "description": "Select maximum **2 types of platforms** 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.\n- here\n- and here",
+ "title": "What do you need?",
+ "type": "checkbox-group",
+ "summaryTitle": "Work needed",
+ "validationError": "Please, choose what do you need.",
+ "required": true,
+ "help": {
+ "linkTitle": "What work is right for me?",
+ "title": "What work is right for me?",
+ "content": "
Section One Title Goes Here
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.
"
+ },
+ "options": [
+ {
+ "summaryLabel": "Design",
+ "description": "We will design your app experience, focusing on the major features and experiences.",
+ "label": "Design",
+ "value": "design"
+ },
+ {
+ "summaryLabel": "Development",
+ "description": "We will develop your app based on existing designs. Building a reliable application for you is our priority. We include standard quality assurance testing at no additional cost when doing any development.",
+ "label": "Development",
+ "value": "dev-qa"
+ },
+ {
+ "disableCondition": "HAS_DEV_DELIVERABLE",
+ "summaryLabel": "QA",
+ "autoSelectCondition": "HAS_DEV_DELIVERABLE",
+ "description": "We will extensively test your source code on multiple environments and eliminate any bugs. This will make sure your app is 100% ready for the prime-time.",
+ "label": "QA, Fixes & Enhancements",
+ "value": "qa"
+ },
+ {
+ "description": "Our team will ensure that your code is packaged and distributed correctly on the all target platforms and/or App Stores.",
+ "label": "Deployment",
+ "value": "deployment"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired",
+ "introduction": "This is an introduction which is **shown after** the title but before the `question` options. You can choose an \n 1. option\n 2. option"
+ },
+ {
+ "skills": {
+ "categoriesMapping": {
+ "dev-qa": "DEVELOP",
+ "design": "DESIGN"
+ },
+ "frequent": [
+ 1,
+ 4,
+ 7,
+ 10,
+ 13,
+ 16,
+ 5905414,
+ 15035679,
+ 22839204,
+ 26740933,
+ 26854281,
+ 26930938,
+ 26951709,
+ 27048250
+ ],
+ "categoriesField": "details.appDefinition.deliverables"
+ },
+ "help": {
+ "linkTitle": "What skills should I choose?",
+ "title": "What skill should I choose?",
+ "content": "
Section One Title Goes Here
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.
"
+ },
+ "fieldName": "details.appDefinition.skills",
+ "icon": "question",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "What skills do you need?",
+ "type": "skills",
+ "summaryTitle": "Skills",
+ "validationError": "Please, choose at least one skill.",
+ "required": true
+ },
+ {
+ "fieldName": "details.appDefinition.designGoal",
+ "icon": "question",
+ "description": "",
+ "title": "What is the goal of your designs?",
+ "type": "radio-group",
+ "summaryTitle": "Design goal",
+ "validationError": "Please, choose you design goal.",
+ "required": true,
+ "help": {
+ "linkTitle": "What should I choose?",
+ "title": "What should I choose?",
+ "content": "
Section One Title Goes Here
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": "HAS_DESIGN_DELIVERABLE",
+ "options": [
+ {
+ "disableCondition": "HAS_DEV_DELIVERABLE",
+ "summaryLabel": "Concept",
+ "description": "We will produce high-quality screens with different directions that would help you define your product direction, and present to stakeholders.",
+ "label": "I need best-in-class, research-grade outcomes. I am willing to accept a longer lead-time of 5-6 weeks, wherein real-time competition and objective scoring on a public leaderboard delivers maximum performance results.",
+ "value": "concept-designs"
+ },
+ {
+ "summaryLabel": "Comprehensive design",
+ "autoSelectCondition": "HAS_DEV_DELIVERABLE",
+ "description": "Our designers will create all the design deliverables for your app, including app icons, design specifications, and design assets.",
+ "label": "Comprehensive design for development",
+ "value": "comprehensive-designs"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ },
+ {
+ "fieldName": "details.appDefinition.quickTurnaround",
+ "icon": "question",
+ "description": "",
+ "title": "No problem! We can get you high-quality concept designs within a week. Do you need designs faster than this?",
+ "type": "radio-group",
+ "summaryTitle": "Quick Turnaround",
+ "validationError": "Please, choose your time expectations.",
+ "required": true,
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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": "CONCEPT_DESIGN",
+ "options": [
+ {
+ "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.",
+ "label": "Yes, I need designs ASAP",
+ "value": "under-3-days"
+ },
+ {
+ "summaryLabel": "6 days",
+ "description": "Topcoder will create agency-quality design variants for your app within 7 days.",
+ "label": "A week works for me!",
+ "value": "under-6-days"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "deliverables",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.targetDevices",
+ "icon": "question",
+ "description": "Select maximum 2 types of platforms 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.",
+ "title": "Where should your app work?",
+ "type": "checkbox-group",
+ "summaryTitle": "Devices",
+ "validationError": "Please, select devices",
+ "required": true,
+ "help": {
+ "linkTitle": "What to choose",
+ "title": "What to choose",
+ "content": "
Section One Title Goes Here
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": "( HAS_DESIGN_DELIVERABLE || HAS_DEV_DELIVERABLE )",
+ "affectsQuickQuote": true,
+ "options": [
+ {
+ "description": "Your app would work in all mobile devices. Our most requested option.",
+ "label": "Mobile",
+ "value": "mobile"
+ },
+ {
+ "description": "Your app would be optimized for the larger form-factor of a tablet device.",
+ "label": "Tablet",
+ "value": "tablet"
+ },
+ {
+ "description": "We will deliver a native desktop app, working under the selected desktop OS.",
+ "label": "Desktop",
+ "value": "desktop"
+ },
+ {
+ "description": "Your app would be accessed via any web browser on desktop and mobile devices alike.",
+ "label": "Web Browser",
+ "value": "web-browser"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ },
+ {
+ "help": {
+ "linkTitle": "Which platforms to select?",
+ "title": "Which platforms to select?",
+ "content": "
Section One Title Goes Here
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.targetDevices contains 'mobile' ) || ( details.appDefinition.targetDevices contains 'tablet' )",
+ "fieldName": "details.appDefinition.mobilePlatforms",
+ "affectsQuickQuote": true,
+ "icon": "question",
+ "options": [
+ {
+ "description": "Your app would work on iOS phones. We will develop it using Objective-C and SWIFT",
+ "label": "iOS",
+ "value": "ios"
+ },
+ {
+ "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.",
+ "label": "Android",
+ "value": "android"
+ }
+ ],
+ "description": "Select maximum 2 types of platforms 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.",
+ "theme": "light",
+ "title": "What type of platform do you need?",
+ "type": "checkbox-group",
+ "summaryTitle": "Mobile platforms"
+ },
+ {
+ "fieldName": "details.appDefinition.nativeHybrid",
+ "icon": "question",
+ "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.",
+ "title": "Does your app need to be Native or Hybrid?",
+ "type": "radio-group",
+ "summaryTitle": "App Type",
+ "validationError": "Please let us know the type of the app?",
+ "required": true,
+ "help": {
+ "linkTitle": "Which OS to select?",
+ "title": "Which OS to select?",
+ "content": "
Section One Title Goes Here
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.mobilePlatforms contains 'ios' ) || ( details.appDefinition.mobilePlatforms contains 'android' )",
+ "options": [
+ {
+ "description": "A native mobile app is a smartphone application that is coded in a specific programming language, such as Objective C for iOS or Java for Android operating systems.",
+ "label": "Native",
+ "value": "native"
+ },
+ {
+ "description": "A hybrid application (hybrid app) is one that combines elements of both native and Web applications.",
+ "label": "Hybrid",
+ "value": "hybrid"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ },
+ {
+ "fieldName": "details.appDefinition.progressiveResponsive",
+ "icon": "question",
+ "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.",
+ "title": "Should your web app be progressive or responsive?",
+ "type": "radio-group",
+ "summaryTitle": "Web App Type",
+ "validationError": "Please let us know the type of web app?",
+ "required": true,
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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.targetDevices contains 'web-browser' )",
+ "options": [
+ {
+ "description": "Your app would be optimized for all devices desktops.",
+ "label": "Progressive",
+ "value": "progressive"
+ },
+ {
+ "description": "Your app would be optimized for all devices from mobile phones to large desktops.",
+ "label": "Responsive",
+ "value": "responsive"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "target-devices-os",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.numberScreens",
+ "icon": "question",
+ "description": "This is the most popular project size that can get a medium-sized app designed in a breeze",
+ "title": "How many screens do you need?",
+ "type": "radio-group",
+ "summaryTitle": "Screens",
+ "validationError": "Please let us know the number of screens required?",
+ "required": true,
+ "help": {
+ "linkTitle": "What are screens?",
+ "title": "What are screens?",
+ "content": "
Section One Title Goes Here
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.
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": "( HAS_QA_DELIVERABLE && ONE_DELIVERABLE )",
+ "fieldName": "details.appDefinition.qaType",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Real World Unstructured Testing",
+ "value": "real-world-unstructured"
+ },
+ {
+ "label": "Real World Structured Testing",
+ "value": "real-world-structured"
+ },
+ {
+ "label": "Mobility Testing",
+ "value": "mobility-testing"
+ },
+ {
+ "label": "Automation Testing",
+ "value": "automated-testing"
+ },
+ {
+ "label": "Performance Testing",
+ "value": "performance-testing"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "What type of QA you need?",
+ "type": "radio-group",
+ "validationError": "Please, choose what do you need.",
+ "required": true
+ },
+ {
+ "help": {
+ "linkTitle": "What work is right for me?",
+ "title": "What work is right for me?",
+ "content": "
Section One Title Goes Here
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": "REAL_WORLD_STRUCT_TESTING",
+ "fieldName": "details.appDefinition.structuredTestWorkType",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Test Case Creation",
+ "value": "test-case-creation"
+ },
+ {
+ "label": "Test Case Execution",
+ "value": "test-case-execution"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "What do you need us to help you with?",
+ "type": "checkbox-group",
+ "validationError": "Please, choose what do you need us to help with.",
+ "required": true
+ },
+ {
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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": "REAL_WORLD_STRUCT_TESTING",
+ "fieldName": "details.appDefinition.structuredTestsCount",
+ "icon": "question",
+ "options": [
+ {
+ "condition": "(STRUCT_TEST_CASE_CREATION && ONE_QA_DELIVERABLE)",
+ "label": "Up to 50 test cases",
+ "value": "upto-50"
+ },
+ {
+ "condition": "(STRUCT_TEST_CASE_CREATION && ONE_QA_DELIVERABLE)",
+ "label": "Up to 100 test cases",
+ "value": "upto-100"
+ },
+ {
+ "condition": "(STRUCT_TEST_CASE_EXECUTION)",
+ "label": "Up to 150 test cases",
+ "value": "upto-150"
+ },
+ {
+ "condition": "(STRUCT_TEST_CASE_EXECUTION)",
+ "label": "Up to 300 test cases",
+ "value": "upto-300"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "How many test cases do you need?",
+ "type": "radio-group",
+ "validationError": "Please, choose how many test cases you need or have.",
+ "required": true
+ },
+ {
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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": "REAL_WORLD_UNSTRUCT_TESTING",
+ "fieldName": "details.appDefinition.unstructuredTestsScreenCount",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Up to 10",
+ "value": "upto-10"
+ },
+ {
+ "label": "Up to 30",
+ "value": "upto-30"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "How many screens need to be tested?",
+ "type": "radio-group",
+ "validationError": "Please, choose how many test cases you need or have.",
+ "required": true
+ },
+ {
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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": "AUTOMATED_TESTING",
+ "fieldName": "details.appDefinition.automatedTestsCount",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Up to 50 test cases",
+ "value": "upto-50"
+ },
+ {
+ "label": "Up to 100 test cases",
+ "value": "upto-100"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "How many test cases do you need?",
+ "type": "radio-group",
+ "validationError": "Please, choose how many test cases you have or need.",
+ "required": true
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "qa-deliverable-questions",
+ "type": "questions"
+ },
+ {
+ "condition": "HAS_DEPLOY_DELIVERABLE",
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.deploymentTargets",
+ "icon": "question",
+ "description": "",
+ "title": "Where do you need your app deployed?",
+ "type": "checkbox-group",
+ "summaryTitle": "Deployment Targets",
+ "validationError": "Please, choose what do you need us to help with.",
+ "required": true,
+ "help": {
+ "linkTitle": "What work is right for me?",
+ "title": "What work is right for me?",
+ "content": "
Section One Title Goes Here
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": "HAS_DEPLOY_DELIVERABLE",
+ "options": [
+ {
+ "condition": "( ONE_DELIVERABLE || (details.appDefinition.mobilePlatforms contains 'ios') )",
+ "description": "Apple App Store Deployment",
+ "label": "Apple App Store",
+ "value": "apple-app-store"
+ },
+ {
+ "condition": "( ONE_DELIVERABLE || (details.appDefinition.mobilePlatforms contains 'android') )",
+ "description": "Google App Store Deployment",
+ "label": "Google Play",
+ "value": "google-play"
+ },
+ {
+ "condition": "( ONE_DELIVERABLE || (details.appDefinition.targetDevices contains 'desktop') || (details.appDefinition.targetDevices contains 'web-browser') )",
+ "description": "Deployment to your internal production environment",
+ "label": "Internal Production Environment",
+ "value": "internal-production-environment"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "deployment-deliverable-questions",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.caNeeded",
+ "icon": "question",
+ "description": "",
+ "title": "Do you want a Community Architect to oversee your project?",
+ "type": "radio-group",
+ "summaryTitle": "Architect",
+ "validationError": "Please, ley us know if you need a dedicated manager.",
+ "required": true,
+ "help": {
+ "linkTitle": "Do I need an architect?",
+ "title": "Do I need an architect?",
+ "content": "
Section One Title Goes Here
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": "!( MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP)",
+ "options": [
+ {
+ "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.",
+ "label": "Yes (Managed)",
+ "value": "yes"
+ },
+ {
+ "summaryLabel": "No",
+ "description": "You will have to take technical decisions and discuss requirements with our project managers.",
+ "label": "No (Unmanaged)",
+ "value": "no"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "tc-services-questions",
+ "type": "questions"
+ },
+ {
+ "condition": "MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP",
+ "fieldName": "details.appDefinition.message",
+ "hideTitle": true,
+ "description": "Wow! We love your idea. This is a very complex, technical solution. We will take a look at your project and contact you regarding next steps and a quote.",
+ "id": "customeQuote",
+ "title": "Message",
+ "type": "message"
+ }
+ ],
+ "description": "",
+ "wizard": {
+ "previousStepVisibility": "write",
+ "enabled": true
+ },
+ "id": "appDefinition",
+ "title": "App Definition",
+ "required": true
+ },
+ {
+ "subSections": [
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "static",
+ "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": "HAS_DESIGN_DELIVERABLE",
+ "fieldName": "details.appDefinition.addons.design",
+ "icon": "question",
+ "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.",
+ "theme": "light",
+ "title": "Design features",
+ "type": "add-ons",
+ "category": "design"
+ },
+ {
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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": "HAS_DEV_DELIVERABLE",
+ "fieldName": "details.appDefinition.addons.development",
+ "icon": "question",
+ "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.",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "title": "Development features",
+ "type": "add-ons",
+ "category": "development"
+ },
+ {
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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": "HAS_QA_DELIVERABLE",
+ "fieldName": "details.appDefinition.addons.qa",
+ "icon": "question",
+ "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.",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "title": "QA features",
+ "type": "add-ons",
+ "category": "qa"
+ },
+ {
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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": "HAS_DEPLOY_DELIVERABLE",
+ "fieldName": "details.appDefinition.addons.delivery",
+ "icon": "question",
+ "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.",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "title": "Delivery features",
+ "type": "add-ons",
+ "category": "deployment"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized",
+ "enabled": true
+ },
+ "type": "questions"
+ }
+ ],
+ "wizard": {
+ "enabled": true
+ },
+ "id": "add-ons",
+ "title": "Configure my app"
+ },
+ {
+ "subSections": [
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "static",
+ "content": "
"
+ },
+ {
+ "help": {
+ "linkTitle": "What work is right for me?",
+ "title": "What work is right for me?",
+ "content": "
Section One Title Goes Here
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.
"
+ },
+ "fieldName": "details.appDefinition.deliverables",
+ "icon": "question",
+ "options": [
+ {
+ "summaryLabel": "Design",
+ "description": "We will design your app experience, focusing on the major features and experiences.",
+ "label": "Design",
+ "value": "design"
+ },
+ {
+ "summaryLabel": "Development",
+ "description": "We will develop your app based on existing designs. Building a reliable application for you is our priority. We include standard quality assurance testing at no additional cost when doing any development.",
+ "label": "Development",
+ "value": "dev-qa"
+ },
+ {
+ "disableCondition": "(details.appDefinition.deliverables contains 'dev-qa')",
+ "summaryLabel": "QA",
+ "autoSelectCondition": "(details.appDefinition.deliverables contains 'dev-qa')",
+ "description": "We will extensively test your source code on multiple environments and eliminate any bugs. This will make sure your app is 100% ready for the prime-time.",
+ "label": "QA, Fixes & Enhancements",
+ "value": "qa"
+ },
+ {
+ "description": "Our team will ensure that your code is packaged and distributed correctly on the all target platforms and/or App Stores.",
+ "label": "Deployment",
+ "value": "deployment"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "What do you need?",
+ "type": "checkbox-group",
+ "summaryTitle": "Work needed",
+ "validationError": "Please, choose what do you need.",
+ "required": true
+ },
+ {
+ "fieldName": "details.appDefinition.designGoal",
+ "icon": "question",
+ "description": "",
+ "title": "What is the goal of your designs?",
+ "type": "radio-group",
+ "summaryTitle": "Design goal",
+ "validationError": "Please, choose you design goal.",
+ "required": true,
+ "help": {
+ "linkTitle": "What should I choose?",
+ "title": "What should I choose?",
+ "content": "
Section One Title Goes Here
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.deliverables contains 'design')",
+ "options": [
+ {
+ "disableCondition": "details.appDefinition.deliverables contains 'dev-qa'",
+ "summaryLabel": "Concept",
+ "description": "We will produce high-quality screens with different directions that would help you define your product direction, and present to stakeholders.",
+ "label": "Concept exploration",
+ "value": "concept-designs"
+ },
+ {
+ "summaryLabel": "Comprehensive design",
+ "autoSelectCondition": "(details.appDefinition.deliverables contains 'dev-qa')",
+ "description": "Our designers will create all the design deliverables for your app, including app icons, design specifications, and design assets.",
+ "label": "Comprehensive design for development",
+ "value": "comprehensive-designs"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ },
+ {
+ "fieldName": "details.appDefinition.quickTurnaround",
+ "icon": "question",
+ "description": "",
+ "title": "No problem! We can get you high-quality concept designs within a week. Do you need designs faster than this?",
+ "type": "radio-group",
+ "summaryTitle": "Quick Turnaround",
+ "validationError": "Please, choose your time expectations.",
+ "required": true,
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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.designGoal == 'concept-designs' )",
+ "options": [
+ {
+ "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.",
+ "label": "Yes, I need designs ASAP",
+ "value": "under-3-days"
+ },
+ {
+ "summaryLabel": "6 days",
+ "description": "Topcoder will create agency-quality design variants for your app within 7 days.",
+ "label": "A week works for me!",
+ "value": "under-6-days"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "deliverables",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.targetDevices",
+ "icon": "question",
+ "description": "Select maximum 2 types of platforms 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.",
+ "title": "Where should your app work?",
+ "type": "checkbox-group",
+ "summaryTitle": "Devices",
+ "validationError": "Please, select devices",
+ "required": true,
+ "help": {
+ "linkTitle": "What to choose",
+ "title": "What to choose",
+ "content": "
Section One Title Goes Here
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.deliverables contains 'design') || (details.appDefinition.deliverables contains 'dev-qa') )",
+ "affectsQuickQuote": true,
+ "options": [
+ {
+ "description": "Your app would work in all mobile devices. Our most requested option.",
+ "label": "Mobile",
+ "value": "mobile"
+ },
+ {
+ "description": "Your app would be optimized for the larger form-factor of a tablet device.",
+ "label": "Tablet",
+ "value": "tablet"
+ },
+ {
+ "description": "We will deliver a native desktop app, working under the selected desktop OS.",
+ "label": "Desktop",
+ "value": "desktop"
+ },
+ {
+ "description": "Your app would be accessed via any web browser on desktop and mobile devices alike.",
+ "label": "Web Browser",
+ "value": "web-browser"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ },
+ {
+ "help": {
+ "linkTitle": "Which platforms to select?",
+ "title": "Which platforms to select?",
+ "content": "
Section One Title Goes Here
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.targetDevices contains 'mobile' ) || ( details.appDefinition.targetDevices contains 'tablet' )",
+ "fieldName": "details.appDefinition.mobilePlatforms",
+ "affectsQuickQuote": true,
+ "icon": "question",
+ "options": [
+ {
+ "description": "Your app would work on iOS phones. We will develop it using Objective-C and SWIFT",
+ "label": "iOS",
+ "value": "ios"
+ },
+ {
+ "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.",
+ "label": "Android",
+ "value": "android"
+ }
+ ],
+ "description": "Select maximum 2 types of platforms 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.",
+ "theme": "light",
+ "title": "What type of platform do you need?",
+ "type": "checkbox-group",
+ "summaryTitle": "Mobile platforms"
+ },
+ {
+ "fieldName": "details.appDefinition.nativeHybrid",
+ "icon": "question",
+ "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.",
+ "title": "Does your app need to be Native or Hybrid?",
+ "type": "radio-group",
+ "summaryTitle": "App Type",
+ "validationError": "Please let us know the type of the app?",
+ "required": true,
+ "help": {
+ "linkTitle": "Which OS to select?",
+ "title": "Which OS to select?",
+ "content": "
Section One Title Goes Here
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.mobilePlatforms contains 'ios' ) || ( details.appDefinition.mobilePlatforms contains 'android' )",
+ "options": [
+ {
+ "description": "A native mobile app is a smartphone application that is coded in a specific programming language, such as Objective C for iOS or Java for Android operating systems.",
+ "label": "Native",
+ "value": "native"
+ },
+ {
+ "description": "A hybrid application (hybrid app) is one that combines elements of both native and Web applications.",
+ "label": "Hybrid",
+ "value": "hybrid"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ },
+ {
+ "fieldName": "details.appDefinition.progressiveResponsive",
+ "icon": "question",
+ "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.",
+ "title": "Should your web app be progressive or responsive?",
+ "type": "radio-group",
+ "summaryTitle": "Web App Type",
+ "validationError": "Please let us know the type of web app?",
+ "required": true,
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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.targetDevices contains 'web-browser' )",
+ "options": [
+ {
+ "description": "Your app would be optimized for all devices desktops.",
+ "label": "Progressive",
+ "value": "progressive"
+ },
+ {
+ "description": "Your app would be optimized for all devices from mobile phones to large desktops.",
+ "label": "Responsive",
+ "value": "responsive"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "target-devices-os",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.numberScreens",
+ "icon": "question",
+ "description": "This is the most popular project size that can get a medium-sized app designed in a breeze",
+ "title": "How many screens do you need?",
+ "type": "radio-group",
+ "summaryTitle": "Screens",
+ "validationError": "Please let us know the number of screens required?",
+ "required": true,
+ "help": {
+ "linkTitle": "What are screens?",
+ "title": "What are screens?",
+ "content": "
Section One Title Goes Here
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.
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.deliverables contains 'qa' && details.appDefinition.deliverables hasLength 1 )",
+ "fieldName": "details.appDefinition.qaType",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Real World Unstructured Testing",
+ "value": "real-world-unstructured"
+ },
+ {
+ "label": "Real World Structured Testing",
+ "value": "real-world-structured"
+ },
+ {
+ "label": "Mobility Testing",
+ "value": "mobility-testing"
+ },
+ {
+ "label": "Automation Testing",
+ "value": "automated-testing"
+ },
+ {
+ "label": "Performance Testing",
+ "value": "performance-testing"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "What type of QA you need?",
+ "type": "radio-group",
+ "validationError": "Please, choose what do you need.",
+ "required": true
+ },
+ {
+ "help": {
+ "linkTitle": "What work is right for me?",
+ "title": "What work is right for me?",
+ "content": "
Section One Title Goes Here
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.qaType == 'real-world-structured'",
+ "fieldName": "details.appDefinition.structuredTestWorkType",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Test Case Creation",
+ "value": "test-case-creation"
+ },
+ {
+ "label": "Test Case Execution",
+ "value": "test-case-execution"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "What do you need us to help you with?",
+ "type": "checkbox-group",
+ "validationError": "Please, choose what do you need us to help with.",
+ "required": true
+ },
+ {
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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.qaType == 'real-world-structured'",
+ "fieldName": "details.appDefinition.structuredTestsCount",
+ "icon": "question",
+ "options": [
+ {
+ "condition": "(details.appDefinition.structuredTestWorkType contains 'test-case-creation' && details.appDefinition.structuredTestWorkType hasLength 1)",
+ "label": "Up to 50 test cases",
+ "value": "upto-50"
+ },
+ {
+ "condition": "(details.appDefinition.structuredTestWorkType contains 'test-case-creation' && details.appDefinition.structuredTestWorkType hasLength 1)",
+ "label": "Up to 100 test cases",
+ "value": "upto-100"
+ },
+ {
+ "condition": "(details.appDefinition.structuredTestWorkType contains 'test-case-execution')",
+ "label": "Up to 150 test cases",
+ "value": "upto-150"
+ },
+ {
+ "condition": "(details.appDefinition.structuredTestWorkType contains 'test-case-execution')",
+ "label": "Up to 300 test cases",
+ "value": "upto-300"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "How many test cases do you need?",
+ "type": "radio-group",
+ "validationError": "Please, choose how many test cases you need or have.",
+ "required": true
+ },
+ {
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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.qaType == 'real-world-unstructured'",
+ "fieldName": "details.appDefinition.unstructuredTestsScreenCount",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Up to 10",
+ "value": "upto-10"
+ },
+ {
+ "label": "Up to 30",
+ "value": "upto-30"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "How many screens need to be tested?",
+ "type": "radio-group",
+ "validationError": "Please, choose how many test cases you need or have.",
+ "required": true
+ },
+ {
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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.qaType == 'automated-testing'",
+ "fieldName": "details.appDefinition.automatedTestsCount",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Up to 50 test cases",
+ "value": "upto-50"
+ },
+ {
+ "label": "Up to 100 test cases",
+ "value": "upto-100"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "How many test cases do you need?",
+ "type": "radio-group",
+ "validationError": "Please, choose how many test cases you have or need.",
+ "required": true
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "qa-deliverable-questions",
+ "type": "questions"
+ },
+ {
+ "condition": "details.appDefinition.deliverables contains 'deployment'",
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.deploymentTargets",
+ "icon": "question",
+ "description": "",
+ "title": "Where do you need your app deployed?",
+ "type": "checkbox-group",
+ "summaryTitle": "Deployment Targets",
+ "validationError": "Please, choose what do you need us to help with.",
+ "required": true,
+ "help": {
+ "linkTitle": "What work is right for me?",
+ "title": "What work is right for me?",
+ "content": "
Section One Title Goes Here
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.deliverables contains 'deployment'",
+ "options": [
+ {
+ "condition": "( (details.appDefinition.deliverables hasLength 1) || (details.appDefinition.mobilePlatforms contains 'ios') )",
+ "description": "Apple App Store Deployment",
+ "label": "Apple App Store",
+ "value": "apple-app-store"
+ },
+ {
+ "condition": "( (details.appDefinition.deliverables hasLength 1) || (details.appDefinition.mobilePlatforms contains 'android') )",
+ "description": "Google App Store Deployment",
+ "label": "Google Play",
+ "value": "google-play"
+ },
+ {
+ "condition": "( (details.appDefinition.deliverables hasLength 1) || (details.appDefinition.targetDevices contains 'desktop') || (details.appDefinition.targetDevices contains 'web-browser') )",
+ "description": "Deployment to your internal production environment",
+ "label": "Internal Production Environment",
+ "value": "internal-production-environment"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "deployment-deliverable-questions",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.caNeeded",
+ "icon": "question",
+ "description": "",
+ "title": "Do you want a Community Architect to oversee your project?",
+ "type": "radio-group",
+ "summaryTitle": "Architect",
+ "validationError": "Please, ley us know if you need a dedicated manager.",
+ "required": true,
+ "help": {
+ "linkTitle": "Do I need an architect?",
+ "title": "Do I need an architect?",
+ "content": "
Section One Title Goes Here
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.targetDevices hasLength 1 ) && details.appDefinition.progressiveResponsive == 'responsive')",
+ "options": [
+ {
+ "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.",
+ "label": "Yes (Managed)",
+ "value": "yes"
+ },
+ {
+ "summaryLabel": "No",
+ "description": "You will have to take technical decisions and discuss requirements with our project managers.",
+ "label": "No (Unmanaged)",
+ "value": "no"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "tc-services-questions",
+ "type": "questions"
+ },
+ {
+ "condition": "( (!( details.appDefinition.targetDevices hasLength 1 )) && details.appDefinition.progressiveResponsive == 'responsive')",
+ "fieldName": "details.appDefinition.message",
+ "hideTitle": true,
+ "description": "Wow! We love your idea. This is a very complex, technical solution. We will take a look at your project and contact you regarding next steps and a quote.",
+ "id": "customeQuote",
+ "title": "Message",
+ "type": "message"
+ }
+ ],
+ "description": "",
+ "wizard": {
+ "previousStepVisibility": "write",
+ "enabled": true
+ },
+ "id": "appDefinition",
+ "title": "App Definition",
+ "required": true
+ },
+ {
+ "subSections": [
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "static",
+ "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.deliverables contains 'design')",
+ "fieldName": "details.appDefinition.addons.design",
+ "icon": "question",
+ "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.",
+ "theme": "light",
+ "title": "Design features",
+ "type": "add-ons",
+ "category": "design"
+ },
+ {
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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.deliverables contains 'dev-qa')",
+ "fieldName": "details.appDefinition.addons.development",
+ "icon": "question",
+ "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.",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "title": "Development features",
+ "type": "add-ons",
+ "category": "development"
+ },
+ {
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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.deliverables contains 'qa')",
+ "fieldName": "details.appDefinition.addons.qa",
+ "icon": "question",
+ "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.",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "title": "QA features",
+ "type": "add-ons",
+ "category": "qa"
+ },
+ {
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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.deliverables contains 'deployment')",
+ "fieldName": "details.appDefinition.addons.delivery",
+ "icon": "question",
+ "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.",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "title": "Delivery features",
+ "type": "add-ons",
+ "category": "deployment"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized",
+ "enabled": true
+ },
+ "type": "questions"
+ }
+ ],
+ "wizard": {
+ "enabled": true
+ },
+ "id": "add-ons",
+ "title": "Configure my app"
+ },
+ {
+ "subSections": [
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "static",
+ "content": "
"
+ },
+ {
+ "help": {
+ "linkTitle": "What work is right for me?",
+ "title": "What work is right for me?",
+ "content": "
Section One Title Goes Here
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.
"
+ },
+ "fieldName": "details.appDefinition.deliverables",
+ "icon": "question",
+ "options": [
+ {
+ "summaryLabel": "Design",
+ "description": "We will design your app experience, focusing on the major features and experiences.",
+ "label": "Design",
+ "value": "design"
+ },
+ {
+ "summaryLabel": "Development",
+ "description": "We will develop your app based on existing designs. Building a reliable application for you is our priority. We include standard quality assurance testing at no additional cost when doing any development.",
+ "label": "Development",
+ "value": "dev-qa"
+ },
+ {
+ "disableCondition": "HAS_DEV_DELIVERABLE",
+ "summaryLabel": "QA",
+ "autoSelectCondition": "HAS_DEV_DELIVERABLE",
+ "description": "We will extensively test your source code on multiple environments and eliminate any bugs. This will make sure your app is 100% ready for the prime-time.",
+ "label": "QA, Fixes & Enhancements",
+ "value": "qa"
+ },
+ {
+ "description": "Our team will ensure that your code is packaged and distributed correctly on the all target platforms and/or App Stores.",
+ "label": "Deployment",
+ "value": "deployment"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "What do you need?",
+ "type": "checkbox-group",
+ "summaryTitle": "Work needed",
+ "validationError": "Please, choose what do you need.",
+ "required": true
+ },
+ {
+ "fieldName": "details.appDefinition.designGoal",
+ "icon": "question",
+ "description": "",
+ "title": "What is the goal of your designs?",
+ "type": "radio-group",
+ "summaryTitle": "Design goal",
+ "validationError": "Please, choose you design goal.",
+ "required": true,
+ "help": {
+ "linkTitle": "What should I choose?",
+ "title": "What should I choose?",
+ "content": "
Section One Title Goes Here
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": "HAS_DESIGN_DELIVERABLE",
+ "options": [
+ {
+ "disableCondition": "HAS_DEV_DELIVERABLE",
+ "summaryLabel": "Concept",
+ "description": "We will produce high-quality screens with different directions that would help you define your product direction, and present to stakeholders.",
+ "label": "Concept exploration",
+ "value": "concept-designs"
+ },
+ {
+ "summaryLabel": "Comprehensive design",
+ "autoSelectCondition": "HAS_DEV_DELIVERABLE",
+ "description": "Our designers will create all the design deliverables for your app, including app icons, design specifications, and design assets.",
+ "label": "Comprehensive design for development",
+ "value": "comprehensive-designs"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ },
+ {
+ "fieldName": "details.appDefinition.quickTurnaround",
+ "icon": "question",
+ "description": "",
+ "title": "No problem! We can get you high-quality concept designs within a week. Do you need designs faster than this?",
+ "type": "radio-group",
+ "summaryTitle": "Quick Turnaround",
+ "validationError": "Please, choose your time expectations.",
+ "required": true,
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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": "CONCEPT_DESIGN",
+ "options": [
+ {
+ "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.",
+ "label": "Yes, I need designs ASAP",
+ "value": "under-3-days"
+ },
+ {
+ "summaryLabel": "6 days",
+ "description": "Topcoder will create agency-quality design variants for your app within 7 days.",
+ "label": "A week works for me!",
+ "value": "under-6-days"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "deliverables",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.targetDevices",
+ "icon": "question",
+ "description": "Select maximum 2 types of platforms 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.",
+ "title": "Where should your app work?",
+ "type": "checkbox-group",
+ "summaryTitle": "Devices",
+ "validationError": "Please, select devices",
+ "required": true,
+ "help": {
+ "linkTitle": "What to choose",
+ "title": "What to choose",
+ "content": "
Section One Title Goes Here
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": "( HAS_DESIGN_DELIVERABLE || HAS_DEV_DELIVERABLE )",
+ "affectsQuickQuote": true,
+ "options": [
+ {
+ "description": "Your app would work in all mobile devices. Our most requested option.",
+ "label": "Mobile",
+ "value": "mobile"
+ },
+ {
+ "description": "Your app would be optimized for the larger form-factor of a tablet device.",
+ "label": "Tablet",
+ "value": "tablet"
+ },
+ {
+ "description": "We will deliver a native desktop app, working under the selected desktop OS.",
+ "label": "Desktop",
+ "value": "desktop"
+ },
+ {
+ "description": "Your app would be accessed via any web browser on desktop and mobile devices alike.",
+ "label": "Web Browser",
+ "value": "web-browser"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ },
+ {
+ "help": {
+ "linkTitle": "Which platforms to select?",
+ "title": "Which platforms to select?",
+ "content": "
Section One Title Goes Here
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.targetDevices contains 'mobile' ) || ( details.appDefinition.targetDevices contains 'tablet' )",
+ "fieldName": "details.appDefinition.mobilePlatforms",
+ "affectsQuickQuote": true,
+ "icon": "question",
+ "options": [
+ {
+ "description": "Your app would work on iOS phones. We will develop it using Objective-C and SWIFT",
+ "label": "iOS",
+ "value": "ios"
+ },
+ {
+ "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.",
+ "label": "Android",
+ "value": "android"
+ }
+ ],
+ "description": "Select maximum 2 types of platforms 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.",
+ "theme": "light",
+ "title": "What type of platform do you need?",
+ "type": "checkbox-group",
+ "summaryTitle": "Mobile platforms"
+ },
+ {
+ "fieldName": "details.appDefinition.nativeHybrid",
+ "icon": "question",
+ "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.",
+ "title": "Does your app need to be Native or Hybrid?",
+ "type": "radio-group",
+ "summaryTitle": "App Type",
+ "validationError": "Please let us know the type of the app?",
+ "required": true,
+ "help": {
+ "linkTitle": "Which OS to select?",
+ "title": "Which OS to select?",
+ "content": "
Section One Title Goes Here
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.mobilePlatforms contains 'ios' ) || ( details.appDefinition.mobilePlatforms contains 'android' )",
+ "options": [
+ {
+ "description": "A native mobile app is a smartphone application that is coded in a specific programming language, such as Objective C for iOS or Java for Android operating systems.",
+ "label": "Native",
+ "value": "native"
+ },
+ {
+ "description": "A hybrid application (hybrid app) is one that combines elements of both native and Web applications.",
+ "label": "Hybrid",
+ "value": "hybrid"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ },
+ {
+ "fieldName": "details.appDefinition.progressiveResponsive",
+ "icon": "question",
+ "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.",
+ "title": "Should your web app be progressive or responsive?",
+ "type": "radio-group",
+ "summaryTitle": "Web App Type",
+ "validationError": "Please let us know the type of web app?",
+ "required": true,
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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.targetDevices contains 'web-browser' )",
+ "options": [
+ {
+ "description": "Your app would be optimized for all devices desktops.",
+ "label": "Progressive",
+ "value": "progressive"
+ },
+ {
+ "description": "Your app would be optimized for all devices from mobile phones to large desktops.",
+ "label": "Responsive",
+ "value": "responsive"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "target-devices-os",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.numberScreens",
+ "icon": "question",
+ "description": "This is the most popular project size that can get a medium-sized app designed in a breeze",
+ "title": "How many screens do you need?",
+ "type": "radio-group",
+ "summaryTitle": "Screens",
+ "validationError": "Please let us know the number of screens required?",
+ "required": true,
+ "help": {
+ "linkTitle": "What are screens?",
+ "title": "What are screens?",
+ "content": "
Section One Title Goes Here
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.
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": "( HAS_QA_DELIVERABLE && ONE_DELIVERABLE )",
+ "fieldName": "details.appDefinition.qaType",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Real World Unstructured Testing",
+ "value": "real-world-unstructured"
+ },
+ {
+ "label": "Real World Structured Testing",
+ "value": "real-world-structured"
+ },
+ {
+ "label": "Mobility Testing",
+ "value": "mobility-testing"
+ },
+ {
+ "label": "Automation Testing",
+ "value": "automated-testing"
+ },
+ {
+ "label": "Performance Testing",
+ "value": "performance-testing"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "What type of QA you need?",
+ "type": "radio-group",
+ "validationError": "Please, choose what do you need.",
+ "required": true
+ },
+ {
+ "help": {
+ "linkTitle": "What work is right for me?",
+ "title": "What work is right for me?",
+ "content": "
Section One Title Goes Here
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": "REAL_WORLD_STRUCT_TESTING",
+ "fieldName": "details.appDefinition.structuredTestWorkType",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Test Case Creation",
+ "value": "test-case-creation"
+ },
+ {
+ "label": "Test Case Execution",
+ "value": "test-case-execution"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "What do you need us to help you with?",
+ "type": "checkbox-group",
+ "validationError": "Please, choose what do you need us to help with.",
+ "required": true
+ },
+ {
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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": "REAL_WORLD_STRUCT_TESTING",
+ "fieldName": "details.appDefinition.structuredTestsCount",
+ "icon": "question",
+ "options": [
+ {
+ "condition": "(STRUCT_TEST_CASE_CREATION && ONE_QA_DELIVERABLE)",
+ "label": "Up to 50 test cases",
+ "value": "upto-50"
+ },
+ {
+ "condition": "(STRUCT_TEST_CASE_CREATION && ONE_QA_DELIVERABLE)",
+ "label": "Up to 100 test cases",
+ "value": "upto-100"
+ },
+ {
+ "condition": "(STRUCT_TEST_CASE_EXECUTION)",
+ "label": "Up to 150 test cases",
+ "value": "upto-150"
+ },
+ {
+ "condition": "(STRUCT_TEST_CASE_EXECUTION)",
+ "label": "Up to 300 test cases",
+ "value": "upto-300"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "How many test cases do you need?",
+ "type": "radio-group",
+ "validationError": "Please, choose how many test cases you need or have.",
+ "required": true
+ },
+ {
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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": "REAL_WORLD_UNSTRUCT_TESTING",
+ "fieldName": "details.appDefinition.unstructuredTestsScreenCount",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Up to 10",
+ "value": "upto-10"
+ },
+ {
+ "label": "Up to 30",
+ "value": "upto-30"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "How many screens need to be tested?",
+ "type": "radio-group",
+ "validationError": "Please, choose how many test cases you need or have.",
+ "required": true
+ },
+ {
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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": "AUTOMATED_TESTING",
+ "fieldName": "details.appDefinition.automatedTestsCount",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Up to 50 test cases",
+ "value": "upto-50"
+ },
+ {
+ "label": "Up to 100 test cases",
+ "value": "upto-100"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "How many test cases do you need?",
+ "type": "radio-group",
+ "validationError": "Please, choose how many test cases you have or need.",
+ "required": true
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "qa-deliverable-questions",
+ "type": "questions"
+ },
+ {
+ "condition": "HAS_DEPLOY_DELIVERABLE",
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.deploymentTargets",
+ "icon": "question",
+ "description": "",
+ "title": "Where do you need your app deployed?",
+ "type": "checkbox-group",
+ "summaryTitle": "Deployment Targets",
+ "validationError": "Please, choose what do you need us to help with.",
+ "required": true,
+ "help": {
+ "linkTitle": "What work is right for me?",
+ "title": "What work is right for me?",
+ "content": "
Section One Title Goes Here
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": "HAS_DEPLOY_DELIVERABLE",
+ "options": [
+ {
+ "condition": "( ONE_DELIVERABLE || (details.appDefinition.mobilePlatforms contains 'ios') )",
+ "description": "Apple App Store Deployment",
+ "label": "Apple App Store",
+ "value": "apple-app-store"
+ },
+ {
+ "condition": "( ONE_DELIVERABLE || (details.appDefinition.mobilePlatforms contains 'android') )",
+ "description": "Google App Store Deployment",
+ "label": "Google Play",
+ "value": "google-play"
+ },
+ {
+ "condition": "( ONE_DELIVERABLE || (details.appDefinition.targetDevices contains 'desktop') || (details.appDefinition.targetDevices contains 'web-browser') )",
+ "description": "Deployment to your internal production environment",
+ "label": "Internal Production Environment",
+ "value": "internal-production-environment"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "deployment-deliverable-questions",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.caNeeded",
+ "icon": "question",
+ "description": "",
+ "title": "Do you want a Community Architect to oversee your project?",
+ "type": "radio-group",
+ "summaryTitle": "Architect",
+ "validationError": "Please, ley us know if you need a dedicated manager.",
+ "required": true,
+ "help": {
+ "linkTitle": "Do I need an architect?",
+ "title": "Do I need an architect?",
+ "content": "
Section One Title Goes Here
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": "!( MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP)",
+ "options": [
+ {
+ "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.",
+ "label": "Yes (Managed)",
+ "value": "yes"
+ },
+ {
+ "summaryLabel": "No",
+ "description": "You will have to take technical decisions and discuss requirements with our project managers.",
+ "label": "No (Unmanaged)",
+ "value": "no"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "tc-services-questions",
+ "type": "questions"
+ },
+ {
+ "condition": "MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP",
+ "fieldName": "details.appDefinition.message",
+ "hideTitle": true,
+ "description": "Wow! We love your idea. This is a very complex, technical solution. We will take a look at your project and contact you regarding next steps and a quote.",
+ "id": "customeQuote",
+ "title": "Message",
+ "type": "message"
+ }
+ ],
+ "description": "",
+ "wizard": {
+ "previousStepVisibility": "write",
+ "enabled": true
+ },
+ "id": "appDefinition",
+ "title": "App Definition",
+ "required": true
+ },
+ {
+ "subSections": [
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "static",
+ "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": "HAS_DESIGN_DELIVERABLE",
+ "fieldName": "details.appDefinition.addons.design",
+ "icon": "question",
+ "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.",
+ "theme": "light",
+ "title": "Design features",
+ "type": "add-ons",
+ "category": "design"
+ },
+ {
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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": "HAS_DEV_DELIVERABLE",
+ "fieldName": "details.appDefinition.addons.development",
+ "icon": "question",
+ "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.",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "title": "Development features",
+ "type": "add-ons",
+ "category": "development"
+ },
+ {
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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": "HAS_QA_DELIVERABLE",
+ "fieldName": "details.appDefinition.addons.qa",
+ "icon": "question",
+ "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.",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "title": "QA features",
+ "type": "add-ons",
+ "category": "qa"
+ },
+ {
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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": "HAS_DEPLOY_DELIVERABLE",
+ "fieldName": "details.appDefinition.addons.delivery",
+ "icon": "question",
+ "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.",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "title": "Delivery features",
+ "type": "add-ons",
+ "category": "deployment"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized",
+ "enabled": true
+ },
+ "type": "questions"
+ }
+ ],
+ "wizard": {
+ "enabled": true
+ },
+ "id": "add-ons",
+ "title": "Configure my app"
+ },
+ {
+ "subSections": [
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "static",
+ "content": "
"
+ },
+ {
+ "fieldName": "details.appDefinition.deliverables",
+ "icon": "question",
+ "description": "Select maximum **2 types of platforms** 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.\n- here\n- and here",
+ "title": "What do you need?",
+ "type": "checkbox-group",
+ "summaryTitle": "Work needed",
+ "validationError": "Please, choose what do you need.",
+ "required": true,
+ "help": {
+ "linkTitle": "What work is right for me?",
+ "title": "What work is right for me?",
+ "content": "
Section One Title Goes Here
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.
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.
"
+ },
+ "fieldName": "details.appDefinition.skills",
+ "icon": "question",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "What skills do you need?",
+ "type": "skills",
+ "summaryTitle": "Skills",
+ "validationError": "Please, choose at least one skill.",
+ "required": true,
+ "skillsCategoriesField": "details.appDefinition.deliverables"
+ },
+ {
+ "fieldName": "details.appDefinition.designGoal",
+ "icon": "question",
+ "description": "",
+ "title": "What is the goal of your designs?",
+ "type": "radio-group",
+ "summaryTitle": "Design goal",
+ "validationError": "Please, choose you design goal.",
+ "required": true,
+ "help": {
+ "linkTitle": "What should I choose?",
+ "title": "What should I choose?",
+ "content": "
Section One Title Goes Here
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": "HAS_DESIGN_DELIVERABLE",
+ "options": [
+ {
+ "disableCondition": "HAS_DEV_DELIVERABLE",
+ "summaryLabel": "Concept",
+ "description": "We will produce high-quality screens with different directions that would help you define your product direction, and present to stakeholders.",
+ "label": "Concept exploration",
+ "value": "concept-designs"
+ },
+ {
+ "summaryLabel": "Comprehensive design",
+ "autoSelectCondition": "HAS_DEV_DELIVERABLE",
+ "description": "Our designers will create all the design deliverables for your app, including app icons, design specifications, and design assets.",
+ "label": "Comprehensive design for development",
+ "value": "comprehensive-designs"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ },
+ {
+ "fieldName": "details.appDefinition.quickTurnaround",
+ "icon": "question",
+ "description": "",
+ "title": "No problem! We can get you high-quality concept designs within a week. Do you need designs faster than this?",
+ "type": "radio-group",
+ "summaryTitle": "Quick Turnaround",
+ "validationError": "Please, choose your time expectations.",
+ "required": true,
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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": "CONCEPT_DESIGN",
+ "options": [
+ {
+ "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.",
+ "label": "Yes, I need designs ASAP",
+ "value": "under-3-days"
+ },
+ {
+ "summaryLabel": "6 days",
+ "description": "Topcoder will create agency-quality design variants for your app within 7 days.",
+ "label": "A week works for me!",
+ "value": "under-6-days"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "deliverables",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.targetDevices",
+ "icon": "question",
+ "description": "Select maximum 2 types of platforms 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.",
+ "title": "Where should your app work?",
+ "type": "checkbox-group",
+ "summaryTitle": "Devices",
+ "validationError": "Please, select devices",
+ "required": true,
+ "help": {
+ "linkTitle": "What to choose",
+ "title": "What to choose",
+ "content": "
Section One Title Goes Here
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": "( HAS_DESIGN_DELIVERABLE || HAS_DEV_DELIVERABLE )",
+ "affectsQuickQuote": true,
+ "options": [
+ {
+ "description": "Your app would work in all mobile devices. Our most requested option.",
+ "label": "Mobile",
+ "value": "mobile"
+ },
+ {
+ "description": "Your app would be optimized for the larger form-factor of a tablet device.",
+ "label": "Tablet",
+ "value": "tablet"
+ },
+ {
+ "description": "We will deliver a native desktop app, working under the selected desktop OS.",
+ "label": "Desktop",
+ "value": "desktop"
+ },
+ {
+ "description": "Your app would be accessed via any web browser on desktop and mobile devices alike.",
+ "label": "Web Browser",
+ "value": "web-browser"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ },
+ {
+ "help": {
+ "linkTitle": "Which platforms to select?",
+ "title": "Which platforms to select?",
+ "content": "
Section One Title Goes Here
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.targetDevices contains 'mobile' ) || ( details.appDefinition.targetDevices contains 'tablet' )",
+ "fieldName": "details.appDefinition.mobilePlatforms",
+ "affectsQuickQuote": true,
+ "icon": "question",
+ "options": [
+ {
+ "description": "Your app would work on iOS phones. We will develop it using Objective-C and SWIFT",
+ "label": "iOS",
+ "value": "ios"
+ },
+ {
+ "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.",
+ "label": "Android",
+ "value": "android"
+ }
+ ],
+ "description": "Select maximum 2 types of platforms 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.",
+ "theme": "light",
+ "title": "What type of platform do you need?",
+ "type": "checkbox-group",
+ "summaryTitle": "Mobile platforms"
+ },
+ {
+ "fieldName": "details.appDefinition.nativeHybrid",
+ "icon": "question",
+ "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.",
+ "title": "Does your app need to be Native or Hybrid?",
+ "type": "radio-group",
+ "summaryTitle": "App Type",
+ "validationError": "Please let us know the type of the app?",
+ "required": true,
+ "help": {
+ "linkTitle": "Which OS to select?",
+ "title": "Which OS to select?",
+ "content": "
Section One Title Goes Here
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.mobilePlatforms contains 'ios' ) || ( details.appDefinition.mobilePlatforms contains 'android' )",
+ "options": [
+ {
+ "description": "A native mobile app is a smartphone application that is coded in a specific programming language, such as Objective C for iOS or Java for Android operating systems.",
+ "label": "Native",
+ "value": "native"
+ },
+ {
+ "description": "A hybrid application (hybrid app) is one that combines elements of both native and Web applications.",
+ "label": "Hybrid",
+ "value": "hybrid"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ },
+ {
+ "fieldName": "details.appDefinition.progressiveResponsive",
+ "icon": "question",
+ "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.",
+ "title": "Should your web app be progressive or responsive?",
+ "type": "radio-group",
+ "summaryTitle": "Web App Type",
+ "validationError": "Please let us know the type of web app?",
+ "required": true,
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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.targetDevices contains 'web-browser' )",
+ "options": [
+ {
+ "description": "Your app would be optimized for all devices desktops.",
+ "label": "Progressive",
+ "value": "progressive"
+ },
+ {
+ "description": "Your app would be optimized for all devices from mobile phones to large desktops.",
+ "label": "Responsive",
+ "value": "responsive"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "target-devices-os",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.numberScreens",
+ "icon": "question",
+ "description": "This is the most popular project size that can get a medium-sized app designed in a breeze",
+ "title": "How many screens do you need?",
+ "type": "radio-group",
+ "summaryTitle": "Screens",
+ "validationError": "Please let us know the number of screens required?",
+ "required": true,
+ "help": {
+ "linkTitle": "What are screens?",
+ "title": "What are screens?",
+ "content": "
Section One Title Goes Here
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.
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": "( HAS_QA_DELIVERABLE && ONE_DELIVERABLE )",
+ "fieldName": "details.appDefinition.qaType",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Real World Unstructured Testing",
+ "value": "real-world-unstructured"
+ },
+ {
+ "label": "Real World Structured Testing",
+ "value": "real-world-structured"
+ },
+ {
+ "label": "Mobility Testing",
+ "value": "mobility-testing"
+ },
+ {
+ "label": "Automation Testing",
+ "value": "automated-testing"
+ },
+ {
+ "label": "Performance Testing",
+ "value": "performance-testing"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "What type of QA you need?",
+ "type": "radio-group",
+ "validationError": "Please, choose what do you need.",
+ "required": true
+ },
+ {
+ "help": {
+ "linkTitle": "What work is right for me?",
+ "title": "What work is right for me?",
+ "content": "
Section One Title Goes Here
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": "REAL_WORLD_STRUCT_TESTING",
+ "fieldName": "details.appDefinition.structuredTestWorkType",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Test Case Creation",
+ "value": "test-case-creation"
+ },
+ {
+ "label": "Test Case Execution",
+ "value": "test-case-execution"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "What do you need us to help you with?",
+ "type": "checkbox-group",
+ "validationError": "Please, choose what do you need us to help with.",
+ "required": true
+ },
+ {
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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": "REAL_WORLD_STRUCT_TESTING",
+ "fieldName": "details.appDefinition.structuredTestsCount",
+ "icon": "question",
+ "options": [
+ {
+ "condition": "(STRUCT_TEST_CASE_CREATION && ONE_QA_DELIVERABLE)",
+ "label": "Up to 50 test cases",
+ "value": "upto-50"
+ },
+ {
+ "condition": "(STRUCT_TEST_CASE_CREATION && ONE_QA_DELIVERABLE)",
+ "label": "Up to 100 test cases",
+ "value": "upto-100"
+ },
+ {
+ "condition": "(STRUCT_TEST_CASE_EXECUTION)",
+ "label": "Up to 150 test cases",
+ "value": "upto-150"
+ },
+ {
+ "condition": "(STRUCT_TEST_CASE_EXECUTION)",
+ "label": "Up to 300 test cases",
+ "value": "upto-300"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "How many test cases do you need?",
+ "type": "radio-group",
+ "validationError": "Please, choose how many test cases you need or have.",
+ "required": true
+ },
+ {
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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": "REAL_WORLD_UNSTRUCT_TESTING",
+ "fieldName": "details.appDefinition.unstructuredTestsScreenCount",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Up to 10",
+ "value": "upto-10"
+ },
+ {
+ "label": "Up to 30",
+ "value": "upto-30"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "How many screens need to be tested?",
+ "type": "radio-group",
+ "validationError": "Please, choose how many test cases you need or have.",
+ "required": true
+ },
+ {
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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": "AUTOMATED_TESTING",
+ "fieldName": "details.appDefinition.automatedTestsCount",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Up to 50 test cases",
+ "value": "upto-50"
+ },
+ {
+ "label": "Up to 100 test cases",
+ "value": "upto-100"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "How many test cases do you need?",
+ "type": "radio-group",
+ "validationError": "Please, choose how many test cases you have or need.",
+ "required": true
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "qa-deliverable-questions",
+ "type": "questions"
+ },
+ {
+ "condition": "HAS_DEPLOY_DELIVERABLE",
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.deploymentTargets",
+ "icon": "question",
+ "description": "",
+ "title": "Where do you need your app deployed?",
+ "type": "checkbox-group",
+ "summaryTitle": "Deployment Targets",
+ "validationError": "Please, choose what do you need us to help with.",
+ "required": true,
+ "help": {
+ "linkTitle": "What work is right for me?",
+ "title": "What work is right for me?",
+ "content": "
Section One Title Goes Here
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": "HAS_DEPLOY_DELIVERABLE",
+ "options": [
+ {
+ "condition": "( ONE_DELIVERABLE || (details.appDefinition.mobilePlatforms contains 'ios') )",
+ "description": "Apple App Store Deployment",
+ "label": "Apple App Store",
+ "value": "apple-app-store"
+ },
+ {
+ "condition": "( ONE_DELIVERABLE || (details.appDefinition.mobilePlatforms contains 'android') )",
+ "description": "Google App Store Deployment",
+ "label": "Google Play",
+ "value": "google-play"
+ },
+ {
+ "condition": "( ONE_DELIVERABLE || (details.appDefinition.targetDevices contains 'desktop') || (details.appDefinition.targetDevices contains 'web-browser') )",
+ "description": "Deployment to your internal production environment",
+ "label": "Internal Production Environment",
+ "value": "internal-production-environment"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "deployment-deliverable-questions",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.caNeeded",
+ "icon": "question",
+ "description": "",
+ "title": "Do you want a Community Architect to oversee your project?",
+ "type": "radio-group",
+ "summaryTitle": "Architect",
+ "validationError": "Please, ley us know if you need a dedicated manager.",
+ "required": true,
+ "help": {
+ "linkTitle": "Do I need an architect?",
+ "title": "Do I need an architect?",
+ "content": "
Section One Title Goes Here
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": "!( MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP)",
+ "options": [
+ {
+ "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.",
+ "label": "Yes (Managed)",
+ "value": "yes"
+ },
+ {
+ "summaryLabel": "No",
+ "description": "You will have to take technical decisions and discuss requirements with our project managers.",
+ "label": "No (Unmanaged)",
+ "value": "no"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "tc-services-questions",
+ "type": "questions"
+ },
+ {
+ "condition": "MORE_THAN_ONE_TARGET_DEVICES && IS_WEB_RESP_APP",
+ "fieldName": "details.appDefinition.message",
+ "hideTitle": true,
+ "description": "Wow! We love your idea. This is a very complex, technical solution. We will take a look at your project and contact you regarding next steps and a quote.",
+ "id": "customeQuote",
+ "title": "Message",
+ "type": "message"
+ }
+ ],
+ "description": "",
+ "wizard": {
+ "previousStepVisibility": "write",
+ "enabled": true
+ },
+ "id": "appDefinition",
+ "title": "App Definition",
+ "required": true
+ },
+ {
+ "subSections": [
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "static",
+ "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": "HAS_DESIGN_DELIVERABLE",
+ "fieldName": "details.appDefinition.addons.design",
+ "icon": "question",
+ "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.",
+ "theme": "light",
+ "title": "Design features",
+ "type": "add-ons",
+ "category": "design"
+ },
+ {
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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": "HAS_DEV_DELIVERABLE",
+ "fieldName": "details.appDefinition.addons.development",
+ "icon": "question",
+ "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.",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "title": "Development features",
+ "type": "add-ons",
+ "category": "development"
+ },
+ {
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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": "HAS_QA_DELIVERABLE",
+ "fieldName": "details.appDefinition.addons.qa",
+ "icon": "question",
+ "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.",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "title": "QA features",
+ "type": "add-ons",
+ "category": "qa"
+ },
+ {
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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": "HAS_DEPLOY_DELIVERABLE",
+ "fieldName": "details.appDefinition.addons.delivery",
+ "icon": "question",
+ "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.",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "title": "Delivery features",
+ "type": "add-ons",
+ "category": "deployment"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized",
+ "enabled": true
+ },
+ "type": "questions"
+ }
+ ],
+ "wizard": {
+ "enabled": true
+ },
+ "id": "add-ons",
+ "title": "Configure my app"
+ },
+ {
+ "subSections": [
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "static",
+ "content": "
Your Project Estimate
"
+ }
+ ],
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "type": "portal",
+ "content": [
+ {
+ "sectionIndex": 1
+ },
+ {
+ "sectionIndex": 3
+ }
+ ]
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "estimation",
+ "title": "Your project timeline",
+ "deliverables": [
+ {
+ "duration": 3,
+ "id": "design",
+ "deliverableKey": "design",
+ "title": "Design",
+ "enableCondition": "HAS_DESIGN_DELIVERABLE"
+ },
+ {
+ "duration": 24,
+ "id": "development",
+ "deliverableKey": "dev-qa",
+ "title": "Development",
+ "enableCondition": "HAS_DEV_DELIVERABLE"
+ },
+ {
+ "duration": 3,
+ "id": "qa",
+ "deliverableKey": "qa",
+ "title": "QA",
+ "enableCondition": "HAS_QA_DELIVERABLE"
+ },
+ {
+ "duration": 1,
+ "id": "deployment",
+ "deliverableKey": "deployment",
+ "title": "Deploy",
+ "enableCondition": "HAS_DEPLOY_DELIVERABLE"
+ }
+ ]
+ }
+ ],
+ "type": "questions"
+ }
+ ],
+ "hiddenOnEdit": true,
+ "footer": {
+ "content": ""
+ },
+ "nextButtonText": "Save my project",
+ "id": "summary-final",
+ "hideFormHeader": true
+ }
+ ],
+ "baseTimeEstimateMax": 6,
+ "priceConfigOpt": null
+ },
+ "name": "Subtitle",
+ "disabled": false,
+ "id": 117,
+ "category": "app",
+ "key": "subtitle",
+ "phases": {
+ "2-front-end-development-i": {
+ "duration": 19,
+ "name": "Front-End Development, Pt. I",
+ "products": [
+ {
+ "id": 27,
+ "productKey": "development-iteration-3-milestones"
+ }
+ ]
+ },
+ "4-back-end-development-i": {
+ "duration": 19,
+ "name": "Back-End Development, Pt. I",
+ "products": [
+ {
+ "id": 27,
+ "productKey": "development-iteration-3-milestones"
+ }
+ ]
+ },
+ "3-front-end-development-ii": {
+ "duration": 19,
+ "name": "Front-End Development, Pt. II",
+ "products": [
+ {
+ "id": 27,
+ "productKey": "development-iteration-3-milestones"
+ }
+ ]
+ },
+ "5-back-end-development-ii": {
+ "duration": 19,
+ "name": "Back-End Development, Pt. II",
+ "products": [
+ {
+ "id": 27,
+ "productKey": "development-iteration-3-milestones"
+ }
+ ]
+ },
+ "1-app-design": {
+ "duration": 25,
+ "name": "App Design",
+ "products": [
+ {
+ "id": 26,
+ "productKey": "design-iteration-3-milestones"
+ }
+ ]
+ },
+ "6-qa-and-bug-fixes": {
+ "duration": 24,
+ "name": "QA & Bug Fixes",
+ "products": [
+ {
+ "id": 30,
+ "productKey": "qa-iteration"
+ }
+ ]
+ }
+ },
+ "updatedAt": "2020-01-22T13:22:41.475Z",
+ "info": "Build apps for mobile, web, or wearables"
+ },
+ {
+ "metadata": {},
+ "subCategory": null,
+ "aliases": [
+ "kubik_mobile",
+ "kubik-mobile"
+ ],
+ "updatedBy": 40051333,
+ "question": "What do you need to develop?",
+ "hidden": true,
+ "icon": "../../assets/icons/product-app-app.svg",
+ "priceConfig": null,
+ "deletedBy": null,
+ "planConfig": null,
+ "createdAt": "2018-11-12T12:49:27.000Z",
+ "deletedAt": null,
+ "form": null,
+ "createdBy": 40051333,
+ "scope": {
+ "sections": [
+ {
+ "subSections": [
+ {
+ "fieldName": "name",
+ "description": "",
+ "id": "projectName",
+ "title": "Project Name",
+ "type": "project-name",
+ "required": true,
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "questions": [
+ {
+ "fieldName": "details.businessUnit",
+ "description": "Business Unit or Group function (e.g. ZNA, UK, GF&SU, COMMERCIAL INSURANCE,…)",
+ "validations": "isRequired",
+ "title": "BU",
+ "type": "textinput",
+ "validationError": "Mandatory field",
+ "required": true
+ },
+ {
+ "fieldName": "details.costCentre",
+ "validations": "isRequired",
+ "title": "Cost Centre",
+ "type": "textinput",
+ "validationError": "Mandatory field",
+ "required": true
+ }
+ ],
+ "id": "questions",
+ "title": "Business Unit & Cost Center",
+ "type": "questions",
+ "required": true
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "description",
+ "validationErrors": {
+ "isRequired": "Please provide a description",
+ "minLength": "Please enter at least 160 characters"
+ },
+ "description": "Briefly describe the application we are developing.",
+ "id": "projectInfo",
+ "validations": "isRequired,minLength:160",
+ "title": "Application Overview",
+ "type": "textbox",
+ "required": true
+ },
+ {
+ "fieldName": "details.appDefinition.appType",
+ "icon": "question",
+ "options": [
+ {
+ "label": "iOS App - An app built for iPhone or iPads",
+ "value": "ios"
+ },
+ {
+ "label": "Android App - An app built for mobile phones or tablets running Android.",
+ "value": "android"
+ },
+ {
+ "label": "Desktop web browser application - An app built to be accessed over the web using a desktop browser such as Chrome, Safari and MS Explorer",
+ "value": "desktop-web-browser"
+ },
+ {
+ "label": "Responsive web application - 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.",
+ "value": "responsive-web-application"
+ },
+ {
+ "label": "Progressive web application - An app that is accessed by using a mobile web browser like Safari or Chrome, but that provides a native mobile app experience (rich features, i.e access device features such as GPS).",
+ "value": "progressive-web-application"
+ },
+ {
+ "label": "Other",
+ "value": "other"
+ }
+ ],
+ "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. ",
+ "title": "App Type",
+ "type": "checkbox-group",
+ "required": true,
+ "validationError": "Please let us know the target device"
+ },
+ {
+ "fieldName": "details.appDefinition.nativeHybrid",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Native - An app built for phones or tablets using native iOS or Android (vs. a hybrid framework such has Ionic). ",
+ "value": "native"
+ },
+ {
+ "label": "Hybrid - An app built for phones or tablets using a hybrid framework such has Ionic.",
+ "value": "hybrid"
+ }
+ ],
+ "description": "",
+ "title": "If you need a mobile application, please indicate if it should be native or hybrid",
+ "type": "checkbox-group"
+ },
+ {
+ "fieldName": "details.appDefinition.formFactor",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Mobile Phone - Portrait",
+ "value": "mobile-phone-portrait"
+ },
+ {
+ "label": "Mobile Phone - Landscape",
+ "value": "mobile-phone-landscape"
+ },
+ {
+ "label": "Tablet - Portrait",
+ "value": "tablet-device-portrait"
+ },
+ {
+ "label": "Tablet - Landscape",
+ "value": "tablet-device-landscape"
+ }
+ ],
+ "description": "Please select each for each form factor/orientation that must be supported.",
+ "title": "If you need a mobile application, please indicate the devices you require the application to work on.",
+ "type": "checkbox-group"
+ },
+ {
+ "fieldName": "details.userRoles.requiresAdminInterface",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "yes"
+ },
+ {
+ "label": "No",
+ "value": "no"
+ }
+ ],
+ "title": "Will your application require an admin interface?",
+ "type": "radio-group"
+ },
+ {
+ "fieldName": "details.integrations.requiresIntegration",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "yes"
+ },
+ {
+ "label": "No",
+ "value": "no"
+ }
+ ],
+ "title": "Will your application require integrations to APIs, internal systems, or databases?",
+ "type": "radio-group"
+ }
+ ],
+ "description": "",
+ "id": "user",
+ "title": "Questions",
+ "type": "questions",
+ "required": true
+ },
+ {
+ "hideTitle": false,
+ "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"
+ },
+ {
+ "fieldName": "details.techstack.others",
+ "title": "Others",
+ "type": "textbox"
+ }
+ ],
+ "description": "Do you have a preferred technology stack? If yes, please list those requirements here:",
+ "id": "techStackGeneral",
+ "title": "Do you have a preferred technology stack for programming languages, frameworks, database, servers, middleware, API manager or hosting environments?",
+ "type": "questions",
+ "required": false
+ },
+ {
+ "hideTitle": false,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.screens",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Enterprise Login - Supports integration with an existing authorization/authentication mechanism.",
+ "value": "enterprise-login"
+ },
+ {
+ "label": "Email Login - Support sign in using an email address/password.",
+ "value": "email-login"
+ },
+ {
+ "label": "Social Login - Support register and login using third-party services such as Facebook, Twitter, and Google.",
+ "value": "social-login"
+ },
+ {
+ "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": "registration"
+ },
+ {
+ "label": "Invitations - Allow users to invite others to use your app via email. ",
+ "value": "invitations"
+ },
+ {
+ "label": "Introductions - Present your app and inform users of core functionality using a series of introductory screens before they sign up.",
+ "value": "introductions"
+ },
+ {
+ "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": "onboarding"
+ },
+ {
+ "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": "search"
+ },
+ {
+ "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": "location-based-services"
+ },
+ {
+ "label": "Camera (Audio & Video) - Add this feature if your app will require using the camera to capture audio or video.",
+ "value": "camera"
+ },
+ {
+ "label": "File Upload - Allow users to upload photos or other files.",
+ "value": "file-upload"
+ },
+ {
+ "label": "Notifications - Take advantage of notifications; for example, remind users to do certain tasks or update them on new content.",
+ "value": "notifications"
+ },
+ {
+ "label": "Dashboard - App must have a central dashboard where users can access functionality",
+ "value": "dashboard"
+ },
+ {
+ "label": "Tagging - Allow users to tag products, people or content; for example, in order to classify and easily retrieve notes.",
+ "value": "tagging"
+ },
+ {
+ "label": "Account Settings - Allow your users to adjust settings or specify preferences, such as communication frequency.",
+ "value": "account-settings"
+ },
+ {
+ "label": "Help/FAQs - Include a section dedicated to FAQ or Help content.",
+ "value": "Help/FAQs"
+ },
+ {
+ "label": "Marketplace - Allow users to buy, sell, or rent products or services.",
+ "value": "marketplace"
+ },
+ {
+ "label": "Ratings & Reviews - Let users rate or review people, products, or services.",
+ "value": "ratings-reviews"
+ },
+ {
+ "label": "Payments - Allow users to pay in some way; for example, using credit cards, PayPal, or Bitcoin.",
+ "value": "payments"
+ },
+ {
+ "label": "Shopping Cart - Allow users to save items before purchasing. Please specify your desired functionality below.",
+ "value": "shopping-cart"
+ },
+ {
+ "label": "Product Listing - Add this feature to shows lists of product or services, with individual detail pages for each one.",
+ "value": "product-listing"
+ },
+ {
+ "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": "activity-feed"
+ },
+ {
+ "label": "Profiles - Add this feature if your app requires users to have a profile, including the ability to edit it.",
+ "value": "profiles"
+ },
+ {
+ "label": "Messaging - Allow direct communication between two or more users.",
+ "value": "messaging"
+ },
+ {
+ "label": "Admin Tool - App must have an administrative tool or panel to enable direct management of users, content and the application.",
+ "value": "admin-tool"
+ },
+ {
+ "label": "Social Media Integration - App must integrate with social media providers (Facebook, Instagram, Twitter, Google+, etc)",
+ "value": "social-media-integration"
+ },
+ {
+ "label": "Reporting - App must have the ability to report/export data",
+ "value": "reporting"
+ },
+ {
+ "label": "Contact Us - App must have the ability to allow users to contact an administrator/send feedback to administrators.",
+ "value": "contact-us"
+ },
+ {
+ "label": "3D Touch - If this is an iOS App -- should the designers make use of 3D Touch?",
+ "value": "3d-touch"
+ }
+ ],
+ "description": "",
+ "title": "",
+ "type": "checkbox-group"
+ },
+ {
+ "fieldName": "details.appDefinition.techFeatures",
+ "icon": "question",
+ "options": [
+ {
+ "label": "SSO Integration - App must integrate with enterprise single-sign-on capability.",
+ "value": "enterprise-login"
+ },
+ {
+ "label": "API Integration - App must integrate with a pre-existing API.",
+ "value": "api-integration"
+ },
+ {
+ "label": "Third Party System Integration - App must integrate with an external application or system and either retrieve or post data.",
+ "value": "third-party-system-integration"
+ },
+ {
+ "label": "Containerized Code - The codebase must be containerized via Docker to allow for easier deployment and maintenance.",
+ "value": "containerized-code"
+ },
+ {
+ "label": "Unit Tests - App must have unit tests to ensure code coverage.",
+ "value": "unit-tests"
+ },
+ {
+ "label": "Continuous Integration / Continuous Deployment - Establishment of a CI/CD pipeline.",
+ "value": "continuous-integration-/-continuous-deployment"
+ },
+ {
+ "label": "Analytics Implementation - Implementation of analytics to track user behavior and app usage.",
+ "value": "analytics-implementation"
+ },
+ {
+ "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": "email-(smtp-server)-setup"
+ },
+ {
+ "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": "offline-capability"
+ },
+ {
+ "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": "camera"
+ },
+ {
+ "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": "apple-app-store-&-google-play-submission-support"
+ },
+ {
+ "label": "SMS Gateway Integration - App must integrate with an external SMS gateway/provider for notifications via SMS.",
+ "value": "sms-gateway-integration"
+ },
+ {
+ "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": "error-logging"
+ },
+ {
+ "label": "Face ID / Touch ID -- If this is an iOS App -- should we support Face ID/Touch ID for login",
+ "value": "faceid-touchid"
+ }
+ ],
+ "description": "",
+ "title": "Technology Requirements",
+ "type": "checkbox-group"
+ }
+ ],
+ "description": "",
+ "id": "screen-features",
+ "title": "Screen and Features",
+ "type": "questions",
+ "required": false
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.qaTesting.security",
+ "options": [
+ {
+ "label": "“Enterprise-Grade Security - Recommended if your application will house or transmit personal information personally identifiable information (PII) or sensitive data, such as financial data or health records. The data will be encrypted on the device and the server.",
+ "value": "enterprise"
+ },
+ {
+ "label": "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": "auditing"
+ },
+ {
+ "label": "Mobile Device Management (MDM) - Do you employ an MDM solution? If yes, what service do you use?",
+ "value": "mdm"
+ }
+ ],
+ "description": "Please select each required security requirement above.",
+ "title": "Security Requirements",
+ "type": "checkbox-group"
+ },
+ {
+ "fieldName": "details.qaTesting.employMDMSolution",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "yes"
+ },
+ {
+ "label": "No",
+ "value": "no"
+ }
+ ],
+ "title": "Mobile Device Management (MDM) - Do you employ an MDM solution? If yes, what service do you use?",
+ "type": "radio-group"
+ },
+ {
+ "condition": "details.qaTesting.employMDMSolution == 'yes'",
+ "fieldName": "details.qaTesting.mdmSolution",
+ "title": "Mobile Device Management (MDM) Details",
+ "type": "textinput"
+ },
+ {
+ "fieldName": "details.qaTesting.testing",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Real World Unstructured Testing - Functional testing performed without test scripts. Users search for their own bugs or usability issues.",
+ "value": "rw-unstructured"
+ },
+ {
+ "label": "Real world Structured Testing - Test case creation and execution, covering all functional requirements and cross-browser testing.",
+ "value": "rw-structured"
+ },
+ {
+ "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": "certification"
+ },
+ {
+ "label": "Mobile Device Lab on Hire - Allows you to remotely access devices in real cell networks across the world",
+ "value": "devicelab"
+ },
+ {
+ "label": "Performance Testing - Testing web application’s robustness, availability, and reliability for defined business scenarios and concurrent users.",
+ "value": "performanceTuning"
+ },
+ {
+ "label": "UAT Test Cycle - Plan a beta test cycle where your company’s users can perform quality assurance testing and bug fixes/enhancements can be implemented based upon user feedback.",
+ "value": "uat-cycle"
+ }
+ ],
+ "description": "Quality matters to Topcoder. With any development project that Topcoder executes, standard quality assurance practices (Include more description) are included in the delivery process to ensure quality. The options below are additional quality assurance testing that you can include in the scope of your project. Please note that each added feature may incur a cost, but that the cost will be detailed and broken out in the final project proposal.",
+ "title": "Quality Assurance",
+ "type": "checkbox-group"
+ },
+ {
+ "fieldName": "details.qaTesting.requiresTestDataCreation",
+ "options": [
+ {
+ "label": "Yes",
+ "value": "yes"
+ },
+ {
+ "label": "No",
+ "value": "no"
+ }
+ ],
+ "title": "Test Data - Should we create test data as part of the project, or will you provide obfuscated test data?",
+ "type": "radio-group"
+ },
+ {
+ "fieldName": "details.qaTesting.userCount",
+ "title": "User Count - How many users do you anticipate the application will have?",
+ "type": "numberinput"
+ }
+ ],
+ "description": "",
+ "title": "Quality Assurance, Testing and Security",
+ "type": "questions"
+ },
+ {
+ "hideTitle": false,
+ "questions": [
+ {
+ "fieldName": "details.loadDetails.budget",
+ "icon": "question",
+ "options": [
+ {
+ "title": "Under $25K ",
+ "value": "upto-25"
+ },
+ {
+ "title": "$25K to $50K",
+ "value": "upto-50"
+ },
+ {
+ "title": "$50K to $75K",
+ "value": "upto-75"
+ },
+ {
+ "title": "$75K to $100K",
+ "value": "upto-100"
+ },
+ {
+ "title": "$100K+",
+ "value": "above-100"
+ }
+ ],
+ "description": "How much budget do you have?",
+ "title": "Budget",
+ "type": "slide-radiogroup",
+ "required": true,
+ "validationError": "Please provide expected hours of execution"
+ },
+ {
+ "fieldName": "details.loadDetails.timeline",
+ "icon": "question",
+ "options": [
+ {
+ "title": "Under 1 month",
+ "value": "upto-1month"
+ },
+ {
+ "title": "1 to 2 months",
+ "value": "upto-2months"
+ },
+ {
+ "title": "2 to 3 months",
+ "value": "upto-3months"
+ },
+ {
+ "title": "3 to 6 months",
+ "value": "upto-6months"
+ }
+ ],
+ "description": "When do you need your solution?",
+ "title": "Timeline",
+ "type": "slide-radiogroup",
+ "required": true,
+ "validationError": "Please provide expected hours of execution"
+ }
+ ],
+ "description": "",
+ "title": "Budget and Timeline",
+ "type": "questions"
+ },
+ {
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g. links to documents or existing applications)",
+ "id": "notes",
+ "title": "Notes",
+ "type": "notes"
+ },
+ {
+ "hiddenOnCreation": true,
+ "fieldName": "attachments",
+ "description": "",
+ "id": "files",
+ "title": "Files",
+ "type": "files",
+ "required": false
+ }
+ ],
+ "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.",
+ "id": "appDefinition",
+ "title": "Enterprise Mobile",
+ "required": true
+ }
+ ]
+ },
+ "name": "Zurich Mobile",
+ "disabled": false,
+ "id": 23,
+ "category": "app",
+ "key": "enterprise_mobile",
+ "phases": {
+ "2-front-end-development-i": {
+ "duration": 19,
+ "name": "Front-End Development, Pt. I",
+ "products": [
+ {
+ "id": 27,
+ "productKey": "development-iteration-3-milestones"
+ }
+ ]
+ },
+ "4-back-end-development-i": {
+ "duration": 19,
+ "name": "Back-End Development, Pt. I",
+ "products": [
+ {
+ "id": 27,
+ "productKey": "development-iteration-3-milestones"
+ }
+ ]
+ },
+ "enterprise_mobile": {
+ "duration": 10,
+ "name": "Enterprise Mobile",
+ "products": [
+ {
+ "id": 6,
+ "productKey": "enterprise_mobile"
+ }
+ ]
+ },
+ "3-front-end-development-ii": {
+ "duration": 19,
+ "name": "Front-End Development, Pt. II",
+ "products": [
+ {
+ "id": 27,
+ "productKey": "development-iteration-3-milestones"
+ }
+ ]
+ },
+ "5-back-end-development-ii": {
+ "duration": 19,
+ "name": "Back-End Development, Pt. II",
+ "products": [
+ {
+ "id": 27,
+ "productKey": "development-iteration-3-milestones"
+ }
+ ]
+ },
+ "1-app-design": {
+ "duration": 25,
+ "name": "App Design",
+ "products": [
+ {
+ "id": 26,
+ "productKey": "design-iteration-3-milestones"
+ }
+ ]
+ },
+ "6-qa-and-bug-fixes": {
+ "duration": 24,
+ "name": "QA & Bug Fixes",
+ "products": [
+ {
+ "id": 30,
+ "productKey": "qa-iteration"
+ }
+ ]
+ }
+ },
+ "updatedAt": "2020-01-22T13:22:41.364Z",
+ "info": "Zurich Mobile App"
+ },
+ {
+ "metadata": {},
+ "subCategory": null,
+ "aliases": [
+ "visual_design_prod_from_prod_max"
+ ],
+ "updatedBy": 40051333,
+ "question": "Visual Design 1",
+ "hidden": true,
+ "icon": "product-design-app-visual",
+ "priceConfig": null,
+ "deletedBy": null,
+ "planConfig": null,
+ "createdAt": "2019-06-28T09:25:32.000Z",
+ "deletedAt": null,
+ "form": null,
+ "createdBy": 40051333,
+ "scope": {
+ "sections": [
+ {
+ "subSections": [
+ {
+ "fieldName": "name",
+ "description": "",
+ "id": "projectName",
+ "title": "Project Name",
+ "type": "project-name",
+ "required": true,
+ "validationError": "Please provide a name for your project"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.numberScreens",
+ "icon": "question",
+ "options": [
+ {
+ "iconOptions": {
+ "number": "1-3"
+ },
+ "price": 3623,
+ "icon": "NumberText",
+ "title": "screens",
+ "value": "1-3",
+ "desc": "5-7 days"
+ },
+ {
+ "iconOptions": {
+ "number": "4-8"
+ },
+ "price": 7199,
+ "icon": "NumberText",
+ "title": "screens",
+ "value": "4-8",
+ "desc": "7-10 days"
+ },
+ {
+ "iconOptions": {
+ "number": "9-15"
+ },
+ "price": 279,
+ "icon": "NumberText",
+ "title": "screens",
+ "value": "9-15",
+ "desc": "8-10 days"
+ }
+ ],
+ "description": "This is the most popular project size that can get a medium-sized app designed in a breeze",
+ "title": "How many screens do you need designed?",
+ "type": "tiled-radio-group",
+ "required": true,
+ "validationError": "Please let us know the number of screens required"
+ },
+ {
+ "fieldName": "details.appDefinition.primaryTarget",
+ "icon": "question",
+ "options": [
+ {
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "icon": "IconTechOutlineMobile",
+ "title": "Phone",
+ "value": "Phone",
+ "desc": "iOS, Android, Hybrid"
+ },
+ {
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "icon": "IconTechOutlineTablet",
+ "title": "Tablet",
+ "value": "Tablet",
+ "desc": "iOS, Android, Hybrid"
+ },
+ {
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "icon": "IconTechOutlineDesktop",
+ "title": "Desktop",
+ "value": "Desktop",
+ "desc": "all OS"
+ },
+ {
+ "iconOptions": {
+ "fill": "#00000"
+ },
+ "icon": "IconTechOutlineWatchApple",
+ "title": "Wearable",
+ "value": "Wearable",
+ "desc": "Watch OS, Android Wear"
+ }
+ ],
+ "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.",
+ "title": "Which is your primary device target?",
+ "type": "tiled-radio-group",
+ "required": true,
+ "validationError": "Please let us know the target device"
+ },
+ {
+ "fieldName": "description",
+ "icon": "question",
+ "validationErrors": {
+ "isRequired": "Please provide a description",
+ "minLength": "Please enter at least 160 characters"
+ },
+ "description": "Brief Description",
+ "validations": "isRequired,minLength:160",
+ "id": "projectInfo",
+ "title": "Description",
+ "type": "textbox"
+ },
+ {
+ "fieldName": "details.appDefinition.goal.value",
+ "icon": "question",
+ "description": "Describe your objectives for creating this application",
+ "title": "What is the goal of your application? How will people use it?",
+ "type": "textbox",
+ "required": true,
+ "validationError": "Please let us know the goal of your application"
+ },
+ {
+ "fieldName": "details.appDefinition.users.value",
+ "icon": "question",
+ "description": "Describe the roles and needs of your target users",
+ "title": "Who are the users of your application? ",
+ "type": "textbox",
+ "required": true,
+ "validationError": "Please let us know users of your application"
+ }
+ ],
+ "description": "",
+ "id": "questions",
+ "title": "Questions",
+ "type": "questions",
+ "required": true
+ },
+ {
+ "fieldName": "details.appDefinition.notes",
+ "description": "Add any other important information regarding your project (e.g., links to documents or existing applications)",
+ "id": "notes",
+ "title": "Notes",
+ "type": "notes"
+ },
+ {
+ "hiddenOnCreation": true,
+ "fieldName": "attachments",
+ "description": "",
+ "id": "files",
+ "title": "Files",
+ "type": "files",
+ "required": false
+ }
+ ],
+ "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.",
+ "id": "appDefinition",
+ "title": "",
+ "required": true
+ }
+ ]
+ },
+ "name": "Visual Design from PROD (max)",
+ "disabled": false,
+ "id": 212,
+ "category": "scoped-solutions",
+ "key": "visual_design_prod_from_prod_max",
+ "phases": {
+ "1-dev-iteration-i": {
+ "duration": 25,
+ "name": "Dev Iteration",
+ "products": [
+ {
+ "id": 29,
+ "productKey": "development-iteration-5-milestones"
+ }
+ ]
+ }
+ },
+ "updatedAt": "2020-01-22T13:22:41.364Z",
+ "info": "Create development-ready designs"
+ },
+ {
+ "metadata": {},
+ "subCategory": null,
+ "aliases": [
+ "cs-generic-development-1"
+ ],
+ "updatedBy": 40051333,
+ "question": "Development Integration",
+ "hidden": false,
+ "icon": "../../assets/icons/product-dev-other.svg",
+ "priceConfig": null,
+ "deletedBy": null,
+ "planConfig": null,
+ "createdAt": "2019-12-20T10:41:51.187Z",
+ "deletedAt": null,
+ "form": null,
+ "createdBy": 40051333,
+ "scope": {
+ "buildingBlocks": {},
+ "preparedConditions": {
+ "EXPECTED_OUTCOME_POC": "(details.compVisDefinition.expectedOutcomes == 'poc')",
+ "LABELING_REQUIERD": "(details.compVisDefinition.isDataLabelingRequired == 'yes')",
+ "HAS_POC_DELIVERABLE": "(details.compVisDefinition.expectedOutcomes == 'poc')",
+ "HAS_RESEARCH_GRADE_DELIVERABLE": "(details.compVisDefinition.expectedOutcomes == 'research-grade')",
+ "EXPECTED_OUTCOME_RESEARCH_GRADE": "(details.compVisDefinition.expectedOutcomes == 'research-grade')",
+ "ONE_DELIVERABLE": "( 1 == 1)",
+ "LABELING_NOT_REQUIERD": "(details.compVisDefinition.isDataLabelingRequired == 'no')",
+ "TRUTHY": "( 1 == 1)",
+ "DATA_NOT_LABELED": "(details.compVisDefinition.isDataLabeled == 'no')",
+ "PROD_PREP_NOT_REQUIRED": "(details.compVisDefinition.productionPrepRequired == 'no')",
+ "DATA_LABELED": "(details.compVisDefinition.isDataLabeled == 'yes')",
+ "PROD_PREP_REQUIRED": "(details.compVisDefinition.productionPrepRequired == 'yes')"
+ },
+ "addonPriceConfig": {
+ "ONE_DELIVERABLE": []
+ },
+ "priceConfig-old": null,
+ "basePriceEstimate": 0,
+ "priceConfig": {},
+ "wizard": {
+ "previousStepVisibility": "none",
+ "enabled": true
+ },
+ "baseTimeEstimateMin": 3,
+ "sections": [
+ {
+ "subSections": [
+ {
+ "hideTitle": true,
+ "description": "We will ask you several questions in order to determine your project’s scope. All estimates are based on our 15 years of experience and thousands of projects. Final prices will be determined after our team completes a final scope review.",
+ "theme": "light",
+ "type": "message"
+ },
+ {
+ "questions": [
+ {
+ "fieldName": "name",
+ "theme": "light",
+ "validations": "isRequired",
+ "type": "textinput",
+ "title": "Name your project",
+ "validationError": "Please, provide a name to your project",
+ "required": true
+ },
+ {
+ "fieldName": "details.utm.code",
+ "theme": "light",
+ "type": "textinput",
+ "title": "Do you have a Reference code? (optional)"
+ }
+ ],
+ "title": "App details",
+ "type": "questions"
+ }
+ ],
+ "statusText": "Let's go!",
+ "id": "project-basic-details",
+ "title": "Data Science Ideation"
+ },
+ {
+ "subSections": [
+ {
+ "questions": [
+ {
+ "hiddenOnEdit": true,
+ "type": "static",
+ "content": "
{{name}}
{{description}}
"
+ },
+ {
+ "fieldName": "details.dsIdeation.problemStatement",
+ "icon": "question",
+ "description": "",
+ "title": "Please state the problem you would like to solve.",
+ "type": "textbox",
+ "summaryTitle": "Problem Statement",
+ "required": true,
+ "validationError": "Please, provide problem statement/concept for your project"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "background",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.dsIdeation.criteria",
+ "icon": "question",
+ "description": "Consider how you will differentiate between first and second place solutions",
+ "title": "Describe the criteria you would like to use for deciding winning options.",
+ "type": "textbox",
+ "summaryTitle": "Winning Criteria",
+ "required": true,
+ "validationError": "Please, describe the criteria you would like to use for deciding winning options."
+ },
+ {
+ "fieldName": "details.dsIdeation.notes",
+ "icon": "question",
+ "description": "",
+ "title": "Notes: Anything else you’d like to describe?",
+ "type": "textbox",
+ "summaryTitle": "Notes"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "criteriaAndNotes",
+ "type": "questions"
+ }
+ ],
+ "description": "",
+ "wizard": {
+ "previousStepVisibility": "write",
+ "enabled": true
+ },
+ "id": "appDefinition",
+ "title": "Data Science Ideation",
+ "required": true
+ },
+ {
+ "subSections": [
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "static",
+ "content": "
"
+ },
+ {
+ "fieldName": "details.daasDefinition.deliverables",
+ "icon": "question",
+ "options": [
+ {
+ "summaryLabel": "B2BServices",
+ "description": "Automation of business processes and communication/data exchange between two or more organizations.",
+ "label": "Business to Business Services",
+ "value": "b2bServices"
+ },
+ {
+ "summaryLabel": "A2AServices",
+ "description": "Integration between applications.",
+ "label": "Application to Application Services",
+ "value": "a2aServices"
+ },
+ {
+ "summaryLabel": "API & Microservice",
+ "description": "Enable integration and modernization of applications using gateways and microservices framework.",
+ "label": "API Implementation & Microservices",
+ "value": "APIAndMicroservice"
+ },
+ {
+ "summaryLabel": "API Management",
+ "description": "The API governing process for a secure and scalable environment, using tools like APIGEE, Layer 7, IBM API Connect, etc.",
+ "label": "API Management",
+ "value": "APIManagement"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "What do you need?",
+ "type": "radio-group",
+ "summaryTitle": "Solution Needed",
+ "validationError": "Please, choose what do you need.",
+ "required": true
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "deliverables",
+ "type": "questions"
+ },
+ {
+ "condition": "HAS_B2B_DELIVERABLE",
+ "hideTitle": true,
+ "questions": [
+ {
+ "help": {
+ "linkTitle": "Why are we asking?",
+ "title": "Why are we asking partner organizations?",
+ "content": "
Understanding the number of partner organizations that will be onboarded provides context on: - Number of organization profiles to be configured - Number of partner profiles - Number of security methods to be configured - Number of defined contracts for trading partners
"
+ },
+ "condition": "HAS_B2B_DELIVERABLE",
+ "fieldName": "details.daasDefinition.b2b.partnerOrgs",
+ "icon": "question",
+ "description": "",
+ "title": "How many partner organizations will be onboarded?",
+ "type": "textbox",
+ "summaryTitle": "Partner Orgs",
+ "required": true,
+ "validationError": "Please, describe your partner orgnizations"
+ },
+ {
+ "help": {
+ "linkTitle": "Why are we asking?",
+ "title": "Why are we asking partner organizations?",
+ "content": "
Knowing this highlights the number of unique interfaces that will need to be designed and developed, as well as how many will require scheduling and configuration.
"
+ },
+ "condition": "HAS_B2B_DELIVERABLE",
+ "fieldName": "details.daasDefinition.interfaces",
+ "icon": "question",
+ "description": "",
+ "title": "How many interfaces will need to be developed?",
+ "type": "textbox",
+ "summaryTitle": "Interfaces",
+ "required": true,
+ "validationError": "Please, describe interfaces to be developed"
+ },
+ {
+ "help": {
+ "linkTitle": "Why is this important?",
+ "title": "Why is this important?",
+ "content": "
The type of protocol indicates how the business to business services will be connected and communicate.
"
+ },
+ {
+ "help": {
+ "linkTitle": "What work is right for me?",
+ "title": "What work is right for me?",
+ "content": "
Section One Title Goes Here
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.
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.deliverables contains 'design') && (!(details.appDefinition.deliverables contains 'dev-qa'))",
+ "options": [
+ {
+ "summaryLabel": "Concept",
+ "description": "We will produce high-quality screens with different directions that would help you define your product direction, and present to stakeholders.",
+ "label": "Concept exploration",
+ "value": "concept-designs"
+ },
+ {
+ "summaryLabel": "Comprehensive design",
+ "description": "Our designers will create all the design deliverables for your app, including app icons, design specifications, and design assets.",
+ "label": "Comprehensive design for development",
+ "value": "comprehensive-designs"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ },
+ {
+ "help": {
+ "linkTitle": "What is the difference?",
+ "title": "What is the difference?",
+ "content": "
Section One Title Goes Here
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.designGoal == 'concept-designs' )",
+ "fieldName": "details.appDefinition.quickTurnaround",
+ "icon": "question",
+ "options": [
+ {
+ "summaryLabel": "3 days",
+ "minTimeUp": 0,
+ "description": "Our designer consultants will work with you to formulate the app screens and deliver the final concepts within only 3 short days.",
+ "label": "Yes, I need designs ASAP",
+ "value": "under-3-days",
+ "maxTimeUp": 0
+ },
+ {
+ "summaryLabel": "7 days",
+ "minTimeUp": 3,
+ "description": "Topcoder will create agency-quality design variants for your app within 7 days.",
+ "label": "A week works for me!",
+ "value": "under-6-days",
+ "maxTimeUp": 3
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "No problem! We can get you high-quality concept designs within a week. Do you need designs faster than this?",
+ "type": "radio-group",
+ "validationError": "Please, choose your time expectations.",
+ "required": true
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "deliverables",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "fieldName": "details.appDefinition.targetDevices",
+ "icon": "question",
+ "description": "Select maximum 2 types of platforms 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.",
+ "title": "Where should your app work?",
+ "type": "checkbox-group",
+ "summaryTitle": "Devices",
+ "validationError": "Please, select devices",
+ "required": true,
+ "help": {
+ "linkTitle": "What to choose",
+ "title": "What to choose",
+ "content": "
Section One Title Goes Here
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.deliverables contains 'design') || (details.appDefinition.deliverables contains 'dev-qa') )",
+ "affectsQuickQuote": true,
+ "options": [
+ {
+ "description": "Your app would work in all mobile devices. Our most requested option.",
+ "label": "Mobile",
+ "value": "mobile"
+ },
+ {
+ "description": "Your app would be optimized for the larger form-factor of a tablet device.",
+ "label": "Tablet",
+ "value": "tablet"
+ },
+ {
+ "description": "We will deliver a native desktop app, working under the selected desktop OS.",
+ "label": "Desktop",
+ "value": "desktop"
+ },
+ {
+ "description": "Your app would be accessed via any web browser on desktop and mobile devices alike.",
+ "label": "Web Browser",
+ "value": "web-browser"
+ }
+ ],
+ "theme": "light",
+ "validations": "isRequired"
+ },
+ {
+ "help": {
+ "linkTitle": "Which platforms to select?",
+ "title": "Which platforms to select?",
+ "content": "
Section One Title Goes Here
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.targetDevices contains 'mobile' ) || ( details.appDefinition.targetDevices contains 'tablet' )",
+ "fieldName": "details.appDefinition.mobilePlatforms",
+ "affectsQuickQuote": true,
+ "icon": "question",
+ "options": [
+ {
+ "description": "Your app would work on iOS phones. We will develop it using Objective-C and SWIFT",
+ "label": "iOS",
+ "value": "ios"
+ },
+ {
+ "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.",
+ "label": "Android",
+ "value": "android"
+ }
+ ],
+ "description": "Select maximum 2 types of platforms 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.",
+ "theme": "light",
+ "title": "What type of platform do you need?",
+ "type": "checkbox-group",
+ "summaryTitle": "Mobile platforms"
+ },
+ {
+ "help": {
+ "linkTitle": "Which OS to select?",
+ "title": "Which OS to select?",
+ "content": "
Section One Title Goes Here
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.mobilePlatforms contains 'ios' ) || ( details.appDefinition.mobilePlatforms contains 'android' )",
+ "fieldName": "details.appDefinition.nativeHybrid",
+ "icon": "question",
+ "options": [
+ {
+ "description": "A native mobile app is a smartphone application that is coded in a specific programming language, such as Objective C for iOS or Java for Android operating systems.",
+ "label": "Native",
+ "value": "native"
+ },
+ {
+ "description": "A hybrid application (hybrid app) is one that combines elements of both native and Web applications.",
+ "label": "Hybrid",
+ "value": "hybrid"
+ }
+ ],
+ "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.",
+ "theme": "light",
+ "title": "Does your app need to be Native or Hybrid?",
+ "type": "radio-group"
+ },
+ {
+ "help": {
+ "linkTitle": "What is responsive?",
+ "title": "What is responsive?",
+ "content": "
Section One Title Goes Here
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.targetDevices contains 'web-browser' )",
+ "fieldName": "details.appDefinition.progressiveResponsive",
+ "icon": "question",
+ "options": [
+ {
+ "description": "Your app would be optimized for all devices desktops.",
+ "label": "Progressive",
+ "value": "progressive"
+ },
+ {
+ "description": "Your app would be optimized for all devices from mobile phones to large desktops.",
+ "label": "Responsive",
+ "value": "responsive"
+ }
+ ],
+ "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.",
+ "theme": "light",
+ "title": "Should your web app be progressive or responsive?",
+ "type": "radio-group"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "target-devices-os",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "help": {
+ "linkTitle": "What are screens?",
+ "title": "What are screens?",
+ "content": "
Section One Title Goes Here
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.deliverables contains 'design') || (details.appDefinition.deliverables contains 'dev-qa') ) && (!( !( details.appDefinition.targetDevices hasLength 1 ) && details.appDefinition.progressiveResponsive == 'responsive'))",
+ "fieldName": "details.appDefinition.numberScreens",
+ "icon": "question",
+ "options": [
+ {
+ "description": "Suitable for small apps with 2-4 main features",
+ "disabled": false,
+ "label": "2-4 screens",
+ "value": "2-4"
+ },
+ {
+ "description": "Suitable for medium apps with 5-8 main features",
+ "disabled": false,
+ "label": "5-8 screens",
+ "value": "5-8"
+ },
+ {
+ "description": "Suitable for larger apps with 9-15 main features",
+ "disabled": false,
+ "label": "9-15 screens",
+ "value": "9-15"
+ }
+ ],
+ "description": "This is the most popular project size that can get a medium-sized app designed in a breeze",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "How many screens do you need?",
+ "type": "radio-group",
+ "validationError": "Please let us know the number of screens required?",
+ "required": true
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "app-size-questions",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "layout": "vertical",
+ "condition": "( details.appDefinition.deliverables contains 'qa' && details.appDefinition.deliverables hasLength 1 )",
+ "fieldName": "details.appDefinition.qaType",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Real World Unstructured Testing",
+ "value": "real-world-unstructured"
+ },
+ {
+ "label": "Real World Structured Testing",
+ "value": "real-world-structured"
+ },
+ {
+ "label": "Mobility Testing",
+ "value": "mobility-testing"
+ },
+ {
+ "label": "Automation Testing",
+ "value": "automated-testing"
+ },
+ {
+ "label": "Performance Testing",
+ "value": "performance-testing"
+ }
+ ],
+ "description": "",
+ "title": "What type of QA you need?",
+ "type": "radio-group"
+ },
+ {
+ "layout": "horizontal",
+ "condition": "details.appDefinition.qaType == 'real-world-structured'",
+ "fieldName": "details.appDefinition.structuredTestWorkType",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Test Case Creation",
+ "value": "test-case-creation"
+ },
+ {
+ "label": "Test Case Execution",
+ "value": "test-case-execution"
+ }
+ ],
+ "description": "",
+ "title": "What do you need us to help you with?",
+ "type": "checkbox-group"
+ },
+ {
+ "condition": "details.appDefinition.qaType == 'real-world-structured'",
+ "fieldName": "details.appDefinition.structuredTestsCount",
+ "icon": "question",
+ "options": [
+ {
+ "condition": "(details.appDefinition.structuredTestWorkType contains 'test-case-creation' && details.appDefinition.structuredTestWorkType hasLength 1)",
+ "label": "Up to 50 test cases",
+ "value": "upto-50"
+ },
+ {
+ "condition": "(details.appDefinition.structuredTestWorkType contains 'test-case-creation' && details.appDefinition.structuredTestWorkType hasLength 1)",
+ "label": "Up to 100 test cases",
+ "value": "upto-100"
+ },
+ {
+ "condition": "(details.appDefinition.structuredTestWorkType contains 'test-case-execution')",
+ "label": "Up to 150 test cases",
+ "value": "upto-150"
+ },
+ {
+ "condition": "(details.appDefinition.structuredTestWorkType contains 'test-case-execution')",
+ "label": "Up to 300 test cases",
+ "value": "upto-300"
+ }
+ ],
+ "description": "",
+ "title": "How many test cases do you need?",
+ "type": "radio-group"
+ },
+ {
+ "condition": "details.appDefinition.qaType == 'real-world-unstructured'",
+ "fieldName": "details.appDefinition.unstructuredTestsScreenCount",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Up to 10",
+ "value": "upto-10"
+ },
+ {
+ "label": "Up to 30",
+ "value": "upto-30"
+ }
+ ],
+ "description": "",
+ "title": "How many screens need to be tested?",
+ "type": "radio-group"
+ },
+ {
+ "condition": "details.appDefinition.qaType == 'automated-testing'",
+ "fieldName": "details.appDefinition.automatedTestsCount",
+ "icon": "question",
+ "options": [
+ {
+ "label": "Up to 50 test cases",
+ "value": "upto-50"
+ },
+ {
+ "label": "Up to 100 test cases",
+ "value": "upto-100"
+ }
+ ],
+ "description": "",
+ "title": "How many test cases do you need?",
+ "type": "radio-group"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "qa-deliverable-questions",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "layout": "horizontal",
+ "condition": "details.appDefinition.deliverables contains 'deployment'",
+ "fieldName": "details.appDefinition.deploymentTargets",
+ "icon": "question",
+ "options": [
+ {
+ "condition": "( (details.appDefinition.deliverables hasLength 1) || (details.appDefinition.mobilePlatforms contains 'ios') )",
+ "label": "Apple App Store",
+ "value": "apple-app-store"
+ },
+ {
+ "condition": "( (details.appDefinition.deliverables hasLength 1) || (details.appDefinition.mobilePlatforms contains 'android') )",
+ "label": "Google Play",
+ "value": "google-play"
+ },
+ {
+ "condition": "( (details.appDefinition.deliverables hasLength 1) || (details.appDefinition.targetDevices contains 'desktop') || (details.appDefinition.targetDevices contains 'web-browser') )",
+ "label": "Internal Production Environment",
+ "value": "internal-production-environment"
+ }
+ ],
+ "description": "",
+ "title": "Where do you need your app deployed?",
+ "type": "checkbox-group"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "deployment-deliverable-questions",
+ "type": "questions"
+ },
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "help": {
+ "linkTitle": "Do I need an architect?",
+ "title": "Do I need an architect?",
+ "content": "
Section One Title Goes Here
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.targetDevices hasLength 1 ) && details.appDefinition.progressiveResponsive == 'responsive')",
+ "fieldName": "details.appDefinition.caNeeded",
+ "icon": "question",
+ "options": [
+ {
+ "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.",
+ "label": "Yes (Managed)",
+ "value": "yes"
+ },
+ {
+ "summaryLabel": "No",
+ "description": "You will have to take technical decisions and discuss requirements with our project managers.",
+ "label": "No (Unmanaged)",
+ "value": "no"
+ }
+ ],
+ "description": "",
+ "theme": "light",
+ "validations": "isRequired",
+ "title": "Do you want a Community Architect to oversee your project?",
+ "type": "radio-group",
+ "validationError": "Please, ley us know if you need a dedicated manager.",
+ "required": true
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized"
+ },
+ "id": "tc-services-questions",
+ "type": "questions"
+ },
+ {
+ "condition": "( (!( details.appDefinition.targetDevices hasLength 1 )) && details.appDefinition.progressiveResponsive == 'responsive')",
+ "fieldName": "details.appDefinition.message",
+ "hideTitle": true,
+ "description": "Wow! We love your idea. This is a very complex, technical solution. We will take a look at your project and contact you regarding next steps and a quote.",
+ "id": "customeQuote",
+ "title": "Message",
+ "type": "message"
+ },
+ {
+ "fieldName": "details.appDefinition.message",
+ "hideTitle": true,
+ "description": "If you are done with requirements for your projects please review and continue to create project.",
+ "id": "message",
+ "title": "Message",
+ "type": "message"
+ }
+ ],
+ "description": "",
+ "wizard": {
+ "previousStepVisibility": "write",
+ "enabled": true
+ },
+ "id": "appDefinition",
+ "title": "App Definition",
+ "required": true
+ },
+ {
+ "subSections": [
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "static",
+ "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')",
+ "fieldName": "details.appDefinition.addons.design",
+ "icon": "question",
+ "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.",
+ "theme": "light",
+ "title": "Design features",
+ "type": "add-ons",
+ "category": "generic"
+ },
+ {
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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')",
+ "fieldName": "details.appDefinition.addons.development",
+ "icon": "question",
+ "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.",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "title": "Development features",
+ "type": "add-ons",
+ "category": "generic"
+ },
+ {
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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')",
+ "fieldName": "details.appDefinition.addons.qa",
+ "icon": "question",
+ "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.",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "title": "QA features",
+ "type": "add-ons",
+ "category": "generic"
+ },
+ {
+ "help": {
+ "linkTitle": "What to chose",
+ "title": "What to chose",
+ "content": "
Section One Title Goes Here
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')",
+ "fieldName": "details.appDefinition.addons.delivery",
+ "icon": "question",
+ "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.",
+ "theme": "light",
+ "summaryMode": "quantity",
+ "title": "Delivery features",
+ "type": "add-ons",
+ "category": "gtest"
+ }
+ ],
+ "wizard": {
+ "previousStepVisibility": "readOptimized",
+ "enabled": true
+ },
+ "type": "questions"
+ }
+ ],
+ "wizard": {
+ "enabled": true
+ },
+ "id": "add-ons",
+ "title": "Configure my app"
+ },
+ {
+ "subSections": [
+ {
+ "hideTitle": true,
+ "questions": [
+ {
+ "type": "static",
+ "content": "