HolyMoly 프로젝트
오늘부터 약 2주간 자바스크립트 프로젝트가 시작된다.
그동안 페어프로그래밍을 통해 배운 내용을 실전 프로젝트에 적용해보고, 게임까지 직접 만들어보면서 재미까지 더불어 챙길 수 있는 프로젝트이다.
주요 기능은 로그인과 회원가입 기능을 구현해야하며, 라우터 기능을 구현해야한다.
우리팀은 3명의 팀원으로 구성되어있고 각자 1개의 미니게임을 구현하고 싶어한다.
메인페이지
메인 페이지에는 캐러셀 기능으로 게임 설명을 보여줄 것이다. 캐러셀 기능은 페어프로그래밍 1 때 기능 구현을 경험해본 바 있다.
그 때, transitionend가 애먹었던 기억이 아직도 잊혀지지 않는다.
로그인 및 회원가입 페이지
주요 기능인 로그인 및 회원가입 페이지 구현은 페어프로그래밍 1에서 구현해보았다. 하지만 시간이 부족하여 제대로 리팩터링을 경험하지 못한체로 끝냈었다.
이번 기회에 그 때 하지 못한 리팩터링까지 같이 해볼 수 있는 기회가 생긴 것 같다.
미니게임 구현
내가 구현할 미니게임의 제목은 “Close to Zero” 게임이다.
말 그대로 0에 가장 근접할 때 버튼을 클릭해서 그 숫자가 가장 0에 근접한 사람이 승리하는 게임이다.
게임 구현은 간단할 것 같다. 하지만 이번 프로젝트는 지난 페어프로그래밍 2편 9번 문제에서 CBD Library를 제작한 것을 활용하여 구조를 가져갈 것이기 때문에 컴포넌트에 대한 이해가 필요하다.
라우터 기능 구현
이번 프로젝트는 앞서 말했듯이 컴포넌트 단위로 HTML 동적으로 생성하는 SPA를 구현할 것이다. SPA는 화면이 전환되어도 URL이 변경되지 않아 SEO에 취약하다는 문제점이 있다.
또한, 이번 프로젝트의 최소 요구사항인 라우터 기능을 구현하기 위해서는 URL이 필요한데, 과연 URL이 없는 SPA에서 어떻게 라우터를 구현할 수 있을까?
그 해답은 컴포넌트와 라우터를 1:1 매핑관계로 두어 URL 뒤의 Path가 변경되면 컴포넌트를 바꿔주면 된다.
이에 대한 자세한 방법은 다음 시간에 알아보자.
소감
팀원들과 같이 줌으로 회의를 하면서 아이디어도 잘나오고 오늘 회의 열심히 달려서 figma 시안도 완성하여서 뿌듯한 공휴일을 보낸 것 같아 기분이 좋다.
내일부터 다시 또 피터지는 프로젝트 시간이 시작되니 컨디션 조절 잘하고 매일 회고도 잊지 않고 지치지 않고 롱런하고 싶다.