{"id":18436300,"url":"https://github.com/chrishalbert/wp-plugin-ss","last_synced_at":"2025-07-12T14:34:16.855Z","repository":{"id":95238262,"uuid":"96314499","full_name":"chrishalbert/wp-plugin-ss","owner":"chrishalbert","description":"A Node Express API offering a simplified search for wordpress plugins.","archived":false,"fork":false,"pushed_at":"2017-07-21T03:40:05.000Z","size":202,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-14T12:54:06.415Z","etag":null,"topics":["api","nodejs","wordpress-plugin","wordpress-plugin-search"],"latest_commit_sha":null,"homepage":"http://wp-plugin-ss.herokuapp.com/api-docs/","language":"HTML","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/chrishalbert.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":"2017-07-05T12:00:27.000Z","updated_at":"2017-07-21T03:32:00.000Z","dependencies_parsed_at":"2023-07-30T11:30:50.206Z","dependency_job_id":null,"html_url":"https://github.com/chrishalbert/wp-plugin-ss","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/chrishalbert/wp-plugin-ss","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrishalbert%2Fwp-plugin-ss","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrishalbert%2Fwp-plugin-ss/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrishalbert%2Fwp-plugin-ss/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrishalbert%2Fwp-plugin-ss/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chrishalbert","download_url":"https://codeload.github.com/chrishalbert/wp-plugin-ss/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrishalbert%2Fwp-plugin-ss/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265003418,"owners_count":23696209,"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":["api","nodejs","wordpress-plugin","wordpress-plugin-search"],"created_at":"2024-11-06T06:11:07.988Z","updated_at":"2025-07-12T14:34:16.824Z","avatar_url":"https://github.com/chrishalbert.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Wordpress Plugin Simplified Search\n[![Build Status](https://travis-ci.org/chrishalbert/wp-plugin-ss.svg?branch=master)](https://travis-ci.org/chrishalbert/wp-plugin-ss) [![Coverage Status](https://coveralls.io/repos/github/chrishalbert/wp-plugin-ss/badge.svg?branch=master)](https://coveralls.io/github/chrishalbert/wp-plugin-ss?branch=master) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nA Node API that provides filtering and sorting for WordPress Plugins. \n\n(or wp-plugin-ss, if you are into the brevity thing) \n\n## Why?\nSearching for plugins on [Wordpress.org](https://wordpress.org/plugins/) can be time consuming since you cannot add filters  \nto specific fields and there is no such thing as sorting. To minimize these headaches, these features were introduced\nvia wp-plugin-ss for you to use or extend upon. \n\n## Dependencies\n\n### MongoDb (required)\nThe WordPress Plugin Simplified Search API returns results\n directly from MongoDB. A data dump is available in the dump folder.\n \n### Redis (optional)\nIf you would like something more up to date than the data dump,\nyou can run the cron and then run workers to up date your\nMongo data. \n\n## Installation\nYou will need to add configurations somehow, and then you can either add this to a project,\nor it run it locally.\n\n### Configurations\nDetermine the configuration variables and save this to a /path/to/file.\n```\nexport WP_PLUGIN_SS_MONGODB_URI=mongodb://127.0.0.1:27017/test\nexport WP_PLUGIN_SS_REDIS_URL=redis://127.0.0.1:19879\nexport WP_PLUGIN_SS_REDIS_QUEUE=plugins\n```\nYou will either need to run the above script (locally) or assign these values in your IDE/cloud service. If not, export configurations to environment locally:\n```bash\n$ chmod 777 /path/to/file # Makes it executable\n$ . /path/to/file         # Runs the script above\n```\n\n### Add to Project\n```bash\n$ npm install wp-plugin-ss\n```\n\n### Run Locally\nThis is good if you want to do some searches for yourself and test it out (replace the values in braces, likely localhost and 27017 if local).\n```bash\n$ npm install wp-plugin-ss -g    # Installs the API\n$ mongorestore --db {mongo db} --host {mongo host} --port {mongo port}  ~/.npm-packages/lib/node_modules/wp-plugin-ss/dump/test \n$ . /path/to/file                # Loads the configuration\n$ wp-plugin-ss                   # Starts the API\n```\n\n### Populate database:\nRun this to populate your mongo database with some starting data.\n```\n$ mongorestore --db {mongo db} --host {mongo host} --port {mongo port}  ~/.npm-packages/lib/node_modules/wp-plugin-ss/dump/test \n```\n\n### Run\n\nUse swagger docs to test at http://127.0.0.1:3000/api-docs/\n\nOR\n\nGo to http://127.0.0.1:3000/plugins and consult the API Usage below\n\n## Usage\n\n### **\u003ccode\u003eGET\u003c/code\u003e /plugins**\n\n## Parameters\n- **search** _(required)_ — (string) Search text passed directly to the WordPress Plugin Search. Must be 3 characters.\n- **author** - Filters by author name.\n- **minRating** - (integer) Filter by having at least minRating\n- **maxRating** - (integer) Filter by having at most maxRating\n- **minReviews** - (integer) Filter by having at least minReviews\n- **maxReviews** - (integer) Filter by having at most maxReviews\n- **minInstalls** - (integer) Filter by having at least minInstalls\n- **maxInstalls** - (integer) Filter by having at most maxInstalls\n- **minVersion** - (string) Filter by having at least minVersion\n- **maxVersion** - (string) Filter by having at most maxVersion\n- **sort** — Comma separated list of values. Sorts ascending unless preceeded with minus symbol - \n    ###### Recognized values:\n    - 'ratings'\n    - 'reviews'\n    - 'installs'\n    - 'authors'\n    - 'name'\n    - 'version'\n    \n## Examples: \nGet SEO plugins with at least a rating of 4.\n```\nhttp://127.0.0.1:3000/plugins?search=seo\u0026minRatings=4\n```\nGet input plugins with at least 1000 installs ordering by name.\n```\nhttp://127.0.0.1:3000/plugins?search=input\u0026minInstalls=1000\u0026sort=name\n```\nGet analytics plugins order by the most ratings first (descending)\n```\nhttp://127.0.0.1:3000/plugins?search=analytics\u0026sort=-ratings\n```\nGet ajax plugin ordered by most recent version tested and then most installs.\n```\nhttp://127.0.0.1:3000/plugins?search=ajax\u0026sort=-version,-installs\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchrishalbert%2Fwp-plugin-ss","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchrishalbert%2Fwp-plugin-ss","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchrishalbert%2Fwp-plugin-ss/lists"}