[내일배움캠프 40일차] 주특기 숙련 프로젝트 시작!

NH·2025년 4월 25일

내일배움캠프

목록 보기
40/62
post-thumbnail

Ch3. 주특기 기초 프로젝트 시작

  • 새로운 주를 시작하면서, 지난 주 개인 프로젝트에 이어 팀 프로젝트가 시작되었다.

🫂 팀 프로젝트 - 킥보드

킥보드 예약 앱 프로젝트

요즘 많은 분들이 전동 킥보드를 이용해 간편하게 이동하고 계신데요!

이번 프로젝트에서는 여러분이 직접 킥보드 예약 앱의 UI기능을 설계하고 구현하며, 개발자로서 사용자 경험(UX)을 기술적으로 풀어내는 과정을 경험을 하게 됩니다!

사용자가 원하는 킥보드를 빠르고 정확하게 예약하고, 안전하게 이용할 수 있도록 기술과 UX가 완벽하게 조화를 이루는 구조를 만드는 것이 핵심입니다. 이번 프로젝트에서는 특히, 한 가지 이상의 API를 호출해 데이터를 주고받고 이를 효율적으로 관리하는 과정을 통해 네트워크 통신의 원리와 활용법을 익히게 됩니다.

View를 구성하거나 Constraint를 설정할 때 단순히 화면을 구현하는 데서 그치지 말고, 데이터를 받아오고 처리하는 과정까지 고려하며 "왜 이렇게 해야 하는가?"라는 질문을 통해 명확한 개발 의도를 담은 앱을 만들어 봅시다!


🚀 S.A 작성

오늘 팀원들과 함께 S.A를 작성했다.
이번 프로젝트 과제는 2개 중 1개를 선택하는 방식이었고, 우리는 킥보드 앱을 선택했다.
금일 18시까지 각자의 의견을 모아 S.A 초안을 완성했다.


📱 앱 화면 기획

  • 제목: 명.노.운 (명심! 노(NO)헬멧은 운전불가)
  • 목적:
    단순한 킥보드 대여 서비스를 넘어, 이용자의 안전을 최우선으로 생각하는 플랫폼을 만드는 것이 목표입니다.
  • 프로젝트 기간: 2025.04.25 ~ 2025.05.02
  • GitHub Repository: 링크

🛠️ 와이어프레임

앱의 전체적인 화면 흐름을 그려보았다.


📋 역할 분담

이름담당 업무
1식마이페이지, 이용내역 뷰
노훈로그인/회원가입, 모달뷰
정진!지도 페이지, API 데이터 및 관련 함수 개발, 타이틀바
찬 호박킥보드 등록 페이지, 안전수칙 화면
공통S.A 작성, 스크럼 일지 정리, QnA 정리, 시연 영상/발표자료 제작, README 작성 등

✍️ 코딩 컨벤션

  • 변수/상수 선언 시 타입 명시

    • 예시: var name: String = "명노운"
  • 주석 규칙

    • 한 줄 주석: //
    • 여러 줄 주석: /* */
  • 작명 규칙

    • 변수/상수: lowerCamelCase
    • 타입(클래스, 구조체 등): UpperCamelCase
    • Bool 타입: is로 시작 (예: 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 브랜치의 이슈만 merge
      • develop: 개인 작업 브랜치 완료 후 merge
      • 개인 작업 브랜치: 기능 개발용 브랜치
  • 브랜치 규칙

    • Block force pushes: 강제 푸시 금지
    • Require approval of the most recent reviewable push: 다른 팀원의 리뷰 승인을 필수로 요구

      main과 develop 브랜치는 모든 팀원이 승인해야만 머지 가능하며, 강제 푸시를 금지합니다.


마무리

  • 이번 S.A 작성 과정을 통해 프로젝트의 큰 그림을 잡을 수 있었고, 팀원들과 작업 방식을 명확히 정리할 수 있었다.
  • 팀원들과 얘기 했을땐 지도 API 사용에 어려움이 있지 않을까 하는 걱정이 컸지만
  • 우리 팀은 고난과 역경을 이겨내고 멋진 결과물을 만들어 낼 것이다!!!
  • 앞으로 이 플로우를 잘 지켜서, 캠프 내에서 제일 잘 만든 앱을 만들고 싶다!!!
profile
iOS 개발 블로그

0개의 댓글