{"id":21448094,"url":"https://github.com/romdim/api-builder","last_synced_at":"2025-03-17T02:09:30.605Z","repository":{"id":35505065,"uuid":"39775006","full_name":"romdim/api-builder","owner":"romdim","description":"View/Create/Fork APIs through the help of a community","archived":false,"fork":false,"pushed_at":"2021-01-24T22:19:41.000Z","size":2502,"stargazers_count":0,"open_issues_count":16,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-23T11:45:36.847Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://api-builder.tools.epu.ntua.gr/","language":"CSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/romdim.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-07-27T13:11:12.000Z","updated_at":"2021-02-17T18:42:34.000Z","dependencies_parsed_at":"2022-09-12T13:02:58.083Z","dependency_job_id":null,"html_url":"https://github.com/romdim/api-builder","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/romdim%2Fapi-builder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/romdim%2Fapi-builder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/romdim%2Fapi-builder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/romdim%2Fapi-builder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/romdim","download_url":"https://codeload.github.com/romdim/api-builder/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243960665,"owners_count":20375104,"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":[],"created_at":"2024-11-23T03:14:00.896Z","updated_at":"2025-03-17T02:09:30.577Z","avatar_url":"https://github.com/romdim.png","language":"CSS","funding_links":[],"categories":[],"sub_categories":[],"readme":"OPENi API Builder\n================================\n\nOPENi API Builder is a web project that allows developers to add Objects\nand combine methods for use with the official [OPENi API Framework](https://github.com/OPENi-ict/api-framework).\n\n[![Latest Stable Version](https://poser.pugx.org/openi-ict/api-builder/v/stable.png)](https://packagist.org/packages/openi-ict/api-builder)\n[![Build Status](https://travis-ci.org/OPENi-ict/api-builder.svg?branch=master)](https://travis-ci.org/OPENi-ict/api-builder)\n\n\nDIRECTORY STRUCTURE\n-------------------\n\n      .docs/              contains Documents for building the API Builder (mockups etc.)\n      assets/             contains assets definition\n      commands/           contains console commands (controllers)\n      config/             contains application configurations\n      controllers/        contains Web controller classes\n      mail/               contains view files for e-mails\n      migrations/         contains migrations for the database to be configured automatically\n      models/             contains model classes\n      runtime/            contains files generated during runtime\n      tests/              contains various tests for the basic application (not yet fully charged)\n      vendor/             contains dependent 3rd-party packages\n      views/              contains view files for the Web application\n      web/                contains the entry script and Web resources\n      widgets/            contains additional widgets used in this app\n\n\n\nREQUIREMENTS\n------------\n\nThe minimum requirement by this application template that your Web server supports PHP 5.4.0.\nAdditional packages required are marked in the composer.json file.\n\n\nINSTALLATION\n------------\n\nDownload the latest [release](https://github.com/OPENi-ict/api-builder/releases/) or the zipped master source code from [api-builder](https://github.com/OPENi-ict/api-builder/archive/master.zip)\ninto a directory named `api-builder` that is directly under the Web root.\n\nRun a command prompt in that directory and type:\n~~~\ncomposer global require \"fxp/composer-asset-plugin:1.0.0\"\ncomposer install\n~~~\n\n**NOTE:** If you do not have [Composer](http://getcomposer.org/), you may install\nit by following the instructions at [getcomposer.org](http://getcomposer.org/doc/00-intro.md#installation-nix).\n\nThis will fetch all the required packages and save them in your vendor folder.\n\nYou can then access the application through the following URL:\n\n~~~\nhttp://localhost/api-builder/web/\n~~~\n\n**NOTE:** For having recommendation features in the API views, [Elasticsearch](https://www.elastic.co/products/elasticsearch) should be installed from [here](https://www.elastic.co/products/elasticsearch). \n\n\nCONFIGURATION\n-------------\n\n### Database\n\nCreate a file `config/db.php` with real data, for example:\n\n```php\nreturn [\n    'class' =\u003e 'yii\\db\\Connection',\n    'dsn' =\u003e 'mysql:host=localhost;dbname=apiBuilder',\n    'username' =\u003e 'root',\n    'password' =\u003e '1234',\n    'charset' =\u003e 'utf8',\n];\n```\n\nOr rename the dbSample.php with your actual data.\n\nThen, open a terminal and run \n```\nyii migrate\n```\nto make all the tables in the database.\n\nAlso check and edit the other files in the `config/` directory to customize your application.\nIf your website is different than http://localhost/api-builder/ , you need to update the url property of the js file in /web/js/swagger/site.js .\n\nAt last, you need to rename the /web/indexSample.php to /web/index.php for the application to work and comment out the environment lines if you are in production environment.\n\n### Elasticsearch\n\nThis request should be made to create the 'api-builder' index:\n\n```\ncurl -XPUT http://127.0.0.1:9200/api-builder\ncurl -XPOST http://127.0.0.1:9200/api-builder/_close\n```\n\nRecommended setting setup:\n\n```\ncurl -XPUT 'http://127.0.0.1:9200/api-builder/_settings' -d \n'{\n     \"settings\": {\n         \"index\": {\n             \"analysis\": {\n                 \"filter\": {\n                     \"stem_filter\": {\n                         \"type\": \"stemmer\",\n                         \"name\": \"english\"\n                     },\n                     \"low_filter\": {\n                         \"type\": \"lowercase\"\n                     },\n                     \"synonym_filter\": {\n                         \"type\": \"synonym\",\n                         \"synonyms_path\": \"analysis/synonyms.txt\"\n                     },\n                     \"stop_filter\": {\n                         \"type\": \"stop\",\n                         \"stopwords_path\": \"analysis/stopwords.txt\"\n                     }\n                 },\n                 \"analyzer\": {\n                     \"analyzer\": {\n                         \"type\": \"custom\",\n                         \"tokenizer\": \"standard\",\n                         \"filter\": [\n                             \"low_filter\",\n                             \"synonym_filter\",\n                             \"stop_filter\",\n                             \"stem_filter\"\n                         ],\n                         \"char_filter\": [\n                             \"html_strip\"\n                         ]\n                     }\n                 }\n             }\n         }\n     }\n }'\n```\n\n**NOTE:** This of course implies that you have a synonyms and stopwords texts in your elasticsearch/config/analysis/ folder.\nSamples can be found at the root folder of the project.\n\n\n```\ncurl -XPUT 'http://127.0.0.1:9200/api-builder/api/_mapping' -d \n'{ \n     \"api\": { \n         \"properties\": { \n             \"objects\": { \n                 \"type\": \"nested\", \n                 \"properties\": { \n                     \"name\": { \n                         \"type\": \"string\", \n                         \"index\": \"analyzed\", \n                         \"analyzer\": \"analyzer\"\n                     }, \n                     \"description\": { \n                         \"type\": \"string\", \n                         \"index\": \"analyzed\", \n                         \"analyzer\": \"analyzer\" \n                     }, \n                     \"properties\": { \n                         \"type\": \"nested\", \n                         \"properties\": { \n                             \"name\": { \n                                 \"type\": \"string\", \n                                 \"index\": \"analyzed\", \n                         \"analyzer\": \"analyzer\"\n                             }, \n                             \"type\": { \n                                 \"type\": \"string\", \n                                 \"index\": \"not_analyzed\" \n                             } \n                         } \n                     } \n                 } \n             } \n         } \n     } \n }'\n ```\n \n ```\n curl -XPOST http://127.0.0.1:9200/api-builder/_open\n```\n\n\nTECH STACK USED FOR DEVELOPMENT - MANY THANKS!\n---------------------------------------------\n\n[yii 2](http://www.yiiframework.com)\n\n[composer](https://getcomposer.org/)\n\n[bootstrap](http://getbootstrap.com/)\n\n[bootstrap-material-design](https://github.com/FezVrasta/bootstrap-material-design/)\n\n[Krajee Yii Extensions](http://demos.krajee.com/)\n\n[Elasticsearch](https://www.elastic.co/products/elasticsearch)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fromdim%2Fapi-builder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fromdim%2Fapi-builder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fromdim%2Fapi-builder/lists"}