{"id":21940097,"url":"https://github.com/gd-personal/json_search_cli_app","last_synced_at":"2026-04-19T19:03:05.203Z","repository":{"id":257506564,"uuid":"858478603","full_name":"GD-Personal/json_search_cli_app","owner":"GD-Personal","description":"A CLI application that would search through a list of clients","archived":false,"fork":false,"pushed_at":"2024-09-20T10:42:16.000Z","size":178,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-22T15:13:25.551Z","etag":null,"topics":["cli","ruby"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GD-Personal.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2024-09-17T01:01:32.000Z","updated_at":"2024-09-22T14:25:20.000Z","dependencies_parsed_at":null,"dependency_job_id":"514aa802-efb5-4ac2-a019-c9323a547196","html_url":"https://github.com/GD-Personal/json_search_cli_app","commit_stats":null,"previous_names":["gd-personal/clients_search_cli","gd-personal/json_search_cli_app"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GD-Personal%2Fjson_search_cli_app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GD-Personal%2Fjson_search_cli_app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GD-Personal%2Fjson_search_cli_app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GD-Personal%2Fjson_search_cli_app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GD-Personal","download_url":"https://codeload.github.com/GD-Personal/json_search_cli_app/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244973775,"owners_count":20541025,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["cli","ruby"],"created_at":"2024-11-29T02:28:56.936Z","updated_at":"2026-04-19T19:03:05.168Z","avatar_url":"https://github.com/GD-Personal.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Github Actions](https://github.com/GD-Personal/clients_search_cli/actions/workflows/ci.yml/badge.svg)](https://github.com/GD-Personal/clients_search_cli/actions/workflows/ci.yml) [![Maintainability](https://api.codeclimate.com/v1/badges/bee0f26fa1a8000b9994/maintainability)](https://codeclimate.com/github/GD-Personal/clients_search_cli/maintainability) [![Test Coverage](https://api.codeclimate.com/v1/badges/bee0f26fa1a8000b9994/test_coverage)](https://codeclimate.com/github/GD-Personal/clients_search_cli/test_coverage)\n\n# JSON Dataset Search CLI\n\n## Description\nA simple CLI application that would search through any JSON dataset using the [flexi-json](https://github.com/GD-Personal/flexi-json) gem. \n\nAvailable commands:\n- `search`: searches through the given dataset and return those data that is partially matching a given search query\n- `find_duplicate_emails`: finds out if there are any data with the same email in the dataset, and show those duplicates if any are found.\n\n## Setup\nThis application is using ruby 3.2.2 with the following tools:\n- [RSpec](https://rspec.info/) for testing\n- [standardrb](https://github.com/standardrb/standard) for linting\n- [bundler-audit](https://github.com/rubysec/bundler-audit) for checking Gemfile's vulnerability issues\n- [Byebug](https://github.com/deivid-rodriguez/byebug) for debugging\n- [Make](https://www.gnu.org/software/make/) for build tasks\n- [Github Actions](https://docs.github.com/en/actions/learn-github-actions/understanding-github-actions) for CI\n\n### 🐳 Docker\nThe easiest way to run this application is by using docker to make sure you have the correct development environment.\n#### Pre-requisites\nDocker installed on your machine (See [Docker Installation Guides](https://docs.docker.com/get-started/introduction)).\n```\n❯ docker-compose build\n❯ docker-compose run app\n```\n\n### Or you could still run it without docker\n#### Intall Ruby with one of the following:\n- [Using RVM](https://rvm.io/rvm/install) or with\n- [the asdf version manager](https://github.com/asdf-vm/asdf-ruby)\n\n## Run the CLI\n```\n❯ make run command=search query=john fields=full_name\nruby ./lib/cli.rb search --dataset_path= --query=john --fields=full_name\n\n❯ make run command=search query=william fields=full_name,email\nruby ./lib/cli.rb search --dataset_path= --query=william --fields=full_name,email\n\n❯ make run command=find_duplicate_emails\nruby ./lib/cli.rb find_duplicate_emails --dataset_path= --query= --fields=\n\n❯ make help\nruby ./lib/cli.rb --help\n```\n\n### Testing\n```\n❯ make test\nbundle exec rspec\n```\n\n### Coding standard\nUse `make lint` to check code for style issues.\n\n```\n❯ make lint\nbundle exec standardrb lib spec\n```\n\n### Security audit\nUse `make audit` to check vulnerability issues of the gems in Gemfile.lock\n```\n❯ make audit\nbundle exec bundle-audit check --update\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgd-personal%2Fjson_search_cli_app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgd-personal%2Fjson_search_cli_app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgd-personal%2Fjson_search_cli_app/lists"}