럭키 한끼는 위치 기반으로 잉여 음식과 식료품을 예약하고 픽업할 수 있는 공유 플랫폼입니다.
본 프로젝트는 실제 서비스인 Too Good To Go에서 아이디어를 착안하였습니다.
📌 Backend
- Java 17
- Spring Boot 3.3
- Spring Security + JWT
- Spring Data JPA + QueryDSL
- Spring Batch
- JUnit 5
⚙️ DevOps & Infra
- Gradle
- Docker
- IntelliJ IDEA
- Git
📦 기타 라이브러리 및 도구
- SpringDoc OpenAPI (Swagger UI 기반 API 문서화)
- JJWT (JWT 토큰 발급/검증)
- DataFaker (더미 데이터 자동 생성)
🗃️ 데이터베이스
- MySQL (개발 환경)
- Source/Replica 분리로 DB 읽기 성능 최적화
- H2 (테스트 환경)
🧩 도입 예정
- Redis
- 클라우드 배포
- CI/CD
- Java 17
- Docker & Docker Compose
- Gradle 8.13
- 저장소 클론
git clone https://github.com/f-lab-edu/luckyhankki.git
cd luckyhankki/docker
- 인프라 서비스 시작
docker compose up -d
- 애플리케이션 실행
cd ../
./gradlew bootRun
- Swagger UI 접속
http://localhost:8080/swagger-ui/index.html
이 프로젝트는 REST API 문서를 Swagger UI를 통해 제공합니다.
로컬 서버 실행 후 아래 주소에서 확인 가능합니다:
- 상품 API, 판매자 API, 유저 API 등으로 분류되어 있으며,
- 각 항목을 클릭하면 요청/응답 형식과 예제 값을 확인할 수 있습니다.
- "/products", "/categories", "/stores", "/keywords" API는 인증 없이 조회 가능합니다.
- 그 외에는 유저 관련 API에서 회원 가입 및 로그인 후 발급되는 JWT 토큰을 발급받아야 합니다.
- 테스트용 사용자 이메일: [email protected], 비밀번호: Test@!123
- 테스트용 관리자 이메일: [email protected], 비밀번호: Admin@!123
- 발급된 토큰을 웹 페이지 상단 Authorize 버튼을 클릭하여 토큰을 Value에 입력 후 Authrozie 버튼을 클릭합니다.