회사에서 React로 MBP 프로젝트를 진행하면서 여러 의미로 '아 이건 아니다..'라는 생각이 들었다.
갑작스럽게 리액트로 개발하기로 결정되기도 했고, 리액트 개발 경험도 없는데다 같이 프론트엔드 개발할 동료도 없다니 총체적 난국이었다.
일이 닥치다보니 하게되긴 하지만 이걸 나중에 어떻게 리팩토링하지?, 원래 프로젝트가 정상적으로 진행될 떄는 어떻게 다르지? 라는 고민이 들었고, 현 상황에서 가장 합리적인 해결방법은 내 개발 실력과 경험을 쌓는 것이었다. 다른 사람들은 어떻게 코드를 짜는지도 궁금했다.
그렇게 서치하다가 리액트 기반으로 6주간 협업 프로젝트 인원을 모집하는 글을 보게 되고 FrontEnd
로 지원하게 되어 이렇게 프로젝트 리뷰를 쓰게 되었다.
그 동안 협업 프로젝트를 하는데 팀 빌딩과 아이템 선정, 개발 멘토의 부재, 코드 품질, 프로젝트 완성 등 그 과정에서 어려움을 겪는 것을 보고 해결하고자함.
아이템 선정 및 팀 빌딩 → 프로젝트 기획 → 설계 → 개발(테스트/배포) → 리드미 작성
주차 | 요일 | 멘토링 범위 | 멘티 과제 | 수업 시간 | 작업 도구 |
---|---|---|---|---|---|
0주차 | 목 | - 슬랙방 초대 | - | ||
1주차 | 화 | - 수업 소개 - 팀빌딩 - 아이템 결정 | - 기능명세서 초안 작성 - 페이지 기획서 초안 작성 | 1.5h | notion whimsical |
목 | - 기획서 검토 | -DB 명세서, ERD 작성 | - API 명세서 작성 | 1.5h | |
2주차 | 화 | - DB 명세서 검토 - API 명세서 검토 | 1.5h | ||
+ 주차별 마일스톤 작성 | - | git Projects notion | |||
+ 디자인 작업 및 전달 | - | figma (Antdesign) | |||
목 | - 주차별 마일스톤 공유 | - BE : swagger ui 작성 - 개발 환경 셋팅(heroku, ci/cd sample) - 칸반보드 및 역할분담 | 30mins | swagger ui | |
3주차 | 목 | - 주차별 마일스톤 공유</br/>- 이슈 공유 | 30mins | ||
4주차 | 목 | - 주차별 마일스톤 공유</br/>- 이슈 공유 | 30mins | ||
5주차 | 목 | - 주차별 마일스톤 공유</br/>- 이슈 공유 | 30mins | ||
6주차 | 목 | - 최종발표</br/>- 회고 | 1.5h |
FE
ant design - https://ant.design/
: UI 프레임워크
styled-components - https://styled-components.com/
: Javascript 파일 내에서 CSS를 사용할 수 있게 해주는 대표적인 CSS-in-JS 라이브러리
redux-thunk[선택사항]
: 리덕스에서 비동기 작업을 처리 할 때 가장 많이 사용하는 미들웨어
BE
개발 : Spring boot + Spring MVC + JPA
DB : PostgreSQL
배포: Heroku
인증 & 파일(이미지) 서버: firebase
CI/CD: github actions
첫 수업 떄 간단한 커리큘럼, 기술 스택, 참여자들 소개를 하고 프로젝트를 진행하기 위한 아이템 및 팀 선정을 했다.
뉴스 감성 분석 모델, 주식 및 경제 용어 QnA 사이트 등 많은 아이디어가 나왔는데 나는 그 중에서 음악 추천 커뮤니티 게시판과 전시/문화 체험 정보 제공 사이트에 투표했다.
결과적으론 백엔드와 프론트엔드 개발자의 균등한 팀분배를 위해 캠핑 데이터를 이용한 캠핑 장소 추천 서비스를 진행하게 되었다.
이번 주 목요일까지 기능 명세서와 페이지 기획서를 작성해야 하는데 걱정보단 다른 사람들은 어떻게 해올지 기대가 된다..ㅎㅎ
빨리 프로젝트 시작하고 싶고 나 혼자만의 바람일 지 모르지만 이 팀이 오래 유지되어서 프로젝트가 꾸준히 관리되었으면 좋겠다.. 혹은 새로운 프로젝트를 또 같이 하게 된다거나!