{"id":18778781,"url":"https://github.com/ramsailopal/yottadb-apidev","last_synced_at":"2026-04-13T01:16:58.422Z","repository":{"id":127742652,"uuid":"405119817","full_name":"RamSailopal/YottaDB-APIDev","owner":"RamSailopal","description":"This repo allows the provision of a development environment through docker that gives you everything that you need to develop API endpoints to YottaDB. There is an IDE to write code as well as a YottaDB global viewer web UI, newman to run API tests and a global entry tester.","archived":false,"fork":false,"pushed_at":"2021-09-17T11:02:53.000Z","size":133,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-21T05:37:03.030Z","etag":null,"topics":["api","docker","docker-compose","mumps","newman","postman","yottadb"],"latest_commit_sha":null,"homepage":"","language":"M","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/RamSailopal.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":"2021-09-10T15:05:03.000Z","updated_at":"2021-09-21T11:05:05.000Z","dependencies_parsed_at":null,"dependency_job_id":"656c340f-6b8b-40c8-a3a3-ffef04641f85","html_url":"https://github.com/RamSailopal/YottaDB-APIDev","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/RamSailopal/YottaDB-APIDev","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RamSailopal%2FYottaDB-APIDev","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RamSailopal%2FYottaDB-APIDev/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RamSailopal%2FYottaDB-APIDev/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RamSailopal%2FYottaDB-APIDev/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RamSailopal","download_url":"https://codeload.github.com/RamSailopal/YottaDB-APIDev/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RamSailopal%2FYottaDB-APIDev/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31735932,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-12T22:19:12.206Z","status":"ssl_error","status_checked_at":"2026-04-12T22:18:33.088Z","response_time":58,"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":["api","docker","docker-compose","mumps","newman","postman","yottadb"],"created_at":"2024-11-07T20:17:16.832Z","updated_at":"2026-04-13T01:16:58.398Z","avatar_url":"https://github.com/RamSailopal.png","language":"M","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Introduction\n\n![Alt text](globtests.PNG?raw=true \"Global Tests\")\n\nThis repo allows the provision of a development environment through docker that gives you everything that you need to develop API endpoints to YottaDB. There is an IDE to write code as well as a YottaDB global viewer web UI, newman to run API tests and a global entry tester.\n\n# sandbox\n\nThe sandbox environment is an immutable environment with no persistent code base or database. To provision:\n\n      git clone https://github.com/RamSailopal/YottaDB-APIDev.git\n      cd YottaDB-APIDev/sandbox\n      export glbviewadd=\"192.168.240.1\"\n      \nWhere glbviewadd is the address of the server/machine running Docker.\n\nProvision the stack:\n\n     docker-compose up\n     \n# dev\n\nThe dev environment is the same as the sandbox one but for the fact that database storage is persistent.. To provision:\n\n      git clone https://github.com/RamSailopal/YottaDB-APIDev.git\n      cd YottaDB-APIDev/dev\n      export glbviewadd=\"192.168.240.1\"\n      \nMake a clean persistent storage directory:\n\n      mkdir -p /opt/yottadata\n    \nExport the yottadata variable to reference this path:\n\n      export yottadata=/opt/yottadata\n      \nRun the stack:\n\n      docker-compose up\n\n\n# Beginning development\n\nNavigate to http://ipofdockerserver:3002/#/home/yottadb-settings/Yottadb.theia-workspace\n\nOpen a compilation window:\n\n   **Terminal** -\u003e **Run Task** -\u003e **YottaDB Compiler** -\u003e **Continue without scanning the task output**\n   \nThis window will deal automatically with any compilation of code as well as process restarts on each save of relevant code.\n   \nTwo files are primarily required for the development of YottaDB APIs. Both files are in the mapped directory:\n\n**myRestAPIs.m** - Holds the M code to interact with the YOttaDB database\n\n**routes.json** - Holds the API end points and the relevant M routine/label calls\n\nFurther more indepth information is available here:\n\nhttps://github.com/robtweed/mgweb-server/blob/master/TUTORIAL.md\n\nExamples relating to adding, deleting capital cities/coutries are available to view/edit from the outset.\n\nCalls to the API can be made to naviaging to http://ipaddressofdockerserver:8080/api/...\n\n![Alt text](apicall.PNG?raw=true \"API calls\")\n\n# Running Tests\n\n![Alt text](apitests.PNG?raw=true \"Newman API Tests\")\n\nThe enviroment is integrated with Newman for testing API calls. A sample test runner file is available called **sand_postman.json** (sandbox) or **dev_postman.json** (dev) When new endpoints are added, add to this postman json file and then run the Newman API tests. This can be done by:\n\nClicking on:\n\n    **Terminal** -\u003e **Run Task** -\u003e **API tests** -\u003e **Continue without scanning the task output**\n    \nAdditional, tests on global entries can be achieved by amending the example tests.json file (for sandbox) or test1.json file (for dev). Further details are available here:\n\nhttps://github.com/RamSailopal/YottaDB-CI-Testrunner\n\nThe global tests can then be run by clicking on:\n\n    \n    **Terminal** -\u003e **Run Task** -\u003e **Global tests** -\u003e **Continue without scanning the task output**\n        \n# Global viewer Web GUI\n\n![Alt text](globview1.PNG?raw=true \"GLobal Viewer Web UI\")\n\nData stored in YottaDB globals can be viewed by navigating to http://ipaddressofdockerserver:8001\n\n# SSH Keys\n\nThis repo contains ssh keys for demonstation/sandpit purposes only. For a production environment, please set up new, none source controlled keys.\n\n# Credit\n\nSpecial thanks goes to Rob Tweed for developing the initial mgweb-server implementation:\n\nhttps://github.com/robtweed/mgweb-server\n\nAlso:\n\nEclipse Theia web IDE:\n\nhttps://theia-ide.org/\n\nNewman API testing:\n\nhttps://www.npmjs.com/package/newman\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Framsailopal%2Fyottadb-apidev","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Framsailopal%2Fyottadb-apidev","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Framsailopal%2Fyottadb-apidev/lists"}