{"id":28504582,"url":"https://github.com/joachimhodana/memfis","last_synced_at":"2026-05-11T05:42:00.721Z","repository":{"id":144684256,"uuid":"521799479","full_name":"joachimhodana/Memfis","owner":"joachimhodana","description":"Lightweight database written in Go","archived":false,"fork":false,"pushed_at":"2022-08-06T01:03:49.000Z","size":26,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-06T09:41:16.499Z","etag":null,"topics":["database","golang","lightweight","redis"],"latest_commit_sha":null,"homepage":"","language":"Go","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/joachimhodana.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-08-05T23:24:26.000Z","updated_at":"2022-10-04T20:51:44.000Z","dependencies_parsed_at":"2023-07-04T15:37:35.912Z","dependency_job_id":null,"html_url":"https://github.com/joachimhodana/Memfis","commit_stats":{"total_commits":4,"total_committers":2,"mean_commits":2.0,"dds":0.25,"last_synced_commit":"8c085a6c59820f27296a74179fa399dfd0483de1"},"previous_names":["joachimhodana/memfis"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/joachimhodana/Memfis","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joachimhodana%2FMemfis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joachimhodana%2FMemfis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joachimhodana%2FMemfis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joachimhodana%2FMemfis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/joachimhodana","download_url":"https://codeload.github.com/joachimhodana/Memfis/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joachimhodana%2FMemfis/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32790181,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-08T08:22:46.396Z","status":"ssl_error","status_checked_at":"2026-05-08T08:22:45.650Z","response_time":54,"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":["database","golang","lightweight","redis"],"created_at":"2025-06-08T18:05:59.796Z","updated_at":"2026-05-08T17:31:35.850Z","avatar_url":"https://github.com/joachimhodana.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Memfis\n\nWannabe Redis database, that saves all the data only in it's memory. Fully encrypted data, everything is removed after closing the server.\n\n\n## Setup\n\nTo get executable simply run `go build -o ./builds`\n\n\n## Endpoints\n\n#### Request\n`POST /authorize`\n```\n{\n    \"username\": \"root\",\n    \"password\": \"root\"\n}\n```\n\n#### Response\n\n```\n{\n    \"token\": \"eDF5UrXadWYDvVtwTtN9\"\n}\n```\n\n#### Description\n`username` and `password` should be set in config.env. This token is only used to obtain API key\n\n---------\n\n#### Request\n`POST /token`\n```\n{\n    \"token\":\"eDF5UrXadWYDvVtwTtN9\"\n}\n```\n\n#### Response\n```\n{\n    \"expiring\": 1659762047,\n    \"token\": \"BoBHapHb.1659762047.c3R5bGU=\",\n    \"user\": \"style\"\n}\n```\n\n#### Description\n\n`Expiring` is timestamp, when api key is going to stop working, the time depends on config `API_TOKEN_EXPIRE_TIME` option.\n`token` is API Key that is needed to use to send requests to API\n`user` is user that generated that key in `/authorize` endpoint\n\n---------\n\n#### Request\n`GET /data`\n```\n{\n    \"token\": \"BoBHapHb.1659762047.c3R5bGU=\", \n    \"name\": \"var\"\n}\n```\n\n#### Response\n```\n{\n    \"formatted\": \"string;var1;pol\",\n    \"name\": \"var\",\n    \"type\": \"int\",\n    \"value\": 123\n}\n```\n\n#### Description\n\n`formatted` is just every field formatted to one string\n`name` variable name that is saved in `Memfis`\n`type` type of variable, right now it's detected by `Memfis` itself. \\\nIt needs tests, because sometimes it's detecting wrong type.\n`ALL TYPES: string, int, float, array, json`\n`value` value of variable\n\n---------\n\n#### Request\n`POST /data`\n```\n{\n    \"token\": \"BoBHapHb.1659762047.c3R5bGU=\",\n    \"name\": \"var\", \n    \"value\": 123\n}\n```\n\n#### Response\n```\n{\n    \"formatted\": \"string;var1;pol\",\n    \"name\": \"var\",\n    \"type\": \"int\",\n    \"value\": 123\n}\n```\n\n#### Description\nSame description as in `GET /data`\n\n---------\n\n#### Request\n`DELETE /data`\n```\n{\n    \"token\": \"BoBHapHb.1659762047.c3R5bGU=\",\n    \"name\": \"var\"\n}\n```\n\n#### Response\n```\n{\n    \"formatted\": \";;\u003cnil\u003e\",\n    \"name\": \"\",\n    \"type\": \"\",\n    \"updated\": 1659741404,\n    \"value\": null\n}\n```\n\n#### Description\n`formatted` formatted string is a little bugged but at least shows what should show\n`updated` timestamp of when data were deleted\neverything else is same as in `GET /data`\n\n---------\n\n#### Request\n`PATCH /data`\n```\n{\n    \"token\": \"BoBHapHb.1659762047.c3R5bGU=\",\n    \"name\": \"var\",\n    \"value\": \"123\"\n}\n```\n\n#### Response\n```\n{\n    \"formatted\": \"int;var;123\",\n    \"name\": \"var\",\n    \"type\": \"int\",\n    \"updated\": 1659741641,\n    \"value\": 123\n}\n```\n\n#### Description\n`updated` timestamp of when data were updated\neverything else is same as in `GET /data`\ndata's type is chaning automatically\n\n---------\n\n## Errors\n\nStatus codes used:\n```200, 400, 401, 404```\n\n#### messages\n```\n400 - \"Wrong parameters passed.\"\n401 - \"Wrong credentials.\" or \"Wrong token passed.\" or \"Wrong token passed or token has expired.\"\n404 - \"Couldn't find data...\"\n```\n\n## Executables\n\nYou can find all releases [here](https://github.com/Style77/Memfis/releases)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoachimhodana%2Fmemfis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjoachimhodana%2Fmemfis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoachimhodana%2Fmemfis/lists"}