[wecode] 1차 프로젝트 회고록

Choi Rim·2021년 8월 15일
1

wecode

목록 보기
8/9
post-thumbnail

1차 프로젝트 회고록 🖋

팀원과의 첫 만남

막막하게만 느껴졌던 1차 프로젝트가 시작되었다. 나는 내가 아이디어를 제출한 영화 추천 및 평가 서비스 왓챠피디아를 클론 코딩하게 되었다. 평소 자주 이용하던 서비스였고, 별점기능과 추천기능을 구현해보고 싶어 아이디어를 냈었는데 선정이 되어 기뻤다. 그리고 공교롭게도 한번도 말을 섞어보지 않은 분들과 팀이 되었다. 만나서 제일 먼저 팀이름을 정했는데, mbti가 모두 i로 시작한다고 해서 팀이름은 5명의 I, OIOI로 결정하게 되었다. (팀원 중 호준님은 I와, E가 거의 반반 나오신다고..)

1주차

프로젝트의 시작

왓챠피디아를 그대로 클론 코딩할까? 고민하다 팀원 진수님이 영화대신 카페 추천 서비스로 변경해보지 않겠냐는 의견을 제시해주셔서 카페 추천 및 평가 서비스 사이트 서카소(서울 카페를 소개합니다)가 탄생하게 되었다. 필수 구현 사항과 추가 구현 사항을 설정하고 현재 사이트에서 개선하고 싶은 사항을 작성해보았다. 그리고 멘토님들에게 리뷰를 받고 팀명을 OIOI에서 Seocaso로 변경하게 되었다.

필수 구현 사항
1. 메인페이지 / 조건에 맞는 순위 구현
2. 검색, 로그인, 회원가입
3. 상세페이지 / 카페 메뉴, 리뷰, 평점, 장점
4. 마이페이지 / 좋아요, 평가한 카페
추가 구현 사항
1. 지도에 카페 위치 표시
2. 해쉬태그 (필터)
개선 사항
1. 마이페이지 레이아웃 변경
2. 상세페이지 외에 메인페이지에서도 찜하기(하트) 기능 추가

Scrum & Trello

프로젝트 진행은 Scrum 방식에 따랐다.

Scrum 방식

  • 1~4 주 단위의 sprint(개발 주기)를 설정하여 각 sprint 마다 실제 동작할 수 있는 결과를 제공하는 개발 방식
  • 작은 목표를 짧은 주기마다 설정해 점진적으로 개발하는 방식

팀의 sprint를 설정하고 협업 툴 Trello를 통해 진행 사항을 공유했다. Trello 카테고리는 기본적으로 Backlog (앞으로 해야 할 모든 것들), This Week (이번주에 해야 할 것들), In Progress (현재 진행 중인 것들), Done (완료한 것들)로 구성되었는데 우리 팀은 Done 카테고리 전에 Review 카테고리를 생성하여 완료 전 리뷰 중인 티켓을 관리했다.

초기세팅 및 ERD, 모델 생성


프로젝트를 본격적으로 시작하기 전 초기세팅을 하고 백엔드 팀원 호준님과 함께 ERD를 만들고 모델을 생성했다. 프로젝트 시작 전 Westagram 미션을 통해 진행해봤던 사항들이라 비교적 수월하게 진행할 수 있었던 것 같다.

본격적인 기능 구현

로그인, 회원가입, 좋아요, 댓글 등의 기능을 구현하고 데이터 csv도 생성해보았다. 나는 회원가입, 상세 페이지 기능 구현을 맡았다.

로그인, 회원가입 기능은 Westagram 미션에서 진행해보았던 기능이라 비교적 수월했다. 미션에서 구현해 보지 못한 기능(별점 기능 구현 등)을 구현할 때 어려움을 겪었는데, 팀원 호준님이 도와주셔서 잘 진행할 수 있었다. 또한 데이터 csv를 생성해 db uploader을 통해 데이터베이스에 데이터를 추가할 수 있다는 사실을 배울 수 있었다. 또한 REST api이라는 개념을 배우고 URL을 설정할 때 적용해보았다. URL을 설정할 때 어떤 기능의 URL인지 한 눈에 알아볼 수 있도록 해야 한다는 것을 알았다.

