Node.js 뉴스피드 프로젝트 [마지막날]
뉴스피드 프로젝트를 받은지 정확히 일주일 째 되는날이다. 다행히 기간 내에 원하던 기능들을 모두 완성했고 세부적인 부분들을 많이 신경쓰지는 못했지만 나름 만족스럽다고 생각한다.
프로젝트 기간동안 정말 바빠서 TIL 을 제대로 작성하지 못했기 때문에 전체적인 프로젝트에 대해 적어보려고 한다.
이번 프로젝트의 기본 구상은 다음과 같았다.(Sequelize, My SQL 사용)
[군것질 추천 웹페이지]
1. 커뮤니티 기능
: 군것질 추천 게시글을 올릴 수 있게 만들어 유저들 간 군것질을 추천할 수 있는 기능
1-1. 이미지를 포함해서 게시글을 만들 수 있게 하기 (aws s3 사용)
1-2. 로그인에 따른 수정 / 삭제 / 글쓰기 기능
1-3. (미완) 게시글 추천기능
2. 상품 세부페이지 + 장바구니 기능
: 유저들이 올린 군것질을 보고 먹고 싶어졌을 경우 장바구니에 담을 수 있는 기능
2-1. 크롤링을 통해 실제 편의점에서 파는 상품들을 긁어와 상품 세부페이지에 띄우기
2-2. 상품 세부 페이지에서 '장바구니로 담기'를 누르면 장바구니에 상품이 담기게 하기
2-3. 장바구니 페이지에서 상품 수량 조절 및 선택 상품 삭제/ 전체삭제
3. 회원가입 + 로그인 / 로그아웃 기능 (+middleware)
: 사용자의 정보를 입력받아 DB와 대조, 유효성 검사를 통한 회원가입, 로그인 유지
3-1. 사용자를 확인할 수 있는 access token을 cookie를 통해 발급, refresh token DB저장
3-2. token값의 유효성을 판단할 수 있는 middleware 생성
4. 마이페이지 + 마이페이지 수정
: 로그인 한 사용자의 이름과 이메일 정보를 보여주는 마이페이지
4-1. DB에 들어있는 사용자의 정보를 표시
4-2. '수정'버튼을 클릭했을 때 사용자의 정보를 변경할 수 있는 기능
5. 군것질 추천 기능
: 버튼을 클릭했을 시 랜덤으로 군것질 거리들을 추천해주는 기능
6. 추가적으로 구현하고 싶었던 기능들
- 사용자의 주변에 있는 편의점 검색 및 군것질거리 재고를 확인할 수 있는 기능
- 장바구니에 있는 상품을 결제할 수 있는 기능
위와 같은 기능들을 구상하고 만드는 프로젝트를 일주일 동안 진행했다.
내가 맡은 부분은 로그인 / 로그아웃 / middleware / 마이페이지 였는데 'middleware','로그아웃'부분을 생각하다 보니 처음 짰던 로직을 전부 갈아엎어야해서 조금 힘들었던 것 같다.
팀원들이 엄청나게 힘써 도와줘서 만들 수 있었던 것 같다. 부족한 나를 위해 팀원들이 열심히 도와줬다.
특히나 이번 프로젝트는 token, cookie에 대해 자세히 알 수 있었고 frontend 코드와 backend 코드가 어떤 식으로 연결되는지 알 수 있었던 의미있는 시간이었다고 생각한다.
6번에서 언급했듯이 조금 더 추가적인 기능들을 넣고 싶었고, 기존 코드들을 리팩토링하는 시간을 갖고 싶었는데 주어진 기간이 짧다보니 완벽하게 만들지 못한 것 같아 아쉬웠다. 그래도 배포까지 완료해서 뿌듯하다!!
그리고 프로젝트를 할 때마다 느끼는 점이지만 특히나 '개발'이라는 직군은 소통이 중요한 것 같다.
이번 프로젝트에서도 '어떻게' 소통해야 하는지에 대해 많이 배워가는 것 같다.
'TIL' 카테고리의 다른 글
2023-11-29 TIL (0) | 2023.11.30 |
---|---|
2023-11-28 TIL (1) | 2023.11.28 |
2023-11-23 TIL (2) | 2023.11.24 |
2023-11-22 TIL (0) | 2023.11.23 |
2023_11_21 TIL (2) | 2023.11.22 |