Quickurl
1인 프로젝트
프로젝트 소개
긴 URL을 짧고 간편한 형태로 변환하여 공유하고 관리할 수 있는 웹 애플리케이션입니다.
개인 사용자부터 기업까지 누구나 쉽게 링크를 단축하고 추적할 수 있도록 안정적이고 효율적인 아키텍처를 기반으로 설계되었습니다.
프로젝트 정보
프로젝트 특징
- 간편한 사용: 회원가입 없이 누구나 쉽고 빠르게 URL 단축 기능 이용
- 링크 관리: 로그인 시 기존에 단축한 URL 조회 및 관리 기능 제공
- 성능 최적화: 비동기 처리 및 스프링 이벤트(Spring Event)를 적극 활용한 통계 기능 비동기 처리로 성능 최적화
- 통계: 단축된 링크의 일일 및 누적 사용량 집계 기능
- 보안: XSS 등 악성 요청 필터링 및 Rate Limiting을 활용하여 서비스에 대한 악성 공격 방지
프로젝트 목적
- 코틀린(Kotlin) 언어의 실무 적용 및 깊이 있는 학습
- 헥사고날 아키텍처 기반의 확장 가능한 백엔드 시스템 설계 경험
기술 스택 및 아키텍처
- 언어/프레임워크: Kotlin, Spring Boot, JPA
- 데이터베이스/캐시: MariaDB, Redis
- 프론트엔드: Thymeleaf (템플릿 엔진)
- 인프라/배포: DockerCompose, AWS EC2, Github Actions (CI/CD)
- 아키텍처: 헥사고날 아키텍처(Hexagonal Architecture) 기반 설계
프로젝트 후기 및 성과
이 프로젝트를 통해 코틀린의 실무 적용 가능성을 성공적으로 검증하고,
자바의 장황한 문법 대비 코틀린의 직관적이고 간결한 문법에 대한 매력을 다시 한번 느꼈습니다.
특히 통계 집계 기능을 비동기 및 이벤트 기반 아키텍처로 리팩토링한 것이 가장 큰 성과였습니다.
리팩토링 후 K6를 활용한 부하 테스트를 진행하여 그 효과를 시각적으로 명확히 체감할 수 있었으며,
이를 통해 시스템의 구조와 아키텍처가 서비스 성능에 미치는 영향을 깊이 있게 실감하는 계기가 되었습니다.