{"id":23523015,"url":"https://github.com/seonghun-dev/quicklink","last_synced_at":"2025-05-14T04:16:16.163Z","repository":{"id":244505394,"uuid":"815431221","full_name":"seonghun-dev/QuickLink","owner":"seonghun-dev","description":" Quick \u0026 Free URL shortener","archived":false,"fork":false,"pushed_at":"2024-06-15T06:56:38.000Z","size":213,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-25T17:19:30.783Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":false,"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/seonghun-dev.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":"2024-06-15T06:25:44.000Z","updated_at":"2024-06-15T07:06:50.000Z","dependencies_parsed_at":"2024-06-15T07:51:51.998Z","dependency_job_id":"072c11f1-7759-4a1a-a481-ba18d7ff7573","html_url":"https://github.com/seonghun-dev/QuickLink","commit_stats":null,"previous_names":["seonghun-dev/quicklink"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seonghun-dev%2FQuickLink","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seonghun-dev%2FQuickLink/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seonghun-dev%2FQuickLink/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seonghun-dev%2FQuickLink/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/seonghun-dev","download_url":"https://codeload.github.com/seonghun-dev/QuickLink/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239212562,"owners_count":19600833,"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":[],"created_at":"2024-12-25T17:18:48.979Z","updated_at":"2025-02-17T00:14:47.059Z","avatar_url":"https://github.com/seonghun-dev.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Quick Link - Quick \u0026 Free URL shortener\n\n[![Hits](https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2Fseonghun-dev%2FQuickLink\u0026count_bg=%231193F1\u0026title_bg=%23555555\u0026icon=\u0026icon_color=%23E7E7E7\u0026title=hits\u0026edge_flat=false)](https://hits.seeyoufarm.com)\n\n\n\n## 💁‍♂️ 서비스 소개\n\nQuick Link는 단축 URL을 제공하는 무료 서비스입니다. 사용자는 긴 URL을 짧고 기억하기 쉬운 링크로 변환하여 간편하게 공유할 수 있습니다.\n\n\u003cimg width=\"2032\" alt=\"screenshot 2024-06-15 오후 3 44 06\" src=\"https://github.com/seonghun-dev/QuickLink/assets/80201773/e94d29f5-f699-4eca-b276-867d009d3f04\"\u003e\n\n\n\n## 📈 Dependency and Quick Start\n### 📦 Dependency\n\nQuick Link를 실행하기 위해 필요한 의존성은 다음과 같습니다\n\n- Java 21\n- Spring Boot 3.3.0\n- MySQL 8.0.1\n- Gradle 8.8\n  \n\n### 🚀 Quick Start\n1. 저장소를 clone 합니다.\n```Bash\ngit clone https://github.com/seonghun-dev/QuickLink.git\ncd QuickLink\n```\n\n2. Docker-compose를 통해 데이터베이스를 실행시키고, schema.sql 파일을 통해 데이터베이스에 스키마를 적용합니다.\n```bash\ndocker-compose up -d\n```\n\n4. Gradle을 통해 빌드하고, 애플리케이션을 실행시킵니다.\n```bash\n./gradlew build\n./gradlew bootRun\n```\n\n5. 브라우저에서 http://localhost:8080 으로 이동하여 서비스를 이용합니다.\n\n\n## 🛠️ 구현\nQuick Link는 URL 단축을 위해 Base62 인코딩과 Snowflake ID 생성 알고리즘을 사용합니다.\n\n**Base62 인코딩**\n\n\nBase62는 URL에 안전하게 사용할 수 있는 문자 집합을 사용하여 숫자 ID를 짧은 문자열로 변환하는 방식입니다. \n알파벳 대소문자와 숫자 (0-9)를 포함한 62개의 문자로 구성됩니다. \n이를 통해 단축된 URL이 상대적으로 짧고 사용하기 편리합니다.\n\n\n**Snowflake ID 생성**\n\n\nSnowflake 알고리즘은 트위터에서 개발한 분산 시스템을 위한 고유 ID 생성기입니다.\n이 알고리즘은 64비트 숫자로 구성된 고유 ID를 생성하며, 타임스탬프, 데이터센터 ID, 머신 ID, 일련 번호 등을 조합하여 중복되지 않는 고유 ID를 빠르게 생성할 수 있습니다. .\n\n\n\n### 📄 라이선스\n이 프로젝트는 MIT 라이선스를 따릅니다. 자세한 내용은 LICENSE 파일을 참조하십시오.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseonghun-dev%2Fquicklink","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fseonghun-dev%2Fquicklink","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseonghun-dev%2Fquicklink/lists"}