회고 | 꾸까 프로젝트 후기

GEUNNN Lee·2021년 3월 28일
1

KUKKA Project

프로젝트 요약

  • 프로젝트 내용
    KUKKA 웹사이트 클론 프로젝트 (디자인, 기획은 본래 페이지대로, 구현은 모두 우리가 함)
  • 프로젝트 기간
    1차 구현: 2021.03.15 ~ 2021.03.26
  • 팀 구성
    프론트엔드 3명 (권영균, 남궁선아, 🙋‍♀️이근화🙋‍♀️)
    백엔드 2명 (이수진, 이호열)
  • 팀 이름
    까까 (KKAKKA)
  • 구현 페이지
    메인, 로그인, 회원가입, 정기구독 리스트, 제품 리스트, 제품 상세 페이지

프로젝트 시작부터 끝까지

처음 프로젝트를 시작했을 때는 과연 이 실력으로 페이지를 구현할 수 있을지 의문이 있었다. 도전을 하는 사람이지만 그래도 막상 하려면 무서운 감정이 드는 건 어쩔 수 없다. 프로젝트도 마찬가지였다. 처음 시작이라 아는게 없다보니 더 그랬던 것 같다. 그래도 해야하고 그렇다면 즐기면서 해야겠다고 생각했다. 매일 즐겁게 하자, 치열하게 살자, 퇴근할 때 오늘도 수고한 나에게 축복을 이라는 말을 들을 자격이 되는 사람이 되자라고 다짐하며 위코드를 갔다.

팀 명

팀 이름은 까까로 정했다. 처음 팀 명을 정할 때 내가 까까로 하고 홈페이지에서 과자를 보여주면 어떨지 의견을 제시했고 다들 좋아해주셔서 이름은 까까가 되었다. (개인적으로 나의 아이디어를 좋아해주셔서 매우 뿌듯했다! ㅎㅎ)

프로젝트 진행 방식

일정 관리는 Trello

프로젝트 일정 관리는 Trello로 진행했다. 아래는 우리 팀이 관리했던 trello 보드다.

Backlog/In Progress/Done은 다른 팀들과 같은 설정이지만 우리 팀 trello의 특징은 팀원의 상태도 trello에 공유했다는 점이다. PM님인 수진님의 아이디어였는데 스탠드업 미팅할 때 도움이 되었다. 팀원이 오늘 어떤 기분인지 미리 알 수 있어 좋았다. 협업에 있어 그 날의 기분도 중요하다는 걸 느꼈던 나는 이 부분이 매우 좋았다.

trello에 체크리스트와 due date 등 일정 관리에 필요한 부분이 여러개 있어 한눈에 보기 좋았다. 특히 체크리스트가 도움이 많이 되었던 것 같다. 페이지 구현을 위한 굵직한 기능 별로 끊어 체크리스트에 넣어두니 확실히 한 눈에 뭘 해야하는지 알 수 있었고 얼마나 걸릴지도 가늠이 되었던 것 같다.

프로젝트 관련 이야기는 Slack에서

프로젝트를 하면서 필요한 이야기들은 모두 슬랙에서 했다.

물론 FM적인 프로젝트 이야기만 있었던 건 아니다. 프로젝트 하다가 재미있는 오류가 보여 팀원들 끼리 웃었던 기억도 있다.

내가 구현한 페이지

로그인, 회원가입 페이지를 구현했다. 인스타그램 클론 때 구현 해본 페이지라 오래 걸리지 않을 것 같았고 배운걸 복습 해보고 싶어 선택했다. 그렇지만 내 생각은 틀렸고 2개의 페이지에서 일주일이나 걸려버렸다.

생각보다 로그인 페이지에서 구현해야할 포인트들이 여러 개나 있었다. 유저가 이메일을 입력했을 때 형식이 맞는지, 비밀번호 입력과 재입력 값이 같은지, 비밀번호의 자리 수가 맞는지 등 생각해야하는 조건들이 여러 개 있었다. 유저가 입력하는 부분을 최종적으로 백엔드에서 거르지만 프론트단에서도 먼저 걸러서 보내줘야 한다는 걸 배웠다. 포인트를 구현하기 위해 조건부 렌더링과 이메일 정규식을 사용했다.

