지피터스 20기 나만의 웹서비스_CAPTURE NOW 개발 여정

소개

CAPTURE NOW는 스포츠 하이라이트 공유와 번개 모임(Meetup)을 결합한 웹서비스입니다.
이 프로젝트는 지피터스 20기 ‘나만의 웹서비스 만들기’ 스터디에 참여하며 진행 중인 개인 프로젝트로, 스터디를 통해 실제로 런칭 가능한 나만의 웹서비스를 만드는 것을 가장 큰 목표로 시작했습니다.

기존부터 스포츠 분야에 관심이 많았고, "내가 좋아하는 도메인에서 직접 서비스를 만들어보고 싶다"는 욕심이 자연스럽게 CAPTURE NOW로 이어졌습니다. ⚽🏀


진행 방법

1️⃣ 기초 구조와 UI부터 시작

개발이 처음이다 보니, 기능보다 전체 구조와 화면 흐름을 이해하는 것에 집중했습니다.

  • 주요 페이지 구성

    • AuthPage, OnboardingPage : 로그인 및 유저 첫 설정 화면

    • HomePage : 틱톡/릴스 스타일의 세로 스크롤 피드

    • MeetPage, MeetDetailPage : 모임 탐색 및 상세 페이지

    • CreatePage : 게시물 및 미디어 업로드

  • UI 컨셉

    • 검은색 기반 다크 모드

    • 스포츠 서비스에 어울리는 강한 포인트 컬러


2️⃣ 상태 관리와 데이터 흐름 설계

  • Zustand (useStore.ts)

    • 유저 정보, 게시물, 이벤트 데이터를 전역 상태로 관리

    • 초기에는 Mock Data를 사용해 UI와 화면 전환을 빠르게 검증

이 단계에서 “데이터가 어디서 오고, 어떻게 화면에 연결되는지”를 처음으로 체감했습니다.


3️⃣ Google Maps 연동으로 현실감 추가

텍스트 기반 앱에서 벗어나기 위해 Google Maps API를 연동했습니다.

  • MapPreview 컴포넌트 제작 (재사용 가능)

  • 적용 기능

    • 온보딩 시 주 활동 지역 시각화

    • 모임 생성 시 장소 검색 → 좌표 변환 → 지도 핀 표시

    • 내 위치와 게시물 위치 간 거리 계산

      • 예: • 2.5km away

지도를 붙이면서 “아, 이건 진짜 서비스 같다”는 느낌을 처음 받았습니다 🗺️


결과와 배운 점

❗ 개발 중 가장 큰 현실적인 어려움

개발 자체가 처음이다 보니, 용어부터 개념까지 모든 것이 낯선 상태에서 하나하나 물어보고 따라가는 과정의 연속이었습니다.

특히 기능을 계속 추가하다 보니:

  • 기존 구조가 꼬이고

  • 정리하려고 새 프로젝트(Supabase 포함)를 다시 만들었다가

  • 오히려 두 프로젝트 모두 애매해지는 상황에 빠지기도 했습니다.

현재는 지금까지 만든 내용을 다시 기획안으로 정리하며, 공부를 병행하면서 천천히 정돈해 나가고 있는 단계입니다.


🌱 그래도 분명히 얻은 것들

  • 어떤 툴들이 있는지 알게 됨

    • Zustand, Supabase, Google Maps API 등

  • 이전에는 몰랐던 개념들에 익숙해지는 중

    • 상태 관리

    • 비동기 데이터 흐름

    • 로딩 처리의 중요성

무엇보다도, 👉 "모르지만 만들면서 배운다"는 경험 자체가 가장 큰 수확이었습니다.
현재는 또 새롭게 원하는 기능을 추가한 기획안을 바탕으로 다시 새로운 Playground에서 웹서비스를 제작해 보고 있는데 오히려 처음에 만들었던 웹서비스의 UI/UX가 훨씬 자연스럽고 제 요구 사항이 잘 반영되어 있어서 개인적으로 고민을 거듭하고 있습니다. 제가 요구하고 있는 기능 및 페이지가 많고, 기존 프로젝트와 충돌하고 있는 문제가 있어서 이런 것인지 고민하고 있고, 결국 문제의 원인과 해결 방안이 어떻게 될지 고민하고 있습니다.

1
2개의 답글
밀어주고 끌어주는

온·오프라인 AI 스터디

AI로 어디까지 할 수 있는지
직접 확인하실 분만 신청하세요.