Rust + Axum 기반 셀프호스팅 URL 단축기 (s.jell.kr)
Rust와 Axum 프레임워크로 구현한 고성능 셀프호스팅 URL 단축기입니다. SQLite 단일 파일 DB에 Base62 인코딩 코드 생성, Token Bucket 기반 레이트 리미터, QR 코드 생성, 비밀번호 보호 URL 등의 기능을 갖췄습니다. TDD(21개 테스트)로 개발하고 Docker 멀티스테이지 빌드 + nginx 리버스 프록시로 jell-server에 배포했습니다.
Auto-increment ID → Base62 인코딩으로 짧고 예측 불가능한 코드 생성
사용자 지정 슬러그 + 선택적 비밀번호 보호 URL (bcrypt 해싱)
단축 URL 생성 시 PNG QR 코드 자동 생성 및 다운로드 제공
IP 기반 Token Bucket 알고리즘으로 분당 30회 요청 제한
PRD 작성 → TDD 개발 → Docker 배포까지 단일 세션 완주
URL 검증, 예약어 차단, 리다이렉션, 만료, QR 등 핵심 로직 전수 테스트
빌더 이미지(rust:slim) → 실행 이미지(debian:bookworm-slim) 분리로 경량 컨테이너
더 많은 프로젝트가 궁금하신가요?
모든 프로젝트 보기→