킥보드 예약 앱 프로젝트
요즘 많은 분들이 전동 킥보드를 이용해 간편하게 이동하고 계신데요!
이번 프로젝트에서는 여러분이 직접 킥보드 예약 앱의
UI와기능을 설계하고 구현하며, 개발자로서 사용자 경험(UX)을 기술적으로 풀어내는 과정을 경험을 하게 됩니다!사용자가 원하는 킥보드를 빠르고 정확하게 예약하고, 안전하게 이용할 수 있도록 기술과 UX가 완벽하게 조화를 이루는 구조를 만드는 것이 핵심입니다. 이번 프로젝트에서는 특히, 한 가지 이상의 API를 호출해 데이터를 주고받고 이를 효율적으로 관리하는 과정을 통해 네트워크 통신의 원리와 활용법을 익히게 됩니다.
View를 구성하거나 Constraint를 설정할 때 단순히 화면을 구현하는 데서 그치지 말고, 데이터를 받아오고 처리하는 과정까지 고려하며 "왜 이렇게 해야 하는가?"라는 질문을 통해 명확한 개발 의도를 담은 앱을 만들어 봅시다!
오늘 팀원들과 함께 S.A를 작성했다.
이번 프로젝트 과제는 2개 중 1개를 선택하는 방식이었고, 우리는 킥보드 앱을 선택했다.
금일 18시까지 각자의 의견을 모아 S.A 초안을 완성했다.
앱의 전체적인 화면 흐름을 그려보았다.

| 이름 | 담당 업무 |
|---|---|
| 1식 | 마이페이지, 이용내역 뷰 |
| 노훈 | 로그인/회원가입, 모달뷰 |
| 정진! | 지도 페이지, API 데이터 및 관련 함수 개발, 타이틀바 |
| 찬 호박 | 킥보드 등록 페이지, 안전수칙 화면 |
| 공통 | S.A 작성, 스크럼 일지 정리, QnA 정리, 시연 영상/발표자료 제작, README 작성 등 |
변수/상수 선언 시 타입 명시
var name: String = "명노운"주석 규칙
///* */작명 규칙
lowerCamelCaseUpperCamelCaseis로 시작 (예: isAvailable)변수 네이밍 예시
var name: String
var price: Int
var sale: Int
var originalPrice: Int
var imageName: String
var info: String
Issue & PR 제목 규칙
[Design]: 뷰 구성[Feat]: 기능 구현[Fix]: 버그 수정[Refactor]: 코드 전면 수정[Chore]: 그 외 작업[Docs]: 문서 작업 (README, WIKI 등)[Setting]: 프로젝트 설정예시:
[Feat] Custom Segmented Control 구현하기
커밋 메시지 규칙
[Issue 종류] #Issue 번호 - 작업 내용[Feat] #22 - 탭바 추가머지 메시지
브랜치 네이밍
이슈 종류/이슈 번호feat/#22브랜치 전략
GitHub Flow를 기본으로, main과 작업 브랜치 사이에 Develop 브랜치를 추가해 공동작업의 안전성 확보.main: 검증 완료된 develop 브랜치의 이슈만 mergedevelop: 개인 작업 브랜치 완료 후 merge개인 작업 브랜치: 기능 개발용 브랜치브랜치 규칙
Block force pushes: 강제 푸시 금지Require approval of the most recent reviewable push: 다른 팀원의 리뷰 승인을 필수로 요구main과 develop 브랜치는 모든 팀원이 승인해야만 머지 가능하며, 강제 푸시를 금지합니다.
