드디어 코드스테이츠 프론트앤드 부트캠프의 마지막 메인 프로젝트가 끝이 났다. 약 한 달 정도의 프로젝트 기간동안 팀원 6명 중 누구 하나 고생하지 않은 분이 없었다. 프로젝트의 결과물이 너무 소중하다..
사용자 경험을 해치는 무엇 하나라도 남겨두고 싶지 않아서 개발 기간이 끝나고 타시스템 분석 일정을 지나는 동안 피드백 내용들을 보며 팀원들과 여전히 일일 스크럼 하며 업데이트 중이다.
👉🏻 IT Prometheus 바로가기
👉🏻 Github Repository 바로가기
프로젝트의 컨셉은 '누구든지 학생이 될 수 있고, 누구든지 선생님이 될 수 있다' 이다.
강의는 누구나 등록할 수 있고, 누구나 원하는 강의를 무료, 유료로 수강할 수 있는 강의 오픈 플랫폼을 기획했다.
강의 등록 시 강의 영상 관련 정보와 문제를 등록할 수 있다.
강의 가격을 강사 마음대로 책정할 수 있고, 무료로 등록하는 경우에는 포인트가 적립된다.
수강생은 강의를 구매했을 때 지불한 금액만큼 포인트를 적립받고, 문제를 풀면 포인트가 적립된다.
포인트는 강의를 구매할 때 사용할 수 있고, 포인트를 모으면 회원의 티어가 높아진다.


매일 오전 9시~10시, 오후 5시~6시에 Daily Scrum을 진행하기로 했고, Github Project를 이용해서 칸반 보드를 작성했다. 또 기획 주간이 끝난 다음 주부터 매주 금요일 오후 4시에 개발자 테스트를 진행했다.
개발은 3명의 팀원이 모두 익숙한 React.js로 진행하였으며, persist로 쉽게 로컬스토리지에 원하는 전역 정보를 저장할 수 있는 Redux Toolkit을 이용해서 상태관리를 하기로 했다. 이번 프로젝트는 이커머스 플랫폼이므로, 꽤 많은 기능과 페이지를 개발해야 했기에 Storybook과 Figma Token을 적용해서 디자인 시스템을 관리해보기로 했다.
우리 팀은 9시부터 6시까지 모두가 디스코드 방에 상주하면서 개발을 진행했고, 칸반 보드를 이용해 개발중인 기능을 상세하게 작성하면서 프로젝트를 진행했다. 매일 오전 스크럼 시간에는 오늘 할 일을 공유했고, 오후 스크럼 시간에는 오늘 한 일을 공유했다. 전체 스크럼이 시작되기 30분 전에는 프론트앤드 개발자들 끼리 스크럼을 했다. 이 시간에는 각자 개발한 부분까지 feDev branch에 PR을 올리고, Conflict가 있는 코드는 회의를 통해 수정했다. 모든 코드를 merge한 이후에는 간단한 테스트를 진행하면서 오늘 추가한 기능들에 오류사항이 없는지 확인했다.
API 데이터를 불러와서 전역 상태로 저장할 때 우리 팀은 Redux-toolkit과 persist를 사용했다.
프로젝트는 규모가 상당히 컸다. 사용자 인증 / 강의 영상 CRUD / 문제 CRUD / 리뷰 CRUD / 기타 관리자용 기능을 구현하기 위해 매우 많은 페이지를 구현해야 했고, 수십개의 API의 응답을 state로 저장해야 했다.