2차 프로젝트는 팀 별로 원하는 웹서비스를 선택해서 클론 프로젝트를 진행하면 된다. 우리팀에서 선택한 페이지는 오설록 🌱
1차 프로젝트와 다르게 PET분석을 하면서 프로젝트가 시작됐다.
PET분석은 서비스가 지니는 P
roduct의 가치와, 가상의 E
nd-User, 본 서비스에서 사용할 T
ech를 분석하는 것인데, 오설록 사이트의 기능 별로 해당 내용을 분석했다. 어려운 시간이었지만 오설록 분석이 마무리됐고, 필수기능과 추가기능을 구분해서 우선순위를 정했다.
그리고 Trello로 티켓을 만들고, 이번주 작업에 대한 티켓 할당을 했다.
마지막으로 초기세팅까지 하고나서 모든 준비가 끝났다!
const handleSelectAllChange = () => {
const newSelectedItems = {};
if (!selectAll) {
cartList.forEach(item => {
newSelectedItems[item.productId] = true;
});
}
setSelectedItems(newSelectedItems);
};
장바구니 전체 선택/해제 처리 함수!
장바구니 체크박스 기능을 구현하는데 어려움이 많았기 때문에 기억할 수 밖에 없는 코드.
이번에 forEach 매서드를 처음 써볼 수 있었다. 여기서 forEach는 cartList 배열을 순회하면서 각 요소에 대해 함수를 호출하는 역할을 한다.
그리고 목데이터로 테스트 했을 때는 잘 됐는데, 백엔드와 통신에서 계속 에러가 났는데 키 값(productId 부분)이 달라서 그랬던거였지.. 정말 허무하면서도 한편으로는 다행이었다.
일정 분배가 제대로 되지 않았던 점이 제일 힘들었던 부분이다.
나는 1주차에 회원가입, 로그인 파트를 완료하고, 2주차부터 장바구니 기능 구현을 시작했다. 2차 프로젝트는 2주동안 진행되는데, 2주차 목요일에는 통신이 완료됐어야 했고, 프로젝트 마지막 날인 2주차 금요일에는 데모가 있기 때문에 아무리 늦어도 그 전까지는 모든게 끝나야 했다. 그럼 내가 작업을 하루종일 할 수 있는날은 월화수 3일 뿐. 회원가입과 로그인에서 왜이렇게 오래 붙잡고 있었던걸까 과거의 나를 탓하며 거의 울면서 장바구니 작업을 했다.... 장바구니 파트에 리소스가 얼마나 필요한 지 가늠이 안됐기 때문에 벌어진 일이다. 그래도 경험치가 쌓이다 보면 일정 산정이 쉬워지겠지? 개발 뿐만 아니라 그 이외의 것들도 신경써야 할 게 많구나 새삼 느끼는 순간이었다.
Daily Standup Meeting은 팀원들끼리 진행상황을 공유하고 오늘 작업해야 할 내용을 정리할 수 있었고, 블로커가 무엇인지 함께 공유하고 해결하기 위해 함께 고민할 수 있었다. 각자의 진행사항을 팀원들과 공유함으로서 복잡했던 머릿속을 정리할 수 있는 시간이었다. 이번 프로젝트는 1차 프로젝트때 미팅과정에 대한 피드백을 전부 반영했다고 해도 과언이 아닐 정도로 팀원들과 원활한 의사소통을 할 수 있어서 좋았다. 든든한 팀원분들 감사했습니다.💪
그니까 나만 잘하면 된다!
수많은 역경 끝에 성공적으로 데모를 마칠 수 있었다. 라이브 시연도, 발표도 성공적🥹 우리팀은 필수로 구현하기로 했던 사항들은 모두 구현을 완료했다. 내가 맡은 부분에 대한 아쉬움도 컸지만 프로젝트가 종료될 때의 뿌듯함은 말로 할 수 없다 히히 앞으로 내가 개발자로서의 삶을 살아가며 이번에 프로젝트 보다 더 큰 어려움이 많겠지만 첫걸음을 팀원 분들과 함께 했기 때문에 남들보다 조금 더 단단하게 나아갈 수 있다고 생각한다! 오셜록 팀원분들 다시 한 번 감사드려요😀