많은 것을 배우고 구현했던 1주차이지만 이 기간동안 우선순위를 잘 설정하지 못하고 무작정 기능을 구현한 것 같아 아쉬움이 남는다. 주말에 프론트 팀원 분과 상세페이지 기능을 맞춰보았는데, 기능 구현만큼 프론트 쪽과 백엔드가 구현한 기능을 맞춰보는 것이 어렵다는 것을 또 깨달았다.

2주차

중간 발표

지금까지 진행한 내용을 토대로 중간 발표를 진행했는데, 멘토님께 Scrum 방식에 대해 피드백을 받았다. 피드백 내용을 바탕으로 프로젝트 진행 방법을 수정했다.

프로젝트 진행 수정사항
1. 하루 두번 진행했던 회의를 Daily Standup Meeting 하나로 줄이고, 미팅 시작 전 개인이 할 일 정리하기
2. 구두로 진행했던 프론트와의 소통을 Trello 에 Issue 카테고리로 정리하기
3. 기능 별 API 정의서 Trello 에 정리하여 프론트와의 불필요한 소통 줄이기
3. 구글 캘린터에 따로 관리했던 미팅 내용 Trello에서 하나로 관리하기

상세페이지 View 기능 별로 나누기

맡았던 상세페이지 기능 구현을 나는 하나의 View 로 작성했는데, 멘토님께서 같은 페이지라도 기능 별로 따로 View를 작성하라고 하셨다. 이 작업에 생각보다 시간이 걸렸다. 기능 별로 RESTful한 URL을 설정하는 것도 어렵다는 사실을 알았다.

검색 기능 구현

사용자가 카페나 지역을 검색하면 검색 키워드에 따라 카페명 검색 결과와 지역 별 카페 검색 결과를 출력하는 기능을 구현했다. 이 과정에서 Query Parameter을 사용해 데이터를 필터링하는 방법을 배웠다.

프로젝트 마무리

github에 push 했던 기능을 수정하고 프론트와 전체적으로 기능을 합쳐보며 프로젝트를 마무리했는데, 프론트와 기능을 맞추는 과정에서 많은 오류가 발생했다. 이 과정에서 프론트쪽과 기능 별로 하나하나 맞춰보는 것이 얼마나 중요한 지를 깨달았다. 내 쪽과 프론트 쪽 모두 기능을 구현하고 난 후 서로 맞춰보니 한꺼번에 수정해야 할 사항들이 계속 생겨났다. 기능을 하나 구현한 후, 프론트와 맞춘 후 다음 기능으로 넘어가는 것이 더 효율적인 방법인 듯하다.

최종 발표와 결과물

지금까지 진행한 내용들을 사이트를 보여주며 발표를 진행했다. 발표전까지 사이트에 오류가 생겨 팀원분들이 진땀을 빼셨는데, 최종적인 결과물은 잘 나와서 다행이었다. 발표 후에는 긴장이 풀려 힘이 다 빠졌었다.


풀영상

프로젝트를 마무리하며

1차 프로젝트를 마무리하니 아쉬운 점이 하나 둘씩 떠오른다. 처음부터 좀 더 체계적으로 진행했다면, sprint를 좀 더 구체적으로 설정하고 시작했다면 어땠을까? 라는 아쉬움이 남는다. 이 아쉬운 점을 2차 프로젝트에서는 개선하여 진행하고 싶다.

아쉬운 점들도 분명히 있지만 프로젝트를 진행하며 팀 프로젝트의 장점도 느낄 수 있었다. 혼자라면 분명히 구현하지 못했던 기능을 구현할 수 있었고, 서로 머리를 맞대고 고민하는 순간들 자체가 소중하고 즐거웠다. 팀 작업이란 혼자 달려나가는 것이 아니라, 발을 맞춰 나아가야 하는 것이라 힘든 점도 있었지만 서로 배려하고 도와가며 프로젝트를 진행하는 동안 개인과 팀이 공존하는 방법을 배운 것 같다.

