{"id":40279913,"url":"https://github.com/kharastudio/xyharadb","last_synced_at":"2026-01-24T09:00:49.173Z","repository":{"id":333267015,"uuid":"1136316011","full_name":"KHaraStudio/XyharaDB","owner":"KHaraStudio","description":"XyharaDB adalah library database lokal berbasis file (.xydb) yang dibuat dengan JavaScript (Node.js), menggunakan bahasa query buatan sendiri bernama XQL. Mendukung mode library dan console interaktif, sederhana, cepat, dan mudah dipahami.","archived":false,"fork":false,"pushed_at":"2026-01-20T02:06:19.000Z","size":17,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-22T19:26:09.288Z","etag":null,"topics":["database","db-engine","db-management","hara","khara","xql","xyhara","xyharadb","xyra"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/KHaraStudio.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-17T13:20:09.000Z","updated_at":"2026-01-20T02:02:00.000Z","dependencies_parsed_at":"2026-01-21T05:00:29.186Z","dependency_job_id":null,"html_url":"https://github.com/KHaraStudio/XyharaDB","commit_stats":null,"previous_names":["kharastudio/xyharadb"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/KHaraStudio/XyharaDB","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KHaraStudio%2FXyharaDB","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KHaraStudio%2FXyharaDB/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KHaraStudio%2FXyharaDB/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KHaraStudio%2FXyharaDB/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KHaraStudio","download_url":"https://codeload.github.com/KHaraStudio/XyharaDB/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KHaraStudio%2FXyharaDB/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28684003,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-23T05:48:07.525Z","status":"ssl_error","status_checked_at":"2026-01-23T05:48:07.129Z","response_time":59,"last_error":"SSL_read: 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":["database","db-engine","db-management","hara","khara","xql","xyhara","xyharadb","xyra"],"created_at":"2026-01-20T04:00:36.812Z","updated_at":"2026-01-24T09:00:48.873Z","avatar_url":"https://github.com/KHaraStudio.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!DOCTYPE html\u003e\n\u003chtml lang=\"en\"\u003e\n\u003chead\u003e\n  \u003cmeta charset=\"UTF-8\"\u003e\n  \u003ctitle\u003eXyharaDB Documentation\u003c/title\u003e\n\u003c/head\u003e\n\u003cbody\u003e\n\n\u003cimg src=\"https://files.catbox.moe/xlgoo8.jpg\" alt=\"XyharaDB Banner\"\u003e\n\n\u003ch1\u003eXyharaDB\u003c/h1\u003e\n\n\u003cp\u003e\nXyharaDB is a lightweight file-based database framework built with Node.js.\nIt uses a single \u003ccode\u003e.xydb\u003c/code\u003e file to store data and does not require\nany external database server or API.\n\u003c/p\u003e\n\n\u003cp\u003e\nThis project is designed for CLI tools, small to medium projects,\noffline systems, experiments, and learning how database engines work internally.\n\u003c/p\u003e\n\n\u003chr\u003e\n\n\u003ch2\u003eMain Characteristics\u003c/h2\u003e\n\u003cul\u003e\n  \u003cli\u003eFile-based database (.xydb)\u003c/li\u003e\n  \u003cli\u003eNo server required\u003c/li\u003e\n  \u003cli\u003eNo external API dependency\u003c/li\u003e\n  \u003cli\u003eSimple query language\u003c/li\u003e\n  \u003cli\u003eConsole (interactive CLI) mode\u003c/li\u003e\n  \u003cli\u003eAuto-clean expired data\u003c/li\u003e\n  \u003cli\u003eAudit log system\u003c/li\u003e\n  \u003cli\u003eBackup and restore support\u003c/li\u003e\n  \u003cli\u003eError system similar to real databases\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003chr\u003e\n\n\u003ch2\u003eWhat Is New\u003c/h2\u003e\n\u003cul\u003e\n  \u003cli\u003eAudit logging to \u003ccode\u003eXyharaDB.log\u003c/code\u003e\u003c/li\u003e\n  \u003cli\u003eCustom database error system\u003c/li\u003e\n  \u003cli\u003eBackup command\u003c/li\u003e\n  \u003cli\u003eRestore command\u003c/li\u003e\n  \u003cli\u003eImproved console exit handling\u003c/li\u003e\n  \u003cli\u003eMore consistent error messages\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003chr\u003e\n\n\u003ch2\u003eProject Structure\u003c/h2\u003e\n\n\u003cpre\u003e\nXyharaDB/\n├── README.md\n├── console.js\n├── XyharaDB.xydb\n├── XyharaDB.log\n├── home/\n│   └── XyharaDB.js\n├── utils/\n│   ├── dbError.js\n│   └── auditLogger.js\n├── tests/\n│   ├── testInsert.js\n│   ├── testUpdate.js\n│   └── testDelete.js\n├── package.json\n└── package-lock.json\n\u003c/pre\u003e\n\n\u003chr\u003e\n\n\u003ch2\u003eInstallation\u003c/h2\u003e\n\n\u003cpre\u003e\ngit clone https://github.com/KHaraStudio/XyharaDB.git\ncd XyharaDB\nnpm install\n\u003c/pre\u003e\n\n\u003chr\u003e\n\n\u003ch2\u003eBasic Usage\u003c/h2\u003e\n\n\u003ch3\u003eImport\u003c/h3\u003e\n\u003cpre\u003e\nimport XyharaDB from \"./home/XyharaDB.js\";\n\u003c/pre\u003e\n\n\u003ch3\u003eInitialize Database\u003c/h3\u003e\n\u003cpre\u003e\nconst db = new XyharaDB({\n  open_console: true\n});\n\u003c/pre\u003e\n\n\u003cp\u003e\nIf the file \u003ccode\u003eXyharaDB.xydb\u003c/code\u003e does not exist, it will be created automatically.\nExisting data will never be deleted unless explicitly removed.\n\u003c/p\u003e\n\n\u003chr\u003e\n\n\u003ch2\u003eConsole Mode\u003c/h2\u003e\n\n\u003cp\u003e\nWhen \u003ccode\u003eopen_console\u003c/code\u003e is enabled, an interactive console will start.\n\u003c/p\u003e\n\n\u003cpre\u003e\nXyharaDB\u003e\n\u003c/pre\u003e\n\n\u003cp\u003e\nTo exit the console:\n\u003c/p\u003e\n\n\u003cpre\u003e\nkeluar\n\u003c/pre\u003e\n\n\u003chr\u003e\n\n\u003ch2\u003eQuery Commands\u003c/h2\u003e\n\n\u003ch3\u003eCreate / Insert Data\u003c/h3\u003e\n\u003cpre\u003e\nTAMBAH KE users (id, name, age) NILAI (1, 'KHara', 17)\n\u003c/pre\u003e\n\n\u003ch3\u003eSelect Data\u003c/h3\u003e\n\u003cpre\u003e\nLIHAT SEMUA DARI users\n\u003c/pre\u003e\n\n\u003ch3\u003eUpdate Data\u003c/h3\u003e\n\u003cpre\u003e\nUBAH users SET age=18 DIMANA id=1\n\u003c/pre\u003e\n\n\u003ch3\u003eDelete Data\u003c/h3\u003e\n\u003cpre\u003e\nHAPUS DARI users DIMANA id=1\n\u003c/pre\u003e\n\n\u003ch3\u003eList Tables\u003c/h3\u003e\n\u003cpre\u003e\nLIHAT TABEL\n\u003c/pre\u003e\n\n\u003chr\u003e\n\n\u003ch2\u003eCache With Expire\u003c/h2\u003e\n\n\u003cpre\u003e\nTAMBAH KE cache (id, value) NILAI (1, 'hello') EXPIRE 5\n\u003c/pre\u003e\n\n\u003cp\u003e\nData will be automatically removed after the expiration time.\n\u003c/p\u003e\n\n\u003chr\u003e\n\n\u003ch2\u003eBackup and Restore\u003c/h2\u003e\n\n\u003ch3\u003eBackup Database\u003c/h3\u003e\n\u003cpre\u003e\nBACKUP KE backup.xydb\n\u003c/pre\u003e\n\n\u003ch3\u003eRestore Database\u003c/h3\u003e\n\u003cpre\u003e\nRESTORE DARI backup.xydb\n\u003c/pre\u003e\n\n\u003chr\u003e\n\n\u003ch2\u003eAudit Log System\u003c/h2\u003e\n\n\u003cp\u003e\nAll important operations are logged automatically to:\n\u003c/p\u003e\n\n\u003cpre\u003e\nXyharaDB.log\n\u003c/pre\u003e\n\n\u003cp\u003e\nExample log entry:\n\u003c/p\u003e\n\n\u003cpre\u003e\n{\n  \"time\": \"2026-01-19T08:59:22.995Z\",\n  \"action\": \"INSERT\",\n  \"table\": \"users\",\n  \"id\": \"1\",\n  \"data\": { \"name\": \"KHara\", \"age\": 17 }\n}\n\u003c/pre\u003e\n\n\u003chr\u003e\n\n\u003ch2\u003eError System\u003c/h2\u003e\n\n\u003cp\u003e\nXyharaDB uses a structured error system similar to real databases.\n\u003c/p\u003e\n\n\u003cp\u003eExample:\u003c/p\u003e\n\n\u003cpre\u003e\n[XY1001] Kesalahan sintaks di dekat 'UBAH users SET age=18 DIMANA id=1'\n\u003c/pre\u003e\n\n\u003cp\u003e\nErrors are descriptive and do not crash the database.\n\u003c/p\u003e\n\n\u003chr\u003e\n\n\u003ch2\u003eData Safety\u003c/h2\u003e\n\n\u003cul\u003e\n  \u003cli\u003eDatabase file is never deleted automatically\u003c/li\u003e\n  \u003cli\u003eData persists between program runs\u003c/li\u003e\n  \u003cli\u003eBackup is manual and explicit\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003chr\u003e\n\n\u003ch2\u003eUse Cases\u003c/h2\u003e\n\n\u003cul\u003e\n  \u003cli\u003eCLI tools\u003c/li\u003e\n  \u003cli\u003eOffline applications\u003c/li\u003e\n  \u003cli\u003eSmall web backends\u003c/li\u003e\n  \u003cli\u003eGame save systems\u003c/li\u003e\n  \u003cli\u003eLearning database internals\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003chr\u003e\n\n\u003ch2\u003eLicense\u003c/h2\u003e\n\n\u003cp\u003e\nOpen-source project by KHaraStudio.\nFree to use, modify, and distribute.\n\u003c/p\u003e\n\n\u003chr\u003e\n\n\u003cp\u003e\nXyharaDB — Developed by KHaraStudio\n\u003c/p\u003e\n\n\u003c/body\u003e\n\u003c/html\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkharastudio%2Fxyharadb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkharastudio%2Fxyharadb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkharastudio%2Fxyharadb/lists"}