⏰ 시계는 와치팀 — 개발자 주간미션 1

Mincheol Kim
teamNexters
Published in
5 min readJul 26, 2019

프로젝트 소개

그룹 내에서 그룹 장이 생성하는 과제를 수행하는 ‘과제 중심'모임 플랫폼 입니다.

핵심 기능

  1. 과제 수행 체크(스톱워치를 통한 시간 기록) : 팀장은 Deadline 과제를 생성하고 팀원은 Deadline까지 과제를 수행
  2. 팀원 온라인 확인: 현재 종료되지 않은 과제에 대해서 팀원이 수행 중인지 실시간으로 알 수 있습니다.
  3. 성취도 리포트: 개인의 그룹 과제 성취 리포트를 제공하고 팀 전체의 성취 리포트 제공

개발 환경

IDE

  1. Visual studio code (이하 vscode): 페어 프로그래밍, 원격 코드 리뷰

Plugin

  1. Live Share (강추) : 페어 프로그래밍, 코드 리뷰, 원격 회의
원격 회의 중인 모습🤔

2. Spring boot Extension Pack : Spring boot 개발을 위한 플러그인

사용법: vscode에서 Spring boot 시작하기

3. Docker (강추) : vscode에서 도커를 쉽게 사용

vscode 내에서 도커를 쉽게 사용할 수 있다.

4. Remote development (강추)

vscode를 최고의 에디터로 만들어주는 플러그인
원격 혹은 격리된 서버를 로컬처럼 사용할 수 있다
docker를 이용하여 개발환경을 컨테이너로 구동하고 접속할 수 있다.
golang 컨테이너에 접속한 모습 개발환경 구축 하느라 시간을 쓸 필요 없다
docker를 설치하고 docker-compose로 개발환경을 정의하고 실행한 뒤 remote로 붙으면 끝..

CI/CD

  1. Travis-CI : 자동화 빌드
ios build 화면
git commit 마다 체크 표시로 확인
실패 시 화면

2. Coveralls : Code coverage 관리

coverage 화면
README에 badge 추가 (숫자마다 색상이 다르다. 초록색에 집착이 생길 수 있다.)

브랜치 전략

feature: 더 이상 나눌 수 없는 가장 작은 기능 (SOLID 원칙을 지키며 항상 다른 파일 권장)

develop: feature 리뷰 후 반영된 브랜치

staging: 알파 혹은 베타 테스터 브랜치

master: 실제 고객 배포 브랜치

tag: 릴리즈 된 커밋

코드리뷰, 빌드 통과 전 PR 금지

코딩 컨벤션

각 언어에서 사용하는 lint 도구 사용 (SwiftLint, android studio lint)

작업하기 이전 code coverage 보다 높게 유지

협업 도구

  1. Notion
한 화면에서 여러가지 타입의 보드 사용 (공통 보드)
공통 보드에서 담당자를 자신으로 지정 후 자신의 보드에서 확인
작성한 페이지는 웹 사이트로 공유도 가능하다 (Notion 마케터.. 아닙니다)
회의 중 나온 아이디어나 경쟁 제품들을 저장
회의록 저장

역할 분담

  1. 김민철: PM, 기술 정글러(진흙탕 학습 좋아합니다), 개발에 필요한 환경 구성
  2. 강수진: iOS 개발자, 개발 목적으로 모이자고 해놓고 맛집 가자며 꼬시는 역할 담당. 개발에 필요한 다양한 지식들 팀원들으로부터 배워가는 중
  3. 김다인: Android 개발자, UI 화면, Foreground service, Websocket
  4. 박다예: API 서버 개발자, Java 8 활용 및 Unit Test에 익숙해 지는 것이 목표
  5. 조우현: API 서버 개발자, 기획, 커뮤니케이터!?
  6. 정효인: API 서버 개발자, Spring을 잘하고 싶음 PM느님께 열심히 배우기!
  7. 최고운: UX/UI 디자이너, 서비스 기획, UI 설계, GUI 디자인
  8. 진성곤: UX/UI 디자이너, 서비스 기획, UI 설계, 인터렉션 디자인
게임 망하면 뭐다? 정글러 탓이다 🤣 🤣 🤣

--

--