{"id":13619318,"url":"https://github.com/feri-irawan/fistorage","last_synced_at":"2026-04-28T10:36:01.232Z","repository":{"id":119692887,"uuid":"443274846","full_name":"feri-irawan/fistorage","owner":"feri-irawan","description":"JSON storage with API.","archived":false,"fork":false,"pushed_at":"2022-01-02T12:31:16.000Z","size":25,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-02T03:05:39.675Z","etag":null,"topics":["api","fistorage","json","json-storage","open-source","project","storage"],"latest_commit_sha":null,"homepage":"https://fistorage.glitch.me","language":"JavaScript","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/feri-irawan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":["feri-irawan"],"custom":["https://saweria.co/feriirawans"]}},"created_at":"2021-12-31T06:39:30.000Z","updated_at":"2022-12-22T15:24:51.000Z","dependencies_parsed_at":null,"dependency_job_id":"f3a4597c-2d7c-410b-be6e-15dc9a068022","html_url":"https://github.com/feri-irawan/fistorage","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/feri-irawan/fistorage","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feri-irawan%2Ffistorage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feri-irawan%2Ffistorage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feri-irawan%2Ffistorage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feri-irawan%2Ffistorage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/feri-irawan","download_url":"https://codeload.github.com/feri-irawan/fistorage/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feri-irawan%2Ffistorage/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32377587,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-28T09:24:15.638Z","status":"ssl_error","status_checked_at":"2026-04-28T09:24:15.071Z","response_time":56,"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","fistorage","json","json-storage","open-source","project","storage"],"created_at":"2024-08-01T21:00:38.027Z","updated_at":"2026-04-28T10:36:01.205Z","avatar_url":"https://github.com/feri-irawan.png","language":"JavaScript","funding_links":["https://github.com/sponsors/feri-irawan","https://saweria.co/feriirawans"],"categories":["F"],"sub_categories":[],"readme":"\n# Fistorage\n\n![Visitor](https://fibadge.vercel.app/badges/visitors/feri-irawan/fistorage)\n\nJSON storage with API.\n\nFistorage adalah projek *open source* yang digunakan untuk menyimpan data seperti JSON yang dilakukan lewat permintaan API dilengkapi otentikasi.\n\nDibuat dengan ❤ dan Node.Js oleh [Feri Irawan](https://github.com/feri-irawan)\n\n## Memulai Cepat\n\nIkuti langkah berikut untuk langsung membuat akun, membuat storage dan mengambil konten storage.\n\n### Membuat Akun\n\n```curl\ncurl -X POST 'https://fistorage.glitch.me/users/signup' \\\n-H 'Content-Type: application/json' \\\n-d '{\n    \"name\":\"\u003cYOUR NAME\u003e\",\n    \"username\":\"\u003cYOUR USERNAME\u003e\",\n    \"password\":\"\u003cYOUR PASSWORD\u003e\"\n}'\n```\n\n### Membuat Storage\n\n```curl\ncurl -X POST 'https://fistorage.glitch.me/storages/create' \\\n-H 'Authorization: token \u003cYOUR TOKEN\u003e' \\\n-H 'Content-Type: application/json' \\\n-d '{\n    \"title\": \"My First Storage\",\n    \"description\": \"Lorem ipsum dolor sit amet consectetur adipisicing elit.\",\n    \"contents\": \"Hello world!\"\n}'\n```\n\n### Mendapatkan Konten Storage\n\n```curl\ncurl -X GET 'https://fistorage.glitch.me/storages/contents/\u003cSTORAGE ID\u003e' \\\n-H 'Authorization: token \u003cYOUR TOKEN\u003e'\n```\n\nUntuk panduan lengkapnya, kamu bisa membaca-baca penjelasan di bawah ini.\n\n## Users\n\nLangkah awal untuk menggunakan [Fistorage](https://github.com/feri-irawan/fistorage) adalah membuat sebuah akun. Akun ini akan digunakan untuk otentikasi pada storage, misalnya mengambil konten, mengubah, dan menghapus storage.\n\n### Membuat Akun Baru\n\n| Parameter      | Tipe   | Di     | Deskripsi                                                                      |\n| -------------- | ------ | ------ | ------------------------------------------------------------------------------ |\n| `Content-Type` | string | Header | Untuk memberitahu server kalau data yang dikirim adalah JSON                   |\n| `name`         | string | body   | Nama akun baru                                                                 |\n| `username`     | string | body   | Username akun baru (unik), ini akan digunakan untuk login, otentikasi lainnya. |\n| `password`     | string | body   | Password akun baru, ini akan digunakan untuk login, otentikasi lainnya.        |\n\n**Rute:**\n\n```plaintext\nPOST /users/signup\n```\n\n**Contoh:**\n\n```curl\ncurl -X POST 'https://fistorage.glitch.me/users/signup' \\\n-H 'Content-Type: application/json' \\\n-d '{\n    \"name\":\"\u003cYOUR NAME\u003e\",\n    \"username\":\"\u003cYOUR USERNAME\u003e\",\n    \"password\":\"\u003cYOUR PASSWORD\u003e\"\n}'\n```\n\n### Masuk ke Akun\n\n| Parameter      | Tipe   | Di     | Deskripsi                                                    |\n| -------------- | ------ | ------ | ------------------------------------------------------------ |\n| `Content-Type` | string | Header | Untuk memberitahu server kalau data yang dikirim adalah JSON |\n| `username`     | string | body   | Username akun milikmu                                        |\n| `password`     | string | body   | Password akun milikmu                                        |\n\n**Rute:**\n\n```plaintext\nPOST /users/login\n```\n\n**Contoh:**\n\n```curl\ncurl -X POST 'https://fistorage.glitch.me/users/login' \\\n-H 'Content-Type: application/json' \\\n-d '{\n    \"username\":\"\u003cYOUR USERNAME\u003e\",\n    \"password\":\"\u003cYOUR PASSWORD\u003e\"\n}'\n```\n\n### Update Akun\n\n| Parameter      | Tipe    | Di          | Deskripsi                                                                                                    |\n| -------------- | ------- | ----------- | ------------------------------------------------------------------------------------------------------------ |\n| `Content-Type` | string  | Header      | Untuk memberitahu server kalau data yang dikirim adalah JSON                                                 |\n| `username`     | string  | body        | Username akun milikmu                                                                                        |\n| `password`     | string  | body        | Password akun milikmu                                                                                        |\n| `data`         | object  | body        | Data akun yang akan diubah (username, password, token)                                                       |\n| `username`     | string  | body `data` | Username baru (opsional), jika diisi maka username akan diupdate sesuai dengan username baru yang dimasukkan |\n| `password`     | string  | body `data` | Password baru (opsional), jika diisi maka password akan diupdate sesuai dengan password baru yang dimasukkan |\n| `token`        | boolean | body `data` | (Opsional), jika diisi `true` maka token baru akan dihasilkan dan menggantikan token sebelumnnya             |\n\n**Rute:**\n\n```plaintext\nPUT /users/update\n```\n\n**Contoh (hanya update password):**\n\n```curl\ncurl -X PUT 'https://fistorage.glitch.me/users/update' \\\n-H 'Content-Type: application/json' \\\n-d '{\n    \"username\":\"\u003cYOUR USERNAME\u003e\",\n    \"password\":\"\u003cYOUR PASSWORD\u003e\"\n    \"data\":{\n        \"password\":\"\u003cNEW PASSWORD\u003e\"\n    }\n}'\n```\n\n## Storages\n\nBerikut ini panduan untuk mengelola storage.\n\n### Membuat Storage Baru\n\n| Parameter       | Tipe                       | Di     | Deskripsi                                                    |\n| --------------- | -------------------------- | ------ | ------------------------------------------------------------ |\n| `Content-Type`  | string                     | Header | Untuk memberitahu server kalau data yang dikirim adalah JSON |\n| `Authorization` | string                     | Header | Token untuk keperluan otentikasi                             |\n| `title`         | string                     | body   | Judul storage (opsional)                                     |\n| `description`   | string                     | body   | Deskripsi storage (opsional)                                 |\n| `contents`      | semua, kecuali `undefined` | body   | Konten storage (opsional)                                    |\n\n**Rute:**\n\n```plaintext\nPOST /storages/create\n```\n\n**Contoh:**\n\n```curl\ncurl -X POST 'https://fistorage.glitch.me/storages/create' \\\n-H 'Content-Type: application/json' \\\n-H 'Authorization: token \u003cYOUR TOKEN\u003e' \\\n-d '{\n    \"title\":\"My Blog Post\",\n    \"description\":\"Storage for my blog post\",\n    \"contents\":[]\n}'\n```\n\n### Mengambil Konten Storage\n\n| Parameter       | Tipe   | Di     | Deskripsi                        |\n| --------------- | ------ | ------ | -------------------------------- |\n| `Authorization` | string | Header | Token untuk keperluan otentikasi |\n| `id`            | string | URL    | Id storage milikmu               |\n\n**Rute:**\n\n```plaintext\nGET /storages/contents/{id}\n```\n\n**Contoh:**\n\n```curl\ncurl -X GET 'https://fistorage.glitch.me/storages/contents/76a998d1-26e5-4fd0-8db5-95b309387fe6' \\\n-H 'Authorization: token \u003cYOUR TOKEN\u003e'\n```\n\n### Memperbarui Storage\n\n| Parameter       | Tipe                       | Di     | Deskripsi                                                    |\n| --------------- | -------------------------- | ------ | ------------------------------------------------------------ |\n| `Content-Type`  | string                     | Header | Untuk memberitahu server kalau data yang dikirim adalah JSON |\n| `Authorization` | string                     | Header | Token untuk keperluan otentikasi                             |\n| `id`            | string                     | URL    | Id storage milikmu                                           |\n| `title`         | string                     | body   | Judul storage (opsional)                                     |\n| `description`   | string                     | body   | Deskripsi storage (opsional)                                 |\n| `contents`      | semua, kecuali `undefined` | body   | Konten storage (opsional)                                    |\n\n**Rute:**\n\n```plaintext\nPUT /storages/update/{id}\n```\n\n**Contoh:**\n\n```curl\ncurl -X POST 'https://fistorage.glitch.me/storages/update/76a998d1-26e5-4fd0-8db5-95b309387fe6' \\\n-H 'Authorization: token \u003cYOUR TOKEN\u003e' \\\n-H 'Content-Type: application/json' \\\n-d '{\n    \"title\":\"My Blog Post\",\n    \"description\":\"Storage for my blog post\",\n    \"contents\":[\n        {\n            \"title\":\"My First Post\",\n            \"contents\":\"Lorem ipsum, dolor sit amet consectetur adipisicing elit. Doloribus, hic.\",\n            \"created_at\":\"2021-12-29T14:25:54.158Z\"\n        }\n    ]\n}'\n```\n\n### Menghapus Storage\n\n| Parameter       | Tipe   | Di     | Deskripsi                        |\n| --------------- | ------ | ------ | -------------------------------- |\n| `Authorization` | string | Header | Token untuk keperluan otentikasi |\n| `id`            | string | URL    | Id storage milikmu               |\n\n**Rute:**\n\n```plaintext\nDELETE /storages/delete/{id}\n```\n\n**Contoh:**\n\n```curl\ncurl -X DELETE 'https://fistorage.glitch.me/storages/delete/76a998d1-26e5-4fd0-8db5-95b309387fe6' \\\n-H 'Authorization: token \u003cYOUR TOKEN\u003e'\n```\n\nSeperti itulah panduan permintaan untuk mengelola [akun](#users) dan [storage](#storages) milikmu. Bagaimana mudah bukan?\n\nJika punya pertanyaan, masukan, atau permintaan lainnya tentang projek ini, silakan kirimkan di [issue](https://github.com/feri-irawan/fistorage/issues)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fferi-irawan%2Ffistorage","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fferi-irawan%2Ffistorage","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fferi-irawan%2Ffistorage/lists"}