[WIL] 실전프로젝트 1주차

박민우·2022년 3월 14일
0

항해

목록 보기
29/33


실전프로젝트

프로젝트 기간
: 22. 03. 04 - 22. 04. 07
프로젝트 이름
: 모아부자(moabuza)
프로젝트 간략 소개
: 청소년들이 저축 목표를 정하고 도전을 하며 저축하는 습관을 기를 수 있도록 도움을 주는 웹 어플리케이션
팀원
: 팀장-양승훈(BE) / 부팀장-박재현(FE) / 팀원-이현규(FE),이광훈(BE),박민우(BE)
디자이너-김민형, 이가람

이번주 삽질

  • 기획 또 기획
  • FE, BE 개발 스펙 정하기 ***
  • 와이어프레임 디자인 (디자이너)
  • API 설계 (개발자)
  • 메인 페이지 구현 (FE)
  • 프론트 배포 및 자동화 _ Github action (FE)
  • ERD 설계 (BE)
  • Flow Chart 설계 (BE)
  • 기본적인 CRUD 구현 (BE)
  • 로그인 기능 구현 _ Oauth2 (BE)

삽질 회고

드디어 실전 프로젝트가 시작되었다.

팀이 결정되었을 때 참 감사하고 놀랐던 것은, 개인적으로 항해 기간 동안 한 번씩 팀을 했었던 사람들과 팀이 되었다는 것이다. 친목의 문제가 아닌, 사람이 잘 맞아야 하는 것은 실전 프로젝트에서 너무너무 중요한 부분이라 정말정말정말 감사했다.
(디자이너 님들도 소통이 잘 되고 손도 빠르신 너무 좋은 분들을 만났다!)

역시나 기획이 어렵다. 기획은 실무에서도 어려운 것인데, 기획자가 아닌 우리들이 꼼꼼하게 기획하려니 놓치는 부분이 많은 것 같다.
그리고 FE, BE, 디자이너가 함께 작업을 해야하는 것을 기획한다는 것이 정말 어렵구나, 라는 생각을 하게 되었다.

주특기 기간에는 구현을 할 때 분명한 requirements가 있었다. 그래서 딱 그것만 생각하고 구현하면 되었다. 이게 개발자와 PM의 차이가 아닌가 싶다.

협업을 시작하며 느낀 것은 FE, BE, 디자이너 모두 '요구사항'만큼만 작업하는 기술자들이었다. 그래서 기획팀이 따로 있는 이유도 느껴지고 기획이 처음에 얼마나 탄탄하게 갖춰져야 하며 그것을 수정하는 것은 각 팀에게 부담이 되는 일이라고 생각이 들었다.

우리 팀은 처음 기획도 좋고 분위기도 좋았다. 무엇이든 금방 끝낼 것 같은 흐름이랄까?

3월 9일 수요일에 팀장과 부팀장이 참여하는 기획 멘토링이 있었다. 그리고 남병관 튜터님께 기술적으로 부족한 기획이라는 평을 들었다. 특히 백엔드.
안정적인 기획으로 인해 서버가 터질 일이 전혀 없는 도전적이지 않은 기획이라는 평 같았다. 그래서 우리는 수요일에 다시, 기획을 붙잡게 되었다.
모든 것을 좋다고 넘기지 말고, 나중에 생각할 부분을 남기지 말고 꼼꼼하게 하나하나 체크하면서 다시 기획을 하였다. 기술적으로 웹소켓을 사용하게 되어 다른 부분에서 작업하기 어려울 것 같은 부분들은 과감하게 내치기도 하였다.

목요일이 되어서야 진짜 개발을 시작했던 것 같다. 며칠을 쉬었다고 감이 뚝 떨어진 듯한 느낌도 들었지만 팀원들과 함께해서 그런지 금방 감을 잡을 수 있었다.
기본 CRUD 구현은 팀장이 맡고 광훈님과 함께 Oauth2를 맡아 로그인 기능을 구현하기 시작했다. 지난 2주 동안 ....... 주특기 2,3주차를 지내며 jwt 앞에 절절매고 힘들어했지만, 과감하게 둘이서 Oauth를 맡았다.

참고로 로그인 기능에 특별한 애정이 있는 것은 아니다.
그래도 계속 공부해 나가면서 확실히 이해가 잘 되는 부분들이 있었다.
청소년들이 주 타겟이기 때문에 로그인 기능은 '카카오' Oauth만 사용하기로 했다. 공부하고 구현했던 jwt와는 조금 달랐다. 그래도 기본 사용 구조는 비슷했기에 빠르게 구현을 해나가......다가,

토큰이 나온 정도의 구현에서 프론트와 중간에 한 번 붙여보는 일이 있었는데. 이건 실수였던 것 같다.
백에서 구현이 일차적으로도 완전하지 않다보니, CORS가 계속 막히는데 곤욕이었다.
그렇게 금요일 저녁시간 정도를 애먹다가 백에서 먼저 redis를 사용해서 logout까지 다 구현한 뒤에 만나자고 프론트와 작별인사를 나누었다.

그리고 토요일에 정말 순식간에 달렸다. 광훈님은 인텔리J 사용에 능숙하고 이해한 코드를 사용하는 편이어서 우리가 코드는 더럽게 붙였지만, 구조는 확실히 하면서 구현했다.
나는 오류잡기만 했다. 일단 되게 만드는 데 관심이 많은(?) 내 성격 덕분에 오류가 뜨면 잡고, 또 오류가 뜨면 잡고 그렇게 토요일 반나절 정도를 사용해서 refresh 토큰과 redis 사용, logout 기능 구현까지. 처음 접한 기능 구현이었지만 후딱 쳐버렸다.

그리고 토요일 새벽에 혼자서 코드를 하나하나 보면서 사용하지 않는 테스트용도의 코드들은 날리고 이름을 어느정도 컨벤션에 맞춘 뒤 moabuza git에 하나하나 붙였다.
access 토큰을 다시 날려주는 api가 자꾸 필터에 걸려서 광훈님께 오류 잡아달라고 부탁드리고 마무리 했다.

매일매일 일과 마무리가 3시 기준이다. 지치지 않게 남은 시간 체력관리 잘 하면서 달려야 한다.

다음주에는 https 서버 배포, CI/CD 자동화, web socket 공부 및 구현에 바로 들어가야 한다. 아, CRUD는 당연히 주 초반에 후딱후딱 끝내야지 !

jwt는 굉장히 힘들어했었는데 .. 이번에 Oauth 하면서 오류 잡는게 너무 꿀잼이었다. 정말 계속 삽질하는 것만 같았지만 일차적으로 기능구현이 다 되었다는게 너무너무 감사하고 만족할 수 있었다. 남은 삽질도 힘내보자!

profile
KingdomOfGod newPerson = new KingdomOfGod();

0개의 댓글