2차 프로젝트 전 개선하고 싶은 사항

2차 프로젝트는 1차 프로젝트에서 닦은 기초를 발전시켜 새로운 기술을 적용해보는 기간이다. 1차 프로젝트에서는 리팩토링할 생각도 하지 못한 채 기능 구현을 하기에 급급했다면 2차 프로젝트에서는 하나의 기능을 구현하더라도 질 좋은 코드를 작성하는 것이 중요한 과제라고 한다.

1차 프로젝트 때 느꼈지만 하나의 기능을 구현하더라도 질 좋고, 효율성이
높은 코드를 작성하는 것이 어쩌면 쉬워보이면서도 가장 어려운 과제
인 것 같다. 그리고 사이트에서 어떤 부분에 우선순위를 두고 진행해야 하는지 먼저 정하는 것도 프로젝트를 진행하는데에 중요한 부분인 것 같다.

프로젝트를 진행하다 보니 내가 지금 뭘하고 있는건지, 맨 처음 팀원과 설정한 목표가 뭐였는지 잊고 하나의 기능을 후딱 해치우려고만 했던 것 같다. 2차 프로젝트 때는 내가 지금 뭘하고 있는지, 진행 상황을 잘 보며 목표를 잘 설정해야 겠다는 생각이 들었다.

Team Seocaso


그리고 1차 프로젝트 너무 너무 수고해준 우리 서카소 팀! 다들 힘들었을텐데 최선을 다해주어서 너무 고맙고 다시 돌아보니 서툴러서 미안했던 점들이 자꾸 생각난다. 트러블 하나 없이 진행되어서 우리 팀이 잘하고 있는 건가... ? 할 정도로 순조로웠던 우리 팀. 첫번째 프로젝트로 이런 좋은 팀을 만나게 되어 기쁘고 감사하다. 고생해준 우리 팀원 주영님, 다슬님, 진수님, 호준님! 다들 너무 수고했어요!


글을 마치며

남과 비교하고 자신을 의심하지 말아
YOU JUST GONNA BE
WHO YOU ARE
우리 모두의 인생은 다른 속도로 흐르고 있어
내 삶의 시계를 찾아 그러면 돼 거기 맡기면 돼
우린 어떤 길이 옳은지 몰라
헤매도 괜찮아
지금 가는 길이 옳은 길이라 믿어

심규선 - WHO

글을 마치며 프로젝트 때 힘이 되었던 노래의 가사를 공유해본다. 우리 모두의 인생은 다른 속도로 흐르고 있고 자신만의 길을 찾아 묵묵히 걸어가는 것이 인생 아닐까? 모두가 부러워하는 길이 자신의 길은 아니니까!

내가 좋아하는 말이 있다. '인간이 고상하고 아름다운 사색의 대상이 되는 것은, 내면에 있는 개성적인 모든 것을 파멸시켜 획일적인 것으로 만드는 것에 있지 않고, 타인의 권리와 이익을 고려하여 설정되는 범위 안에서 개성을 양성해 그 힘을 발휘하는데 있다.'
개인이 모두 똑같은 속도로 나아가고, 똑같은 실력, 똑같은 성격을 가지고 있다면 세상은 얼마나 재미없을것인가! 나는 개개인이 빛을 발할 수 있는 곳에서 그 개인들이 모여 비로소 더욱 아름다운 세상을 만든다고 믿는다. 각자 다른 개인이 모여 팀을 이루고 이렇게 멋진 사이트를 만들어냈듯이 말이다. 나는 나 자신은 물론이고 타인의 개성과 속도를 존중하며 마찬가지로 팀을 존중하는 개발자가 되고싶다.

1차 프로젝트에서 배운 것을 바탕으로 2차 프로젝트도 잘해보자!

<참고>

profile
https://rimi0108.github.io/

3개의 댓글

comment-user-thumbnail
2021년 8월 15일

넘나 수고많았어요 혜림님!!

1개의 답글
comment-user-thumbnail
2021년 8월 16일

👍🏼👍🏼👍🏼👍🏼👍🏼 좋은 인용구입니다~!

답글 달기