안녕하세요 기동팀 최종 발표를 맡게 된 박나연입니다. 발표를 시작하도록 하겠습니다.
니르바나 기획
니르바나 프로젝트 기획입니다.
팀 소개
저희 기동 팀은 민재님, 창기님, 수연님, 혜성님 마지막으로 저를 포함해 총 5명으로 이루어져 있습니다.
역할은 팀장, 디자인, 기획관리, 디자인, 기록, 기술 정리 5가지 부분으로 나누었습니다.
프로젝트 내에서 개발해야 할 기능들은 페이지별로 나누었습니다. 추후 페이지를 설명하도록 하겠습니다.
팀 문화 소개
저희 팀은 아래와 같이 두 개의 규칙을 준수합니다.
프로젝트 이전 코어타임 시작 시간을 프로젝트 기간에도 그대로 유지하였습니다.
코어타임 앞 뒤로 오픈, 클로즈 스크럼을 진행했습니다.
클로즈 스크럼을 통해 코어타임 이후 서로의 진행 상황을 다시 한번 파악할 수 있어서 협업 생산성을 높일 수 있었습니다.
단위 스프린트의 마감 요일은 일요일로 정하였습니다. 이를 통해 평일에 진행하지 못한 개발들을 주말에 진행할 수 있도록 하였고, 스프린트 노션 기록을 통해 프로젝트 진행사항 파악 및 문제점 공유의 효율을 높였습니다.
프로젝트 기획 배경 & 설명
저희가 개발한 서비스는 니르바나라는 이름의 명상 기록 공유 커뮤니티입니다.
현대인들이 지나치게 자극적인 SNS 컨텐츠나 숏폼과 같은 컨텐츠를 자주 접하게 되면서 시간이 갈수록 자극적인 내용들을 찾게 되고 결국 도파민 중독으로 이어지게 되는 문제점이 증가하고 있습니다.
이런 상황들에서 멀어질 수 있도록 저희 서비스는 명상이라는 테마를 제안했습니다.
니르바나 서비스를 사용함으로써 개인의 명상 경험 뿐만 아니라 커뮤니티 속에서 서로의 명상 기록들을 공유하고 명상에 대한 동기 부여를 받을 수 있습니다.
프로젝트의 메인 컬러는 보라색으로 정했는데요, 디자인을 담당하시는 수연님께서 명상을 떠올리면 편안한 분위기가 연상되는데 이런 분위기가 아늑한 밤하늘을 연상하게 되어서 밤의 하늘 색인 보라색을 선정했다고 합니다.
니르바나라는 뜻은 생소하시죠? 번뇌의 불을 꺼서 깨우침의 지혜를 완성하고 완전한 정신의 평안함에 놓인 상태를 말하는데요, 이 서비스를 사용하는 이용자들이 일상적인 명상을 통해 정신적인 평안함을 얻었으면 하는 바램의 의미를 가집니다.
저희 서비스의 타겟 유저는 명상을 통해 내면의 평화를 찾으려는 사람들, SNS에 중독된 스마트폰 사용자들, 다른 사람의 명상 기록을 통해 동기부여 하고자 하는 사람들입니다.
니르바나 개발
니르바나 서비스에 사용된 개발 기술스택
니르바나 서비스에 사용된 개발 기술스택 다음과 같습니다.
주 언어는 타입스크립트와 리액트이며, 개발환경과 배포를 위해서 vite를 사용했습니다.
상태 관리 관련 라이브러리로는 API 통신을 통해 받은 데이터를 관리할 수 있도록 react-query를 사용하였고, 그 외의 클라이언트에서의 전역상태를 관리할 때는 recoil를 사용했습니다.
협업 방식 (Git, 스크럼 및 칸반 보드 활용) : 적절한 비동기와 동기 그 사이
원활한 기능 개발을 위해서 유저와 포스트라는 테마로 팀을 나누어 진행했습니다.
협업 개발에 대한 브랜치 전략은 다음과 같습니다.
저희가 개발과 배포에 있어 큰 프로젝트가 아니었기에 main브랜치 외의 dev 브랜치는 만들지 않았습니다.
main에서 기능별로 브랜치 하여 각자 맡은 기능을 맘껏 구현하고, 구현 메인으로 머지하면 해당 브랜치는 다시 삭제하는 형식으로 진행했습니다.
PR을 main 브랜치에 머지하기 위해선 2명의 리뷰와 승인이 필요합니다. 프로젝트에 자신이 맡은 개발이 진행되고 있음에도 팀원들의 PR을 적극 리뷰해줬는데요, 프로젝트 이전부터 리뷰 문화가 활성화되다보니 프로젝트 중에도 활발한 리뷰 문화가 지속됐던 것 같습니다.
이를 통해 자신이 개발하지 않은 기능에 대한 이해를 키우고, 코드의 수준을 더 끌어올릴 수 있었다는 생각이 듭니다.
또 꼭 필요한 소통만을 하기 위해 여러가지 방침을 세웠습니다.
slack과 깃헙을 동기화하여 PR과 리뷰를 비동기적으로 확인하고, 칸반 보드를 작성하여 진행되고 있는 사항을 팀원 개개인이 스스로 파악할 수 있게 했습니다.
또한 깃 이슈를 통해서 프로젝트 중 발견하는 개발 이슈들을 남김으로써 동일하게 불필요한 소통은 줄이고 비동기적인 소통을 함으로써 개인의 개발 효율을 높였습니다.
프로젝트 관련 디자인은 피그마를 통해서 확인할 수 있는데요. 자세한 디자인과 기능 설명은 시연 과정에서 설명하도록 하겠습니다.