Skip to content

codeit-FE-15-Part4-Team1/RoamReady

Repository files navigation

logo-text logo-symbol-blue

떠날 준비, 지금 바로, RoamReady – 즉흥의 설렘을 예약하세요.

롬레디 (RoamReady) 는 Roam과 Ready의 결합어로, 언제든지 떠날 준비가 된 여행자와 체험가를 위한 액티비티 예약 플랫폼입니다.
즉흥적인 여행, 자유로운 탐험, 감각적인 경험을 추구하는 당신을 위해 감성적이면서도 실용적인 디자인, 빠르고 유연한 예약 흐름, 그리고 글로벌 확장을 고려한 구조로 설계했습니다.

Next.jsTypeScript 기반의 안정적인 기술 스택 위에 BFF 아키텍처를 도입해 사용자 경험과 보안을 강화하였으며, Zustand를 통한 상태 관리, kyTanStack Query를 활용한 API 요청 및 캐싱으로 깔끔하고 효율적인 사용자 경험을 제공합니다.

🎬 바로 보기(YouTube에서 재생됩니다)

Preview (GIF)

회원가입/로그인

auth1.gif auth2.gif auth3.gif

OAuth(kakao)

kakao.gif


메인페이지 캐러셀

main-carousel.gif

메인페이지 리스트

main-list-filter.gif main-list-pagination.gif

메인페이지 검색

main-search.gif


마이페이지 내 정보 수정

my-info.gif

마이페이지 예약 관리

my-reservation.gif

마이페이지 내 체험 관리

my-activity-edit-delete.gif

마이페이지 내 예약 현황

my-reservation-list.gif


상세페이지

detail.gif


체험 등록

create-activity1.gif create-activity2.gif


롬래디 용민 시은 서연 재현
R&R 유용민 송시은 김서연 박재현
페이지 - 체험 등록 페이지
- 체험 수정 페이지
- 예약 현황 페이지
- 로그인 페이지
- 회원가입 페이지
- 404페이지
- 체험 상세 페이지 - 메인페이지
- 마이페이지
공통 컴포넌트,
공통 로직
- Button
- SelectBox
- Tabs
- Input
- Toast
- OAuth
- 인증시스템
- 에러처리시스템
- Dropdown
- Pagination
- Header
- Footer
- BottomSheet
- Modal
- Profile
프로젝트 설정 - 배포 - ESLint, Pretter 설정
- Lefthook 설정
데모 - 발표 - README - 영상, gif - PPT

👻 기술 스택

Core

기술 버전 / 도구 설명
TypeScript TypeScript 5 정적 타입으로 코드 안정성과 자동완성 향상
React React 19.0.0 최신 기능 활용한 UI 구성
Next.js Next.js 15 (App Router) 파일 기반 라우팅과 SSR, SEO에 강함

Runtime & Package Manager

기술 버전 설명
Node.js 22.17.0 (LTS) 안정적인 런타임 환경
pnpm 10.x 빠른 설치 속도와 모듈 중복 최소화

Styling

기술 설명
Tailwind CSS 4 빠르고 일관된 UI 구성

API & State Management

기술 설명
Ky Axios 대비 번들 사이즈가 작은 fetch 기반 HTTP 클라이언트
Zustand 간단한 전역 상태 관리
TanStack Query 서버 상태와 캐싱을 효율적으로 관리

Development Tools

기술 설명
ESLint / Prettier 코드 스타일 및 문법 일관성 유지
CommitLint 커밋 메시지 규칙을 통한 협업 품질 향상
lefthook Git Hook 기반 자동화로 코드 품질 유지
Zod + React Hook Form 타입 안전한 Form 유효성 검사
GitHub Actions + Vercel PR 시 미리보기 배포 링크 자동 생성 및 댓글로 공유하는 자동화된 테스트 및 배포 환경

👻 트러블슈팅

더 많은 트러블 슈팅을 보고싶다면 이곳을 클릭해 확인하세요.

문제 상황 작성자
로컬스토리지 → HTTP-only 쿠키: 인증 보안을 위해 아키텍처 개선 송시은
배포 환경에서 Server Component 에러 메시지 미노출 이슈 김서연
카카오 소셜 로그인, 회원가입 흐름 설계 전략: 인가코드 일회성 · 분리된 백엔드 · UX 혼란 해결 송시은
Next.js BFF 환경에서 카카오 OAuth 인가 코드와 닉네임을 동시에 전달할 수 없는 문제 해결 송시은
React Hook Form + Custom Input 유용민
Dialog, BottomSheet 활성화 시 레이아웃 깨짐 없이 스크롤 막기 박재현
Next.js App Router에서 테스트 전용 페이지와 API 라우트를 프로덕션 빌드에서 안전하게 제외하는 방법 송시은
Next.js Image 배포 환경에서 이미지가 깨지는 문제 해결 (Vercel 402 PAYMENT_REQUIRED) 박재현

👻 UX 개선 사항

더 많은 UX에 대한 고민을 보고 싶다면 이곳을 클릭해 확인하세요.

제목 작성자
클라이언트 측 비밀번호 확인 로직 도입 (Zod refine 활용) 송시은
상세 페이지 이미지 클릭시 이미지 모달 기능 김서연
로그인/회원가입 UX 개선 (입력값 자동 유지 및 세션 일관성 확보) 송시은
알림 주기적 반영 김서연
Streaming SSR로 사용자 경험과 SEO 개선하기 박재현

👻 Engineering Breakdown

더 많은 설계 및 구현 문서를 보고싶다면 이곳을 클릭해 확인하세요.

주제 작성자
API 요청 및 인증 아키텍처 가이드 송시은
Slot 패턴과 해당 패턴 사용을 위한 cloneElement 유용민
체험 상세 페이지 캐싱 전략 김서연
URL Query 기반의 필터, 정렬, 페이지네이션 구현하기 박재현

👻 TIL

더 많은 TIL을 보고 싶다면 이곳을 클릭해 확인하세요.

제목 작성자
requestAnimationFrame() 김서연
리액트의 SetStateAction과 Dispatch 타입 박재현
Tailwind v4 @theme · @utility · @layer utilities 송시은

👻 프로젝트 문서 & 디자인


👻 프로젝트 관리

애자일 + 워터폴의 장점을 섞은 협업 방식을 기반으로 코드 품질과 작업 효율을 높였습니다.
다양한 커뮤니케이션과 GitHub Projects를 적극 활용하며 이슈 기반으로 작업을 관리했습니다.
또한, 정기적인 커뮤니케이션을 통해 팀 작업의 가시성과 협업 효율성을 높였습니다.


👻 팀 회고


About

떠날 준비, 지금 바로, RoamReady – 즉흥의 설렘을 예약하세요.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages