모바일 출장 데이터 수집 웹앱 개발 과정 2

개발 과정 전체 흐름

PRD 작성 → Gemini 2.5 Pro로 개선(클로드 4도 이용해봄) → GPTs(ChatPRD)로 마크다운 변환 
→ Lovable에서 디자인 구현 → Cursor AI에서 개발 작업 
→ GitHub 업로드 → Vercel 배포로 완성

개요

안녕하세요. 이번에 모바일 출장 데이터 수집 앱을 1차?라고 해야하나요? MVP라는 단어를 사용하던데 그 정도라고 보면 되려나요...?

여튼 간단하게 초기 개발한 경험을 공유하고자 합니다. 처음 시도해보는 앱 개발이었지만, 스터디 도움으로 1차적으로 만들어볼 수 있었습니다.

모바일 출장 데이터 수집 앱 개발 과정

초기 목표 설정

처음 계획은 모바일과 PC 간 동기화가 가능한 앱을 만드는 것이었습니다. 하지만 이를 위해서는 백엔드 개발이 필요하다는 것을 알게 되었습니다. 뭐지ㅠㅠ(felo, genspark에 물어보고 좌절)

난관 발생 → 목표 수정

주 목적이 재산세(복잡해서 일부만) 계산 민원 상담 도우미 개발이 업무였고, 이것은 애초 목적이 가볍게 며칠 정도 사용할 도구였기에 다음과 같이 방향을 수정했습니다:

  • 모바일 웹앱으로 개발 방향 변경

  • PC 동기화 기능 제외

  • 대신 사무실에서 확인 가능하도록 파일 생성 및 첨부하여 이메일 전송 기능 추가

1단계: 요구사항 변화 및 PRD 작성

  1. Gemini 2.5 Pro와 Claude 4를 활용하여 작성한 요구사항을 체계적인 PRD로 발전시켰습니다. 두 AI의 서로 다른 관점을 비교 검토하여 더욱 완성도 높은(?) 문서를 만들 수 있었습니다.

# 프로그램 설명
- 모바일 출장 데이터 수집 앱
- 로그인 기능 별도로 없음.
- 모바일에서 입력한 데이터를 휴대폰이나 태블릿 내부 저장소에 저장할 수 있는 기능
- 위치‧건물 정보를 입력·저장하고 DOCX 형식으로 보고서를 내보낼 수 있음
- DOCX 형식으로 추출이 될 때는 한글로 정상적으로 추출이 되어야 함
- 추출이 될 때에는 각 제목은 14pt, 텍스트 입력된 내용은 12pt
- 주요 기능: 데이터 입력 / 저장된 장소 / 보고서 내보내기
- 데이터 입력 폼: 필수 항목은 지번·주소, 장소 유형(예시: 종교시설, 영유아시설, 주차장, 유흥주점, 멸실, 신축 선택)
- 데이터 입력 중 선택 항목은 건물 층수(B3,B2,B1,1,2,3,4,5층,6층,7층)·내부 정보(텍스트), 특이사항·메모(텍스트)
- 사진 업로드(층별로 최대 3장) + 미리보기·개별 삭제 기능
- 각 층별 사진은 사진첩에서 선택할 수도 있고 카메라로 촬영할 수도 있는 선택지 제공
- 층별 정보 입력 후 추가 버튼을 통해 다음 층수 입력 가능 
- 저장 기능은 새 항목 저장 또는 기존 항목 수정
- 저장 시 timestamp 자동 기록
- 저장된 장소 요약‧사진 썸네일 표시
- 저장된 내용의 항목별 수정·삭제 버튼
- 삭제 전 확인 모달 팝업
- 알림: 성공·오류·경고 메시지 1초간 표시
- 저장 파일 형식은 DOCX: 다운로드 시뮬레이션 알림 후 파일 생성
- 메일로 docx 파일 내보내기 기능
- 내보내기 미리보기: 총 장소 수, 각 장소 유형·주소·사진 수 요약
- locations 배열에 장소 객체 저장
- id, address, locationType, floors, notes, photos[], photoData[], timestamp
- 상태 변경 시 localStorage.locationData 에 자동 동기화
- 초기 렌더링 시 저장 데이터 로드·파싱
- UI/UX는  TailwindCSS 클래스로 반응형 레이아웃·스타일링
- 주요 아이콘: Save, Camera, Edit2, Trash2, Download,
#지시
프로그램 설명을 기반으로 잘 구조화된 PRD(Product Requirements Document)를 만들어줘.

세부 내용은 커서로 작업했습니다.

2단계: 개발하기

Lovable을 통한 디자인 구현

PRD를 바탕으로 Lovable에서 초기 디자인과 기본 구조를 생성했습니다. 이를 통해 전체적인 UI/UX 방향을 설정할 수 있었습니다.

Cursor AI를 활용한 본격 개발

  1. GitHub에서 Lovable 작업 결과물을 가져와 시작

  2. Claude 4 Sonnet 모델을 종종 활용하여 핵심 기능 구현

  3. 단계별로 기능을 완성해나가며 점진적 개발 진행

3단계: 배포 과정에서의 문제 해결

발생한 문제

개발은 완료했지만 실제 앱으로 배포하는 방법을 몰라 막막한 상황이었습니다. 커서에서 했는데... 커서가 다 해주는 거 아니었나?ㅠ

해결 과정

다행히 스터디 톡방에서 도움을 받을 수 있었습니다. 로즈 스터디장님의 정확하고 친절한 안내(cursor → vercel 마무리)로 다음과 같은 배포 과정을 학습했습니다.

  1. GitHub Repository 생성

    • 새로운 저장소 생성 및 주소 복사

  2. 코드 업로드

    • Cursor AI의 Agent 기능 활용

    • "이 코드를 GitHub에 업로드해줘. 내 repository는 ~~~야"라는 간단한 요청으로 자동 업로드(이것도 방법이 있는데 몰라서 물어봤더니 해주더라구요)

      한국어 텍스트가 포함 된 웹 사이트 스크린 샷
      커서에게 github 업로드 방법 물어보기
  3. Vercel 배포

    • Vercel에서 "Add new..." 선택

    • GitHub repository import

    • Deploy 버튼 클릭으로 배포 완료

단어가 포함 된 웹 사이트의 홈페이지를 만들자
vercel에서 github 연동이 되네? import

1차 완성품

  • Vercel에서 생성된 도메인 주소로 앱 접근 가능

  • 모바일에서 홈 화면 추가하여 네이티브 앱처럼 사용

  • 커서에서 기능 개선(코드 수정) 요청 시 자동으로 앱에 반영되는 부분이 놀라웠음

한국 모바일 앱 UI UI UI UI UI UI UI UI UI
일단 어찌저찌 사용 가능할 정도는 된...

아직 부족하지만 이제는 조금씩 개선하는 방향으로 진행하려고 합니다.

학습한 부분

  • PRD 작성 경험치

  • Cursor AI, Vercel 등 기초적인 활용법 습득

  • GitHub 생기초 이해(?)

  • 웹앱 배포 및 운영 프로세스 경험

소감

정말 이번 스터디 한 거 정말 잘했다는 생각이 들었습니다.

언제 제가 자그마하다고 하지만 이런 거 만들 수 있었을까요...

단순히 작은 앱을 하나 만든 것을 넘어서, 개발 프로세스를 경험하고 커서, vercel과 같은 도구들을 활용하는 기초적인 방법을 배울 수 있었습니다.

개인 맞춤형 웹앱이라도 어떻게 해볼 수 있다는 게...

특히 스터디의 도움이 큰 힘이 되었습니다. 월요일 강의도 마찬가지였구요.

저희 스터디 멤버분들 고수분들이 많으신데요... 저는 그에 비하면 아는 건 미미하지만 다들 알고 계신 걸로 조언해 주시려고 하는 모습에 또 다른 에너지를 얻었습니다.

올 한 해는 업무가 좀 바쁜 해여서 일정 상 좀 아쉽지만 이번 기수에 배운 게 정말 알차서 내년 기수에는 반드시 꼭 하고 싶다는 생각이 들었습니다.

물론 지금 16기도 잘 마무리 하고 싶습니다^^

감사합니다.

커서에서 claude 4 sonnet 정말 좋은 거 같습니다.(초심자 느낌) opus는 제한 걸릴까봐 못 썼습니다.

4
6개의 답글

뉴스레터 무료 구독

👉 이 게시글도 읽어보세요