{"id":23108773,"url":"https://github.com/fillipehmeireles/ghost-db","last_synced_at":"2026-05-01T09:31:35.524Z","repository":{"id":172913094,"uuid":"504533908","full_name":"fillipehmeireles/ghost-db","owner":"fillipehmeireles","description":"Rust in-memory simple database","archived":false,"fork":false,"pushed_at":"2022-07-21T23:42:11.000Z","size":21,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-03T23:14:38.394Z","etag":null,"topics":["database","in-memory-database","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/fillipehmeireles.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":"2022-06-17T12:53:23.000Z","updated_at":"2024-08-01T14:40:30.000Z","dependencies_parsed_at":null,"dependency_job_id":"d3b29157-071a-42f0-8a37-a7d37cc3ff44","html_url":"https://github.com/fillipehmeireles/ghost-db","commit_stats":null,"previous_names":["fillipehmeireles/ghost-db"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/fillipehmeireles/ghost-db","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fillipehmeireles%2Fghost-db","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fillipehmeireles%2Fghost-db/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fillipehmeireles%2Fghost-db/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fillipehmeireles%2Fghost-db/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fillipehmeireles","download_url":"https://codeload.github.com/fillipehmeireles/ghost-db/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fillipehmeireles%2Fghost-db/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32492107,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"online","status_checked_at":"2026-05-01T02:00:05.856Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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","in-memory-database","rust"],"created_at":"2024-12-17T01:29:42.432Z","updated_at":"2026-05-01T09:31:35.504Z","avatar_url":"https://github.com/fillipehmeireles.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# GhostDB 👻\n\nA simple in-memory key value database built with Rust :crab:\n\n## Demo\n\n[GhostDB Shell Demo](https://www.youtube.com/watch?v=gMNYyTpPHUc)\n\n\n## Documentation\n\nThis project is a workspace built by two systems and a library. \n\nThe library is Ghost DB itself, responsible for managing data on disk. Both systems are responsible for using the library; \nthe Shell system is a CLI that provides an interface to connect and manipulate the database. On the other hand, \nHTTP Server is an simple API to make possible an integration.\n\n\n## Installation\n\nInstalling GhostDB\n\n```bash\n  cd ghost-db\n  mkdir .appData\n  cp .env.example .env\n  make workspace-build\n```\n    \n## Roadmap\n\n- GhostDB Library\n\n- CLI\n\n- API\n\n## Tech Stack\n\n**Library:** Rust - Darkbird\n\n**HTTP Server:** Rust Rocket\n\n**Shell:** Rust\n\n\n## Lessons Learned\n\n- Improving Rust skills\n- Persistent data storage comprehension\n- Improving data structures comprehension\n- Improving Rust Rocket comprehension\n\n## HTTP API Reference\n\n#### Get all keys\n\n```http\n  GET /get-all\n```\n\n#### Get key\n\n```http\n  GET /get-one/${key}\n```\n\n| Parameter | Type     | Description                       |\n| :-------- | :------- | :-------------------------------- |\n| `key`      | `string` | **Required**. Key of item to fetch |\n\n#### Create data\n\n```http\n  POST /insert/\n```\n\n| Body | Type     | Description                       |\n| :-------- | :------- | :-------------------------------- |\n| `key`      | `string` | **Required**. Data key |\n| `value`      | `string` | **Required**. Data value |\n\n#### Update data\n\n```http\n  PUT /update/${key}\n```\n\n| Parameter | Type     | Description                       |\n| :-------- | :------- | :-------------------------------- |\n| `key`      | `string` | **Required**. Key of item to update |\n\n#### Update data\n\n```http\n  DELETE /delete/${key}\n```\n\n| Parameter | Type     | Description                       |\n| :-------- | :------- | :-------------------------------- |\n| `key`      | `string` | **Required**. Key of item to delete |\n\n\n## Environment Variables\n\nTo run this project, you will need to add the following environment variable to your .env file\n\n`STORAGE_NAME`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffillipehmeireles%2Fghost-db","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffillipehmeireles%2Fghost-db","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffillipehmeireles%2Fghost-db/lists"}