{"id":20609284,"url":"https://github.com/akazwz/url-shorter","last_synced_at":"2025-04-15T04:30:45.081Z","repository":{"id":41969639,"uuid":"460916440","full_name":"akazwz/url-shorter","owner":"akazwz","description":"Url shortener, collect visit info, project link is https://dlj.sh/nqYXaOL \\n 短链接生成, 访客信息收集,项目链接： https://dlj.sh/nqYXaOL","archived":false,"fork":false,"pushed_at":"2022-08-23T15:40:05.000Z","size":1952,"stargazers_count":23,"open_issues_count":0,"forks_count":7,"subscribers_count":2,"default_branch":"next","last_synced_at":"2025-04-06T11:03:04.574Z","etag":null,"topics":["dashboard","nextjs","postgresql","prisma","shorter","url","url-shortener","visualization"],"latest_commit_sha":null,"homepage":"https://dlj.sh","language":"TypeScript","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/akazwz.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":"2022-02-18T16:01:48.000Z","updated_at":"2024-11-01T23:07:21.000Z","dependencies_parsed_at":"2022-07-13T16:44:56.588Z","dependency_job_id":null,"html_url":"https://github.com/akazwz/url-shorter","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":"akazwz/chakra-ui-nextjs-ts-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akazwz%2Furl-shorter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akazwz%2Furl-shorter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akazwz%2Furl-shorter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akazwz%2Furl-shorter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/akazwz","download_url":"https://codeload.github.com/akazwz/url-shorter/tar.gz/refs/heads/next","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249006306,"owners_count":21197248,"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","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":["dashboard","nextjs","postgresql","prisma","shorter","url","url-shortener","visualization"],"created_at":"2024-11-16T10:13:10.515Z","updated_at":"2025-04-15T04:30:45.060Z","avatar_url":"https://github.com/akazwz.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# URL Shorter\n\n# https://dlj.sh\n\n[简体中文](README_ZH.md)\n\n## Simple url shorter build with Next.js, Postgres, Redis\n\n## Features\n\n- Short url\n- Track visit\n- Track Dashboard Vision\n- responsive UI\n- i18n (English and Chinese)\n- Dark mode\n\n## ScreenShot\n\n\u003cimg alt=\"index\" src=\"docs/images/index.png\"\u003e\n\u003cimg alt=\"index-dark\" src=\"docs/images/index_dark.png\"\u003e\n\u003cimg alt=\"index-profile\" src=\"docs/images/index_profile.png\" \u003e\n\u003cimg alt=\"track\" src=\"docs/images/track.png\" \u003e\n\u003cimg alt=\"track dashboard\" src=\"docs/images/track_dashboard.png\"\u003e\n\n## Track Infos\n\n- time\n- ip\n- region\n- country\n- city\n- lat lng\n- ua string\n- browser name\n- browser version\n- os name\n- os version\n- cpu\n- device model\n- device vendor\n- engine name\n- engin version\n\n## Online demo [url shorter](https://zlz.pw/)\n\n## Technologies or libs I use:\n\n### Core Shorter\n\n- Next.js (full stack framework)\n- Vercel (deployment serverless)\n- NextAuth (github OAuth)\n- Redis (storage kv : short code and long urls)\n- Upstash (serverless database redis)\n- nanoid (generate short code)\n- is-url (judge is valid url)\n- chakra-ui (frontend ui lib)\n- @icon-park/react (icons)\n\n### Visitor Track\n\n- next.js edge middleware (track visit info)\n- postgres (storage link and visitor info)\n- prisma (ORM)\n- leaflet (map: show visitor location)\n- react-leaflet (leaflet wrapper)\n- cobe (show globe)\n- @ant-design/plots (charts)\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakazwz%2Furl-shorter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fakazwz%2Furl-shorter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakazwz%2Furl-shorter/lists"}