WillGO는 위치 기반의 목표 달성을 돕는 서비스입니다. 사용자가 설정한 목표 장소에 방문하여 GPS를 통해 자동으로 인증하고 포인트 시스템과 푸시 알림으로 동기부여를 강화하는 위치기반 목표인증 서비스입니다.
| 항목 | 내용 |
|---|---|
| 프로젝트 이름 | WillGO - 위치기반 목표 달성 서비스 |
| 개발 기간 | 2024.12 - 2025.03 |
| 서비스 링크 | WillGO 바로가기 |
| 팀 명 | SWYP 8기 6팀 |
| 역할 | 이름 |
|---|---|
| PM | 윤현수, 박수현 |
| 디자이너 | 윤재호 |
| Backend | 김준현, 장민지, 하지혁 |
| Frontend | 박민형, 이영주 |
| 개발자 | 담당 업무 |
|---|---|
| 김준형 | 위치 API, 사용자 및 설정 관련 API, Swagger를 통한 API 문서화, 배포 환경 및 DB 구축 |
| 장민지 | 로그인 API, 포인트 API |
| 하지혁 | 목표 인증 API |
- 목표명, 목표기간, 목표요일 설정
- 종 3개의 목표 생성 가능
- 목표 종류:
- 인증가능 목표
- 인증완료 목표
- 임시저장 목표
- 지도 UI를 통한 내위치, 목표장소 확인
- 목표장소 100m 이내 접근 시 인증 가능
- 인증 요일, 주 인증횟수에 따라 보상포인트 차등 지급
- 주 인증횟수 채울 시 보너스포인트 추가 지급
- 회원가입 시: 2,000p 초기 지급
- 목표 생성 시: 200p 차감
- 리워드 신청:
- 커피쿠폰(5,000p)
- 편의점쿠폰(10,000p)
- Java 17
- Spring Boot 3.2.1
- Spring Security
- JWT
- JPA/Hibernate
- MySQL
- Swagger
- React
- TypeScript
- shadcn/ui
- OAuth2.0 (Google, Kakao)
- JWT 기반 인증
- Kakao Maps API (위치 기반 서비스)
- Oracle Server
- Ubuntu
- Github Actions (CI/CD)
- 목표위치 장소 검색 기능
- 사용자 반경 100m 이내 목표 장소 확인 로직
- 소셜 로그인 (Google, Kakao)
- 서비스 약관 동의
- 개인정보 처리방침
- 회원 정보 관리
- 로그아웃 및 회원 탈퇴
- Swagger를 활용한 API 명세서 작성
- API 엔드포인트 및 요청/응답 데이터 구조 정의
- API 테스트 환경 구축
- Spring Security를 활용한 백엔드 보안 구현
- CORS 설정을 통한 안전한 API 통신
- 민감한 사용자 정보 암호화 처리
- Java 17 이상
- MySQL 8.0 이상
- 프로젝트 클론
git clone https://github.com/Location-based-target-authentication/BE.git
cd BE/Location-based-target-authentication- 프로젝트 빌드 및 실행
# 의존성 설치
./mvnw clean install
# 애플리케이션 실행
./gradlew bootRunPOST /api/v1/auth/google/login: Google 소셜 로그인POST /api/v1/auth/kakao/login: Kakao 소셜 로그인POST /api/v1/auth/logout: 로그아웃DELETE /api/v1/auth/withdrawal: 회원 탈퇴
POST /api/v1/goals: 새로운 목표 생성GET /api/v1/goals: 목표 목록 조회GET /api/v1/goals/{goalId}: 특정 목표 상세 조회PUT /api/v1/goals/{goalId}: 목표 정보 수정DELETE /api/v1/goals/{goalId}: 목표 삭제POST /api/v1/goals/{goalId}/verify: 목표 달성 인증GET /api/v1/goals/available-slots: 사용 가능한 목표 슬롯 조회GET /api/v1/goals/statistics: 목표 달성 통계 조회POST /api/v1/goals/temporary: 임시 목표 저장GET /api/v1/goals/verification-history: 목표 인증 히스토리 조회
GET /api/v1/points: 포인트 내역 조회GET /api/v1/points/balance: 현재 포인트 잔액 조회POST /api/v1/points/rewards: 리워드 신청GET /api/v1/points/rewards/history: 리워드 신청 내역 조회
GET /api/v1/users/me: 내 정보 조회PUT /api/v1/users/me: 내 정보 수정GET /api/v1/users/me/goals: 내 목표 목록 조회GET /api/v1/users/me/points: 내 포인트 내역 조회
POST /api/v1/locations/verify: 현재 위치 인증GET /api/v1/locations/search: 장소 검색GET /api/v1/locations/nearby-goals: 주변 목표 장소 조회POST /api/v1/locations/validate: 목표 장소 유효성 검증
GET /api/v1/system/version: 앱 버전 정보 조회GET /api/v1/system/maintenance: 시스템 점검 정보 조회GET /api/v1/system/terms: 서비스 약관 조회GET /api/v1/system/privacy-policy: 개인정보 처리방침 조회







