{"id":21493833,"url":"https://github.com/epicstep/vk-tarantool","last_synced_at":"2025-08-19T22:14:28.602Z","repository":{"id":46223787,"uuid":"424923943","full_name":"EpicStep/vk-tarantool","owner":"EpicStep","description":null,"archived":false,"fork":false,"pushed_at":"2022-03-15T22:33:52.000Z","size":43,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-17T11:51:07.179Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/EpicStep.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}},"created_at":"2021-11-05T11:26:23.000Z","updated_at":"2021-11-05T14:39:07.000Z","dependencies_parsed_at":"2022-09-25T05:00:18.756Z","dependency_job_id":null,"html_url":"https://github.com/EpicStep/vk-tarantool","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/EpicStep/vk-tarantool","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EpicStep%2Fvk-tarantool","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EpicStep%2Fvk-tarantool/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EpicStep%2Fvk-tarantool/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EpicStep%2Fvk-tarantool/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EpicStep","download_url":"https://codeload.github.com/EpicStep/vk-tarantool/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EpicStep%2Fvk-tarantool/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271231130,"owners_count":24723059,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-19T02:00:09.176Z","response_time":63,"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":[],"created_at":"2024-11-23T15:48:04.346Z","updated_at":"2025-08-19T22:14:28.578Z","avatar_url":"https://github.com/EpicStep.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"## VK-Tarantool\n\n## Table of contents:\n* [Run locally](#local)\n* [Test deployed version](#deployed)\n* [API endpoints](#endpoints)\n* [Analytics](#analytics)\n\n### How to run locally 💻:\n\u003ca name=\"local\"\u003e\u003c/a\u003e\n1) Run tarantool in docker\n```code\ndocker run --name mytarantool -d -p 3301:3301 \\\ntarantool/tarantool:2.6.0\n```\n⚠️ `if run on ARM - then use version 2.10.0-beta1`\n\n2) Enter in container with docker exec\n3) Create schemas:\n```code\ns = box.schema.space.create('short')\n\ns:format({\n{name = 'shorted', type = 'string'},\n{name = 'original', type = 'string'},\n{name = 'created_by', type = 'string'}\n})\n\ns:create_index('primary', {\n         type = 'hash',\n         parts = {'shorted'}\n         })\n```\n\n```code\nt = box.schema.space.create('transitions')\n\nt:format({\n{name = 'id', type = 'string'},\n{name = 'shorted', type = 'string'},\n{name = 'ip', type = 'string'},\n{name = 'ua', type = 'string'}\n})\n\nt:create_index('primary', {\n         type = 'hash',\n         parts = {'id'}\n         })\n```\n\n4) Create index\n```code\nt:create_index('shorted_idx', { type = 'tree', unique = false, parts = {'shorted'} })\n```\n\n5) Run with command:\n```code\ngo run cmd/shorter/main.go\n```\nServer is now running on port 8182\n\n### Deployed version:\n\u003ca name=\"deployed\"\u003e\u003c/a\u003e\nSend http requests below to deployed version of service at address:\n```http://37.139.34.190/```\n\n### API Endpoints:\n\u003ca name=\"endpoints\"\u003e\u003c/a\u003e\n1) Set endpoint\n```code\n/set?url=http://vk.com/ac\n```\n⚠️ URL must be with scheme (http:// or https://)\n\n2) Get endpoint\n```code\n/{hash_from_previous_request}\n```\n\n### Analytics\n\u003ca name=\"analytics\"\u003e\u003c/a\u003e\nAnalytics is available from web UI after creating first short link","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fepicstep%2Fvk-tarantool","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fepicstep%2Fvk-tarantool","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fepicstep%2Fvk-tarantool/lists"}