포트폴리오 ↗
루키즈 5기 · 일지›기획 · 팀 세팅Day 5 / 46

프로젝트 명칭 확정 및 본격 개발 시작

·읽는 시간 약 4분
#onde#travel-platform
목차 7개 단원
  1. ·서론
  2. 01프로젝트 명칭 확정: 온데
  3. 02통합 개발 일정 및 WBS 수립
  4. 03상세 설계 및 UI/UX 결과물
  5. 04개발 환경 세팅 및 개발 개시
  6. 05오늘의 주요 성과
  7. 06다음 단계: 도메인별 구현 진행 및 인프라·CI/CD 시작

서론

"기획을 마무리하고 개발을 시작했습니다. 플랫폼 이름을 정하고, 상세 설계를 바탕으로 첫 코드를 작성했습니다."

오늘은 프로젝트 명칭을 온데(onde)로 확정하고, 통합 WBS와 상세 설계(요구사항·API·도메인)를 마무리한 뒤 로컬 개발 환경 세팅과 첫 구현에 착수했습니다.

1. 프로젝트 명칭 확정: 온데 (onde)

팀 회의를 통해 프로젝트 명칭을 온데(onde)로 최종 결정했습니다.

'온데'는 '온 곳'이라는 뜻의 순우리말로, 우리가 개발할 여행 플랫폼의 핵심 가치를 담고 있습니다. 플랫폼의 지향점을 가장 잘 나타내는 슬로건은 다음과 같습니다.

"모든 여행의 시작점, 내가 온 데부터. 가장 나다운 일상에서 출발하여, 온전한 나로 되돌아오는 따뜻한 여정."

사용자가 일상에서 출발해 여행을 다녀오는 과정을 도울 수 있는 플랫폼을 목표로 개발을 시작했습니다.

이름을 먼저 확정한 이유는, 이후 도메인·API·화면 설계를 한 제품 기준으로 맞추기 위해서입니다. 진단 대상(타깃)이 될 여행 서비스를 먼저 만들고, 그 위에 취약점 진단·모의해킹을 얹는 순서로 가기로 했습니다.

2. 통합 개발 일정 및 WBS 수립

효율적으로 진행하기 위해 풀스택과 인프라 트랙의 일정을 맞추고 세부 WBS를 정했습니다.

  • 기능 개발: 6월 1일까지 각 파트별 개별 기능 구현 완료
  • 코드 통합: 6월 2일 ~ 5일 소스코드 통합 및 연동 테스트
  • 취약점 진단: 6월 8일 ~ 12일 실무 가이드 기반 진단 및 보완 조치

이번 프로젝트의 핵심 주제가 취약점 진단인 만큼, 빠르게 웹 서비스 개발을 마치고 취약점 진단을 위한 심도 있는 학습과 실제 진단 과정을 중점적으로 진행할 예정입니다.

3. 상세 설계 및 UI/UX 결과물

요구사항 정의서, API 명세서, 도메인 설계서 등 프로젝트의 뼈대가 되는 기술 문서를 정리했습니다. 단순한 기능 나열을 넘어, 대규모 트래픽 처리와 보안성을 고려해 설계했습니다.

요구사항 정의 (Functional & Non-Functional)

  • 핵심 비즈니스: 항공권 실시간 검색 및 선점(Redis), 여행자 보험 동기 계산, 숙소/렌터카 통합 예약 파이프라인 구축
  • 보안 요구사항: BCrypt 암호화, JWT 기반 세션 관리, 관리자 3계층 권한 분리(RBAC), 결제 금액 위변조 방지 검증(2-Step)
  • 성능/안정성: 오버부킹 방지를 위한 분산 락(Redisson) 적용, 대용량 데이터 추출 시 OOM 방지(JPA Stream), 서비스 간 느슨한 결합(Logical FK)

API 설계 (Restful API Standards)

  • 기술 스택: Java / Spring Boot, JWT, Redis, MySQL, AWS S3
  • 통합 표준: 모든 엔드포인트에 /api/v1/ 접두사 적용 및 Snake Case 사용
  • 응답 구조: 성공/오류 시 일관된 JSON 스펙 준수 및 상세 에러 코드(Validation, Auth 등) 정의
  • 인증 방식: Access Token(30분) & Refresh Token(14일) 이원화 및 Redis를 통한 실시간 세션 제어

도메인 및 데이터베이스 설계 (Domain Architecture)

  • 도메인 분할: 인증/회원, 항공/보험, 숙소/렌터카, 결제/정산/리워드, LBS/커뮤니티 등 5개 핵심 도메인으로 나눠 설계
  • 데이터 무결성: 결제-마일리지-예약 상태 변경을 단일 @Transactional 범위로 묶어 원자성 유지
  • 주요 엔티티: members, flight_schedules, seat_inventories, payments, settlements 등 20여 개의 마스터 테이블 정의

확정된 서비스 UI 화면은 아래와 같습니다.

온데 서비스 UI 화면

4. 개발 환경 세팅 및 개발 개시

팀 공통의 개발 컨벤션과 브랜치 전략을 정하고, 실제 구현에 착수했습니다.

  • 공통 구조(Base Code): Spring Boot와 React의 기본 아키텍처를 공유하여 개발 생산성을 높였습니다.
  • 로컬 환경 동기화: 프로젝트 구동에 필수적인 Java(JDK) 및 Node.js 등의 런타임 버전을 통일하여, 모든 팀원이 동일한 개발 환경을 유지하도록 세팅했습니다.
  • 개별 도메인 개발: 인증, 항공, 숙박, 정산 등 담당 영역별 비즈니스 로직 구현을 시작했습니다.

5. 오늘의 주요 성과

  • 플랫폼 명칭 확정: '온데(onde)'로 이름 변경
  • 상세 설계 정리: 요구사항, API, DB, 화면 설계 등 개발 전 작성할 설계 정리
  • 일정 계획 수립: 통합 WBS로 일정 공유
  • 구현 단계 진입: 로컬 개발 환경 구축 및 기초 코드 작성 시작

6. 다음 단계: 도메인별 구현 진행 및 인프라·CI/CD 시작

설계 문서는 오늘 선으로 맞춰 두었고, 앞으로는 담당 도메인별로 코드를 쌓으면서 인프라·배포 파이프라인도 같이 올립니다.

  • 풀스택: 인증·항공·숙소·렌터카·결제 등 도메인별 API 구현과 UI 컴포넌트 개발
  • 인프라: AWS 기초 인프라(VPC, EC2 등) 구축 및 클라우드 사용 기획서 보완
  • 공통: GitHub Actions CI/CD 리서치, 브랜치·PR 규칙에 맞춰 첫 기능 브랜치부터 올리기
  • 연동 준비: 로컬에서 FE–BE가 같은 /api/v1 규격으로 붙는지 중간 점검 일정 잡기
기획 · 팀 세팅단계 1 · Day 1–5 · 5 / 5일지 전체 →
  1. Day 01개발 프로세스 및 UI/UX 아키텍처
  2. Day 02프로젝트 명 확정 및 상세 서브 도메인 분할
  3. Day 03진짜 애자일을 위한 첫걸음 및 팀 협업 표준화 세팅
  4. Day 04첫번째 멘토링
  5. Day 05프로젝트 명칭 확정 및 본격 개발 시작