회원가입 페이지의 구현 포인트는 조건에 맞게 입력하지 않았을 때 조건부렌더링을 실행하는 것과 가입을 완료하면 이동하는 축하페이지였다. 가입한 유저의 이름을 url이 다른 축하 페이지로 넘겨 "ㅇㅇㅇ님 가입을 축하합니다"라는 문구를 구현 해야했다.
해당 페이지에서 유저 이름을 다른 페이지로 넘겨주는데에서 고민을 많이 했다. (고민한 부분을 확인하기 위해선 👉여기👈 를 확인하면 된다.)

아래는 최종적으로 구현된 페이지이다.


👆로그인 페이지


👆회원가입 페이지

시간이 없어 토큰 값을 어떻게 처리할 지에 대한 로직은 짜지 못했다. 이 때문에 장바구니로 이동할 때 농담식으로 토큰 값을 쪽지에 적어서 백엔드에 보내주자라는 이야기도 나왔다. 보안은 저멀리 날려버린 프론트가 되어버려 매우 아쉬웠다.

추후 리팩토링 할 때는 axios를 사용해 토큰 값을 HTTPonly 쿠키에 저장하는 걸 구현해보고 싶다.

p.s. 로그인, 회원가입을 구현하면서 같은 기능을 구현하는 다른 프로젝트 팀원들에게 많이 물어보고 배웠다. 우리 로그인 팸 최고!

느낀 점과 피드백

생애 첫 개발 프로젝트는 내 생각보다 더 재밌었다. 처음에는 내가 잘 할 수 있을까라는 두려움도 있었지만 막상 해보니 그래도 뭔갈 만들 수 있다라는 자신감이 생겼다.

그리고 나에게 대해 더 객관적으로 파악할 수 있게 되었다. 나는 생각보다 더 느린 사람이더라. 부트캠프를 시작하기 전에 그래도 개발 관련 책도 보고 코드도 찍어보고 했었는데 그런 경험이 무색하게 나는 너무 느렸다.

중간 발표날 멘탈이 많이 흔들렸다. 내 개발 속도가 느리다라는 걸로 스트레스를 받고 있던 와중에 다른 팀은 많은 것들 구현했다는 걸 봤기 때문이다. 내가 느려서 우리 팀에 많이 기여를 하지 못한 것 같아 자괴감도 들었다. 그 날은 코드도 잘 짜지지 않아 울면서 집에 갔던 기억이 있다.
그래도 다음 날 내가 구현한 코드를 보니 뿌듯했다.

내 속도가 느리다는 걸 받아들이기로 했다. 그리고 하루 전의 나보다, 아침의 나보다 배운게 있고 성장한 부분이 있다면 그걸로 충분하다는 생각을 했다.
내 강점은 시작이 느리지만 일단 시작하면 꾸준히 밀고 나가는 힘이 있다. 속도에 스트레스 받지 않고 나만의 속도로 가다보면 내 강점대로 꾸준히 갈 수 있지 않을까 한다.

잘한 점

  • 디버깅하며 팀원을 도와준 것
    예상치 못한 성공이다. 팀원이 디버깅 할 때 도움을 주었다. 내 코드 작성 속도가 느린 부분 대비 디버깅은 잘 했던 것 같다. 내가 배운 부분에서 에러가 생기면 디버깅을 할 때 빠르게 할 수 있었다. 앞으로도 다른 팀원이 에러를 만났을 때 도움을 줄 수 있는 사람이 되고 싶다.

  • 멘탈을 붙잡고 코딩한 것

