대학생 새내기들이 약속을 정할 때 겪는 시간 조율과 장소 선정의 번거로움을 해결하고 학교 근처 맛집을 추천하기 위한 웹서비스입니다.
Frontend 리드로서 장소 추천 페이지[place] 핵심 UI/UX 전반을 구현했습니다.
- 스크롤 위치 직접 계산 후 90% 도달 시 자동 추가 로딩
- BottomSheet 상태(
expanded/middle)에 따라 fetch 동작 분기 fetchCategoryData()또는fetchFilteredCategoryData()실행Set을 활용해 카드 id 중복 제거 처리
getCurrentLocation()으로 브라우저 Geolocation API 호출- 현재 위치 클릭 시
selectedLocation에 저장 후 지도 중심 이동 - 검색창 텍스트를 자동으로 현재 위치명으로 설정
- Kakao Map Ref를 통한 지도 제어
fetchUserInformation()호출하여 유저 닉네임을 가져와 문구에 반영- 유저 기반 맞춤 텍스트 적용
- 탭에 맞는 필터 데이터를 서버에서 받아와 렌더링
- 선택된 필터는
filtersRef.current에서 상태 관리 - 선택 여부에 따라 스타일 동적 반영
- 필터 변경 시
fetchFilteredCategoryData()자동 호출
fetchLikeCount()를 통해 카드의 좋아요 수 실시간 갱신useLikeSystem()커스텀 훅으로 기능 캡슐화 → 재사용성 증가- 다른 카테고리/컴포넌트에서도 동일 로직 활용 가능
touchstart,touchmove,touchend이벤트 기반으로 deltaY 계산- 드래그 위치에 따라
collapsed,middle,expanded상태 전환 - 상태에 따른 BottomSheet 높이 및 카카오맵 margin-bottom 자동 조정
- 터치 + 마우스 모두 지원하는 드래그 처리
- Docker를 이용해 Next.js 빌드 이미지 생성 및 컨테이너 실행 환경 표준화
- main 브랜치 push 시 자동으로 최신 버전이 S3에 배포되도록 구성
2024.12 ~ 2025.02
| 이름 | 역할 |
|---|---|
| 김나영 외 4명 | 프론트엔드 |
| 우태경 | 백엔드 |
| 정규원 | 백엔드 |
실제 사업화까지 진행하였습니다.