팀 프로젝트
프로젝트 주제
[ 랭킹버거 ]
좋아요를 통해 프랜차이즈 햄버거 랭킹을 매기고 리뷰를 남겨 다른 사람들과 정보를 공유하자
프로젝트 영상
https://youtu.be/Z0_9t-phu5E
프로젝트 git hub
https://github.com/hyojin-k/burger_ranking
주요 기능
회원가입 / 로그인
JWT (JSON Web Token) 방식 사용
인증에 필요한 정보들을 암호화 시킨 토큰을 유저에게 발급하여 유효성 검사를 하는 방식
쿠키/세션 방식과 달리 추가적인 저장소 없이 secret key를 통해 토큰안에 유저들의 정보를 넣음
확장성이 뛰어나기 때문에 토큰 기반의 다른 인증 시스템에 접근이 용이
payload 자체가 암호화 된 것이 아니기 때문에 넣을 수 있는 정보가 제한적
JWT의 길이가 길어서 인증 정보가 많아질수록 네트워크에 부하를 줄 수 있음
버거 데이터 리스트 불러오기
좋아요 순대로 랭킹 매기기
리뷰 등록
리뷰 작성
리뷰 삭제
작성된 리뷰와 유저의 아이디가 동일할 때만 '삭제 버튼 생성
ObjectId 타입을 string으로 변환하여 비교 가능하도록 설정
리뷰의 고유 아이디값을 조회하여 삭제 이벤트가 일어난 값을 제거
회고
팀으로 프로젝트를 해본 것은 처음이라 걱정 반 기대 반 이었는데 과정도 크게 어려움 없었고 결과물도 초기에 예상한대로 무리없이 나와서 다행이었다. 조금 더 다양한 기능을 넣어보면 어땠을까 싶지만 그러기엔 추가적으로 공부해야하는 부분도 있고 시간적인 여유도 부족할 것 같아서 추가하지 못한 것이 아쉬웠다.
그리고 실제로 서버에 올려서 유저가 되어 사용해보니 아쉬운 부분이 몇 군데 보였는데
좋아요가 중복으로 적용되지 않도록 - 유저가 좋아요 버튼을 한 번 누르면 좋아요, 두 번 누르면 좋아요 취소
리뷰 작성 및 삭제 후에 화면이 새로고침 되면서 상위로 가는 것이 아니라 해당 부분에서 그대로 적용되는 모습을 보여주기
리뷰 수정 (시도했으나 완성하는데 시간이 부족할 것 같아서 빠진 기능)
새로운 햄버거 데이터를 유저가 직접 등록할 수 있는 기능 (멘토님이 중간 평가 때 넣어봐도 좋을 것 같다고 하셨는데 시간 부족으로 시도하지 못함)
확실히 유저로써 직접 사용한다고 생각했을 때 어느 부분이 불편하고 아쉬운지가 더 잘 보이는 것 같다. 이 부분은 앞으로도 진행될 프로젝트에서도 꾸준히 고려해야하는 부분.
개인
이번 프로젝트에서는 내가 기존에 구현할 수 있었던 부분을 맡게 되었는데 수월하게 프로젝트에 참여한 것은 맞지만, 아무래도 새로운 것에 도전해 보지 못한 것이 조금 아쉬웠던 부분이랄까. 물론 작업하면서 오류가 생겼고 해결해볼 수 있는 기회는 있었지만 내가 해결하기에는 아직 좀 어려운 부분이었고, 다행히 능력있는 팀원분들을 만나 당시 상황을 공유하여 무사히 해결할 수 있었다. 내가 해결하지는 못했지만, 오류를 해결하기 위해 시도해보고 서치해보는 과정, 팀원들과 의견을 나누는 과정에서 많이 배웠고 아직 많이 부족하구나를 느꼈던 시간들이었다.
또한 팀 프로젝트 하면서 남는 시간에는 개인 공부를 하려고 했으나 적응한다는 핑계로 계획한 만큼 하지 못해서 영 만족스럽지 않다. 앞으로는 시간 분배 잘해서 프로젝트도 개인 공부도 만족스럽게 해낼 것. 그리고 미루지 말것!