{"id":21026396,"url":"https://github.com/nimblehq/nimble-survey-web","last_synced_at":"2026-02-20T21:03:58.601Z","repository":{"id":40247787,"uuid":"279838684","full_name":"nimblehq/nimble-survey-web","owner":"nimblehq","description":"Nimble Survey API for Mobile Challenge and Certification","archived":false,"fork":false,"pushed_at":"2024-04-12T07:31:48.000Z","size":1777,"stargazers_count":0,"open_issues_count":9,"forks_count":3,"subscribers_count":29,"default_branch":"develop","last_synced_at":"2025-11-11T20:41:35.536Z","etag":null,"topics":["ruby","ruby-on-rails"],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nimblehq.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-07-15T10:31:49.000Z","updated_at":"2023-07-08T18:34:17.000Z","dependencies_parsed_at":"2024-02-09T16:50:16.336Z","dependency_job_id":"40208f97-2e49-4b02-bc9b-154798223c25","html_url":"https://github.com/nimblehq/nimble-survey-web","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/nimblehq/nimble-survey-web","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nimblehq%2Fnimble-survey-web","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nimblehq%2Fnimble-survey-web/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nimblehq%2Fnimble-survey-web/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nimblehq%2Fnimble-survey-web/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nimblehq","download_url":"https://codeload.github.com/nimblehq/nimble-survey-web/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nimblehq%2Fnimble-survey-web/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29664459,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-20T19:49:36.704Z","status":"ssl_error","status_checked_at":"2026-02-20T19:44:05.372Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ruby","ruby-on-rails"],"created_at":"2024-11-19T11:44:25.721Z","updated_at":"2026-02-20T21:03:58.584Z","avatar_url":"https://github.com/nimblehq.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Introduction\n\n\u003e A simple survey API\n\n## Project Setup\n\n### Prerequisites\n\n[![ruby-version-image](https://img.shields.io/badge/ruby-3.2.2-brightgreen.svg)](https://www.ruby-lang.org/en/news/2023/03/30/ruby-3-2-2-released/)\n[![node-version-image](https://img.shields.io/badge/node-18.15.0-brightgreen.svg)](https://nodejs.org/download/release/v18.15.0/)\n[![Docker Desktop](https://img.shields.io/badge/docker-20.10.7-brightgreen.svg)](https://www.docker.com/products/docker-desktop/)\n\n### Development\n\n-   Install dependencies:\n\n```sh\nmake install-dependencies\n```\n\n-   Set up the environment:\n\n```sh\nmake env/setup\n```\n\n-   Start the dev server:\n\n```sh\nmake dev\n```\n\n## Tests\n\n### Docker-based tests on the CI server\n\nAdd the following build settings to run the tests in the Docker environment via Docker Compose (configuration in `docker-compose.test.yml`):\n\n-   Configure the environment variable `BRANCH_TAG` to tag Docker images per branch:\n\n```sh\nexport BRANCH_TAG=$CI_BRANCH_ID\n```\n\nEach branch needs to have its own Docker image to avoid build settings disparities and leverage Docker image caching.\n\n\u003e BRANCH_TAG must not contain special characters (`/`) to be valid. So using $BRANCH_NAME will not work e.g. chore/setup-docker.\n\u003e An alternative is to use a unique identifier such as PR_ID or BRANCH_ID on the CI server.\n\n-   Pull the latest version the Docker image for the branch:\n\n```sh\ndocker pull $DOCKER_IMAGE:$BRANCH_TAG || true\n```\n\nOn each build, the CI environment does not contain yet a cached version of the image. Therefore, it is required to pull\nit first to leverage the `cache_from` settings of Docker Compose which avoids rebuilding the whole Docker image on subsequent test builds.\n\n-   Build the Docker image:\n\n```sh\ndocker-compose -f docker-compose.test.yml build\n```\n\nUpon the first build, the whole Docker image is built from the ground up and tagged using `$BRANCH_TAG`.\n\n-   Push the latest version of the Docker image for this branch:\n\n```sh\ndocker push $DOCKER_IMAGE:$BRANCH_TAG\n```\n\n-   Setup the test database:\n\n```sh\ndocker-compose -f docker-compose.test.yml run test bin/bundle exec rake db:test:prepare\n```\n\n### Test\n\n-   Run all tests:\n\n```sh\nmake test\n```\n\n-   Run a specific test:\n\n```sh\nmake test [rspec-params]\n```\n\n### Automated Code Review Setup\n\n-   Add a bot to this repository or to the organization. The bot requires permission level “Write” to be able to set a PR’s status\n\n-   Create a token from bot account with `public_repo` scope, and use it to create a `DANGER_GITHUB_API_TOKEN` secret on this repository\n\n## SVG Icons\n\n-   Install the [SVGO](https://github.com/svg/svgo) as global (if you din't install it)\n\n          yarn global add svgo\n\n-   We place the icons in `/app/assets/images/icons` and use [Svgeez](https://github.com/jgarber623/svgeez) to generate icon sprite\n\n-   To generate icon sprite:\n\n          bin/svg-sprite\n\n-   To use the icon we use `svg_tag` provided in `SvgHelper` and provided `icon_id` matched with icon file name with prefix `icon-`:\n\n          svg_tag icon_id: 'icon-[icon-file-name]', html: {}\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnimblehq%2Fnimble-survey-web","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnimblehq%2Fnimble-survey-web","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnimblehq%2Fnimble-survey-web/lists"}