Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/seonghun-dev/quicklink
Quick & Free URL shortener
https://github.com/seonghun-dev/quicklink
Last synced: 9 days ago
JSON representation
Quick & Free URL shortener
- Host: GitHub
- URL: https://github.com/seonghun-dev/quicklink
- Owner: seonghun-dev
- Created: 2024-06-15T06:25:44.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-06-15T06:56:38.000Z (7 months ago)
- Last Synced: 2024-06-15T07:51:47.125Z (7 months ago)
- Language: Java
- Homepage:
- Size: 208 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Quick Link - Quick & Free URL shortener
[![Hits](https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2Fseonghun-dev%2FQuickLink&count_bg=%231193F1&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false)](https://hits.seeyoufarm.com)
## ๐โโ๏ธ ์๋น์ค ์๊ฐ
Quick Link๋ ๋จ์ถ URL์ ์ ๊ณตํ๋ ๋ฌด๋ฃ ์๋น์ค์ ๋๋ค. ์ฌ์ฉ์๋ ๊ธด URL์ ์งง๊ณ ๊ธฐ์ตํ๊ธฐ ์ฌ์ด ๋งํฌ๋ก ๋ณํํ์ฌ ๊ฐํธํ๊ฒ ๊ณต์ ํ ์ ์์ต๋๋ค.
## ๐ Dependency and Quick Start
### ๐ฆ DependencyQuick Link๋ฅผ ์คํํ๊ธฐ ์ํด ํ์ํ ์์กด์ฑ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค
- Java 21
- Spring Boot 3.3.0
- MySQL 8.0.1
- Gradle 8.8
### ๐ Quick Start
1. ์ ์ฅ์๋ฅผ clone ํฉ๋๋ค.
```Bash
git clone https://github.com/seonghun-dev/QuickLink.git
cd QuickLink
```2. Docker-compose๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์คํ์ํค๊ณ , schema.sql ํ์ผ์ ํตํด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์คํค๋ง๋ฅผ ์ ์ฉํฉ๋๋ค.
```bash
docker-compose up -d
```4. Gradle์ ํตํด ๋น๋ํ๊ณ , ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํ์ํต๋๋ค.
```bash
./gradlew build
./gradlew bootRun
```5. ๋ธ๋ผ์ฐ์ ์์ http://localhost:8080 ์ผ๋ก ์ด๋ํ์ฌ ์๋น์ค๋ฅผ ์ด์ฉํฉ๋๋ค.
## ๐ ๏ธ ๊ตฌํ
Quick Link๋ URL ๋จ์ถ์ ์ํด Base62 ์ธ์ฝ๋ฉ๊ณผ Snowflake ID ์์ฑ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํฉ๋๋ค.**Base62 ์ธ์ฝ๋ฉ**
Base62๋ URL์ ์์ ํ๊ฒ ์ฌ์ฉํ ์ ์๋ ๋ฌธ์ ์งํฉ์ ์ฌ์ฉํ์ฌ ์ซ์ ID๋ฅผ ์งง์ ๋ฌธ์์ด๋ก ๋ณํํ๋ ๋ฐฉ์์ ๋๋ค.
์ํ๋ฒณ ๋์๋ฌธ์์ ์ซ์ (0-9)๋ฅผ ํฌํจํ 62๊ฐ์ ๋ฌธ์๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
์ด๋ฅผ ํตํด ๋จ์ถ๋ URL์ด ์๋์ ์ผ๋ก ์งง๊ณ ์ฌ์ฉํ๊ธฐ ํธ๋ฆฌํฉ๋๋ค.**Snowflake ID ์์ฑ**
Snowflake ์๊ณ ๋ฆฌ์ฆ์ ํธ์ํฐ์์ ๊ฐ๋ฐํ ๋ถ์ฐ ์์คํ ์ ์ํ ๊ณ ์ ID ์์ฑ๊ธฐ์ ๋๋ค.
์ด ์๊ณ ๋ฆฌ์ฆ์ 64๋นํธ ์ซ์๋ก ๊ตฌ์ฑ๋ ๊ณ ์ ID๋ฅผ ์์ฑํ๋ฉฐ, ํ์์คํฌํ, ๋ฐ์ดํฐ์ผํฐ ID, ๋จธ์ ID, ์ผ๋ จ ๋ฒํธ ๋ฑ์ ์กฐํฉํ์ฌ ์ค๋ณต๋์ง ์๋ ๊ณ ์ ID๋ฅผ ๋น ๋ฅด๊ฒ ์์ฑํ ์ ์์ต๋๋ค. .### ๐ ๋ผ์ด์ ์ค
์ด ํ๋ก์ ํธ๋ MIT ๋ผ์ด์ ์ค๋ฅผ ๋ฐ๋ฆ ๋๋ค. ์์ธํ ๋ด์ฉ์ LICENSE ํ์ผ์ ์ฐธ์กฐํ์ญ์์ค.