잘못한 점

  • scrum 방식 이해 부족으로 waterfall 방식으로 기능 구현한 것
    scrum 방식이 들을 때는 이해가 되었는데 막상 해보니 어려웠다. 1차 sprint 때 페이지 별로 branch를 만들어 기능 구현을 했는데 멘토님에게 페이지 별은 scrum 방식으로 진행하기 어렵다는 피드백을 받았다.
    페이지의 레이아웃 branch를 만들어 리뷰받고 merge 시키고 merge 된 레이아웃을 pull 받아 또 branch를 만들어 진행하고..
    이런 방식이 더 scrum 방식이고 agile 하게 진행할 수 있다는 점을 몰랐다.

  • 수면 시간과 패턴이 무너진 것
    프로젝트 마무리 날짜가 다가오면서 잠죽자 (잠은 죽어서 자자)를 외쳤지만 정작 나는 잠죽자가 되는 사람이 아니였다. 새벽 3시에 자서 8시에 기상하는 패턴이 지속되었는데 프로젝트가 끝날 때 쯤되니 체력이 너무 떨어져서 힘들었다.
    내 적정 수면 시간은 6시간 이상은 확보해야한다는 걸 깨달을 수 있었다.

  • 팀원에게 내가 생각하는 우선순위를 잘 어필하지 않은 점
    회원가입 축하 페이지를 구현하면서 의문점이 들었다. 이 페이지가 굳이 있어야하나 라는 생각이 들었던 것이다. 클론 프로젝트라서 페이지를 전부 다 클론 해야하는 것은 아닌데 우선순위가 낮은 페이지에서 시간을 쏟으니 힘들었다.

    내가 이 페이지를 맡으면서 다른 팀원이 이야기하는 뉘앙스로는 축하페이지를 꼭 구현 해야한다는 느낌을 받아 이야기 하지는 않았다. 그렇지만 메인 페이지도 구현이 되지 않은 상황에서 축하 페이지를 붙잡고 있으니 우선순위에 대해 의문이 들었던 것이다.

    내가 구현하는 페이지이니 내가 제일 잘 알고 blocker에 대해 잘 설명할 수 있었을 텐데 이야기 하지 않은게 아쉽다. 2차 프로젝트 때는 이런 상황이 생기면 이야기를 해야겠다.

  • 목표 설정을 하지 않은 것
    피드백은 목표 설정이 잘 되어있어야 제대로 할 수 있는데 첫 프로젝트다 보니 목표를 세우지 못해 아쉽다. 회고를 하면서 피드백을 하려고 하니 막상 목표를 세우지 않아 피드백이 쉽지 않았다. 2차 때는 꼭 목표를 설정해서 AAR을 해야겠다!

개선할 점

  • 기능별로 branch를 생성해 작업하기 (페이지 별 branch 작업은 scrum 방식으로 진행하기 어렵다.)
  • 6시간 이상의 수면 시간 확보 및 시간 고정화
  • 2차 프로젝트 목표 세우기

좋은 팀원들을 만나 프로젝트가 잘 끝났던 것 같다. 키 값을 가장 먼저 정하지 않아 번거로움이 있긴 했지만 협업을 하면서는 문제가 생기지는 않았다. (이 부분도 회고 미팅 때 이야기하면서 발전 시키자고 했다.) 그리고 서로의 코딩 속도가 많이 차이 나지 않아 좋았다. 서로 더 으쌰으쌰 할 수 있지 않았나 싶다.
삽질하면서 힘들어할 때 멘탈 지킴이가 되어준 팀원들에게 너무 고맙다.
내 생애 첫 개발 프로젝트 팀인 까까팀! 프로젝트 발표 끝나고 저녁 9시까지 위워크에 남아서 회고 미팅까지 한 우리 팀 최고!

2차 프로젝트 하고 기업협업/3차 프로젝트 마무리하고 2차 합숙 리팩토링하는거 잊지 않기!!!!! 😉

profile
Frontend Developer 👩🏻‍💻👩‍💻

1개의 댓글

comment-user-thumbnail
2021년 3월 29일

수료 후 리팩토링 있으니 도망 가지마세여 근화님 나만의 프론트엔드 🌸

답글 달기