⚓ 실무형 백엔드 포트폴리오 로드맵
⚓ 실무형 백엔드 포트폴리오 로드맵
DATT 프로젝트란?
DATT는 단순 맛집 검색 서비스가 아니다.
핵심 목표는:
1
2
"특정 장소를 기준으로 주변 경험을 탐색하고,
그 경험을 사용자들과 공유하는 플랫폼"
을 만드는 것이다.
즉:
1
2
3
4
5
6
7
장소 검색
→ 주변 탐색
→ Anchor 생성
→ 공유
→ 리뷰
→ 사용자 활동
→ 성장
흐름을 가진다.
예를 들어 사용자가:
1
"성수에서 데이트할 곳 찾기"
상황에서 특정 장소에 Anchor를 생성하면:
1
2
3
4
5
맛집
카페
술집
숙소
놀거리
등을 자동 큐레이션한다.
즉 DATT의 핵심은:
1
위치 기반 경험 탐색 + 사용자 반응 데이터 축적
이다.
전체 개발 목표
최종 목표는 다음 흐름을 완성하는 것이다.
1
2
3
4
5
6
7
8
9
공공데이터 수집
→ 장소 검색
→ Nearby 탐색
→ Anchor 큐레이션
→ 리뷰/평점
→ 좋아요/Bookmark
→ 사용자 성장
→ 프론트 서비스
→ 배포
즉:
1
"위치 기반 경험 탐색 플랫폼 MVP 구축"
이 목표다.
기술 스택
Backend
1
2
3
4
5
6
7
8
Java 21
Spring Boot 3
Spring Security
JWT
JPA (Hibernate)
QueryDSL
Spring Batch
PostgreSQL
Frontend
1
2
3
4
5
Next.js
React
TypeScript
TailwindCSS
TanStack Query
Infra
1
2
3
4
5
Docker
Docker Compose
Nginx
GitHub Actions
AWS EC2
지도 / 위치 기반
1
2
3
Kakao Map
Haversine Formula
PostGIS (추후 고도화)
전체 개발 플랜
1주차 — 인증 시스템 구축
목표
1
JWT 기반 인증 시스템 구축
1일차 — 회원 도메인 설계
구현 내용
Member Entity 설계
핵심 필드:
1
2
3
4
5
6
7
id
email
password
nickname
role
level
exp
BaseEntity 구성
1
2
createdAt
updatedAt
공통 관리.
목표
사용자 시스템 기반 구축
추후 Gamification 대비 구조 확보
2일차 — Spring Security + JWT 구조 설계
구현 내용
SecurityFilterChain 구성
JWT TokenProvider 구현
AccessToken / RefreshToken 구조 설계
인증 Filter 구성
목표
1
Stateless JWT 인증 구조 구축
3일차 — 회원가입 API 구현
구현 내용
회원가입 API
1
POST /api/auth/signup
비밀번호 암호화
1
BCryptPasswordEncoder
이메일 중복 검증
목표
안전한 사용자 생성 구조 구축
인증 기반 확보
4일차 — 로그인 API 및 인증 예외 처리
구현 내용
로그인 API
1
POST /api/auth/login
JWT 발급 구조
1
2
AccessToken
RefreshToken
인증 예외 처리
1
2
3
잘못된 비밀번호
존재하지 않는 사용자
만료된 토큰
목표
- 실제 서비스 수준 인증 흐름 구축
5일차 — Refresh Token 및 로그아웃 구현
구현 내용
Refresh Token 재발급 API
로그아웃 처리
Redis 없이 Refresh Token 관리 구조 구현
목표
- 사용자 인증 흐름 완성
2주차 — 장소 검색 및 위치 기반 탐색 구축
목표
1
공공데이터 기반 장소 탐색 MVP 구축
1일차 — PlaceMaster 설계 및 검색 API 구현
구현 내용
PlaceMaster Entity 설계
핵심 필드:
1
2
3
4
5
6
7
8
9
10
11
bizesId
bizesNm
indsMclsCd
indsMclsNm
ctprvnNm
signguNm
lon
lat
장소 검색 API
1
GET /api/places
목표
장소 데이터 저장 구조 구축
검색 API 기반 확보
2일차 — Spring Batch 기반 공공데이터 동기화
구현 내용
공공데이터 API 연동
1
소상공인시장진흥공단 상권정보 API
Spring Batch 구성
1
2
3
Reader
Processor
Writer
업종 코드 기반 분류 구조
예시:
1
2
3
4
5
한식
중식
카페
숙박
주점
목표
대량 장소 데이터 적재
자동 동기화 구조 확보
3일차 — QueryDSL 기반 검색 API 고도화
구현 내용
QueryDSL 도입
동적 검색 조건 처리
1
2
3
키워드
지역
업종
Pageable 적용
목표
- 실제 서비스 수준 검색 구조 구축
4일차 — Nearby Search 구현
구현 내용
Nearby API
1
GET /api/places/nearby
Haversine Formula 기반 거리 계산
반경 검색
1
2
3
1km
3km
5km
거리순 정렬
목표
현재 위치 기반 탐색 기능 구축
지도 기반 서비스 준비
5일차 — 장소 상세 조회 및 응답 구조 분리
구현 내용
장소 상세 조회 API
1
GET /api/places/{placeId}
목록 DTO / 상세 DTO 분리
상세 응답 구조 고도화
1
2
3
4
주소
업종
좌표
기본 정보
목표
- 장소 상세 페이지 기반 확보
3주차 — DATT 핵심 기능 구축
목표
1
Anchor 기반 경험 탐색 플랫폼 MVP 완성
1일차 — Bookmark 시스템 구축
구현 내용
Place Bookmark
Bookmark 추가/삭제 API
내 Bookmark 목록 조회
Bookmark 여부 조회
목표
사용자 저장 기능 구축
개인화 기반 확보
2일차 — Anchor 시스템 구축
Anchor란?
Anchor는:
1
"특정 지역을 기준으로 주변 경험을 큐레이션하는 기능"
이다.
예:
1
2
3
4
5
성수역 기준
→ 맛집
→ 카페
→ 술집
→ 놀거리
등을 자동 추천한다.
구현 내용
Anchor 생성 API
1
POST /api/anchors
Nearby 기반 자동 추천
카테고리별 추천 구조
1
2
3
4
5
FOOD
CAFE
BAR
STAY
PLAY
Anchor 상세 조회 API
공개 Anchor 목록 조회 API
내 Anchor 목록 조회 API
Anchor 공유 구조
조회수 증가 구조
목표
DATT 핵심 경험 구조 구축
단순 검색이 아닌 경험 탐색 구조 완성
3일차 — Place 리뷰/평점 및 Anchor 좋아요 시스템 구축
구현 내용
PlaceReview Entity 설계
장소 리뷰 CRUD
1
2
3
4
작성
수정
삭제
조회
평균 평점 계산
1
2
averageRating
reviewCount
AnchorLike 시스템 구축
Anchor 좋아요 추가/삭제
인기 Anchor 기반 구축
목표
사용자 평가 데이터 축적
추천 품질 기반 확보
4일차 — Gamification 및 사용자 성장 시스템 구축
구현 내용
경험치 정책
예시:
1
2
3
4
Bookmark 추가
리뷰 작성
Anchor 생성
Anchor 좋아요 획득
레벨 시스템
MemberActivityLog 구현
업적(Achievement) 최소 구조
사용자 랭킹 구조
칭호 시스템
목표
사용자 활동 유도
리텐션 강화
탐험 기반 서비스 경험 구축
4주차 — 프론트엔드 MVP 구축
목표
1
실제 사용자 서비스 형태 완성
1일차 — Next.js 초기 세팅
구현 내용
프로젝트 초기 구성
Layout 구성
API Client 구성
인증 상태 관리
목표
- 프론트 구조 기반 확보
2일차 — 로그인 / 회원가입 UI 구현
구현 내용
로그인 페이지
회원가입 페이지
JWT 연동
Protected Route
목표
- 실제 인증 흐름 프론트 연동
3일차 — 장소 검색 및 상세 화면 구현
구현 내용
검색 UI
검색 결과 리스트
카테고리 필터
장소 상세 페이지
리뷰 UI
Bookmark UI
목표
- 실제 장소 탐색 UX 구축
4일차 — 지도 및 Anchor UI 구현
구현 내용
Kakao Map 연동
현재 위치 기반 조회
Nearby Search UI
Anchor 생성 UI
Anchor 상세 화면
Anchor 좋아요 UI
목표
- 지도 기반 탐색 경험 완성
5일차 — 사용자 프로필 및 활동 UI 구현
구현 내용
프로필 화면
레벨 / 경험치 UI
업적 / 활동 로그 UI
내 Bookmark
내 Anchor
목표
사용자 활동 흐름 완성
Gamification 경험 구축
5주차 — 배포 및 포트폴리오 마무리
목표
1
실제 서비스 수준으로 마무리
1일차 — Docker 및 환경 구성
구현 내용
Dockerfile
Docker Compose
환경 변수 분리
2일차 — EC2 및 Nginx 배포
구현 내용
AWS EC2 배포
Nginx Reverse Proxy
HTTPS 적용
3일차 — CI/CD 구축
구현 내용
GitHub Actions
자동 배포
Build Pipeline 구성
4일차 — 포트폴리오 정리
구현 내용
아키텍처 다이어그램
ERD 정리
기술 선택 이유 정리
5일차 — GitHub 및 시연 자료 정리
구현 내용
README 고도화
시연 영상
GitHub 블로그 정리
이후 고도화 예정
MVP 이후에는 다음 작업을 진행할 예정이다.
1
2
3
4
5
6
7
Redis Cache
Elasticsearch
PostGIS
추천 시스템
검색 랭킹
개인화 추천
실시간 인기 지역
마무리
DATT는 단순 장소 검색 서비스가 아니다.
핵심은:
1
2
"특정 지역을 기준으로
좋은 경험을 탐색하고 공유하는 것"
이다.
즉:
1
2
3
4
5
6
검색
→ 탐색
→ 큐레이션
→ 리뷰
→ 공유
→ 성장
흐름을 가진다.
이번 프로젝트를 통해:
1
2
3
4
5
6
7
8
9
Spring Boot
JWT 인증
QueryDSL
Spring Batch
위치 기반 검색
추천 구조
Gamification
프론트/백엔드 통합
배포 경험
까지 전체 서비스 개발 흐름을 경험하는 것이 목표다.
This post is licensed under CC BY 4.0 by the author.