본문 바로가기
빅데이터 부트캠프/팀 프로젝트

마신사 프로젝트 4주차 (빅데이터 부트캠프 116~120일차)

by Mecodata 2022. 12. 24.

마신사 프로젝트 22일차 - 2022.12.19(월)

오랜만에 다같이 학원에 오프라인으로 모여 작업을 했는데 오프라인이라 바로 프론트를 맡은 팀원들에게 바로 질문하고 답변을 들을 수 있어서 네아로 구현에 대한 윤곽이 드디어 잡히기 시작했다.

 

알고보니 주말동안 내가 찾았던 정보들은 React 사용 없이 Spring Boot만을 이용하여 작업할 수 있는거라 적용 불가능하였고 결국 나 스스로 방법을 찾아내야했다. 그렇게 프론트 팀원들과의 잦은 대화를 통해 네아로 실행 과정을 겨우 이해할 수 있었는데 다음과 같았다.

겨우 과정을 이해하고 작업을 시작했는데 처음부터 난관에 부딪쳤다. 접근 토큰이 보안상 JSON 객체로 반환되지 않고 요청시에 URL 주소값이 바뀌면서 반환되는 것이었는데 (처음에는 user.id로 반환되는 데이터와 접근 토큰이 같은 데이터인 줄 알고 작업했다가 계속 API 호출을 거부당했는데 뒤늦게 서로 다른 데이터임을 눈치채 이 부분을 이해하는데까지 상당한 시간이 소요됐다..) 구글링을 통해 방법을 찾아보니 window.location.href를 이용하여 해당 url을 추출하여 split을 이용해 접근 토큰에 대한 데이터만 추출할 수 있었다. 

백엔드에서 작성해야할 네이버 회원 정보 API 호출 코드는 네이버 개발자 공식 홈페이지(https://developers.naver.com/docs/login/profile/profile.md)에 예제 코드가 제공되어 네아로 구현보다 수월하게 작업할 수 있었는데 또 다른 문제에 부딪쳤다.

 

BackEnd 서버에서 네이버 DB로 회원 프로필 정보 조회 api 호출CORS ERROR가 발생하는 것인데 해당 문제의 원인을 찾아보니 작업중인 React 서버(localhost:3000)와 Spring boot 서버의 포트번호(localhost:8080)가 서로 달라서 네이버에서 보안상 요청을 거부하도록 설정한 것이 원인이었다.

 

네이버 고객센터에서는 이 둘의 포트번호를 서로 같은 상태로 개발을 진행하라 권유하였지만 나는 http-proxy-middleware를 사용하여 proxy를 통한 우회후 api 요청으로 이를 해결하였다.

그렇게 CORS ERROR까지 해결한 뒤 DB에 네이버에서 제공하는 회원정보까지 저장되는 것을 확인하며 네아로 및 네이버 회원 정보 기능 구현을 무사히 마칠 수 있었고 이에 관한 나머지 프론트 작업들은 프론트 팀원들에게 맡기며 알차게 작업을 마무리할 수 있었다. 

 

마신사 프로젝트 23일차 - 2022.12.20(화)

오늘은 특별히 새로 뭔가를 작업하기 보다는 프론트 팀원들이 추가적으로 요청하는 사항들을 반영하여 기존에 작성하였던 Spring Boot 코드들을 수정하는 작업을 주로 진행하였다.  

 

덕분인지 프론트 팀원들의 작업도 점점 끝이 보이기 시작했고 GCP와 Docker를 이용한 배포를 진행하던 백엔드 팀원도 결국 백엔드 서버 배포에 성공하였으며 데이터 팀원의 NLP를 이용한 머신러닝 작업도 완료되어 슬슬 전체적으로 개발 작업이 마무리되어가는 것이 보이고 그 결과물도 한눈에 보여 슬슬 뿌듯함이 차오르기 시작했다.

 

마신사 프로젝트 24일차 - 2022.12.21(수)

오늘은 따로 홍대에 위치한 스터디카페에 모여 심사위원에게 제출해야할 보고서와 PPT에 대한 회의를 주로 진행하였다. 다같이 오프라인으로 모여 진행하다 보니 회의와 PPT, 보고서 작성이 수월하게 진행되어 30% 정도 완료한 것에 이어서 프론트 서버 배포까지 완료되어 네이버에 네아로 검수 요청 신청할 수 있었다. 

 

마신사 프로젝트 25일차 - 2022.12.22(목)

프로젝트 최종 발표 전날이라 드디어 프론트까지 최종적으로 개발 작업이 완료되었고 하루종일 보고서와 PPT에 대한 작업이 진행되었다. 나같은 경우에는 보고서와 PPT에 삽입할 순서도 및 이미지 작업으로 인하여 시간이 정말 순식간에 지나갔고 보고서와 PPT 작업도 슬슬 마무리 되어가 이제 정말 6개월간의 부트캠프와 26일간의 마신사 프로젝트의 끝이 보였다.

 

마신사 프로젝트 26일차 - 2022.12.23(금)

드디어 대망의 부트캠프 마지막 날이자 프로젝트 발표날이다! 오전에 최종적으로 보고서와 PPT 작업을 마무리한 후 오후에 각 조별로 발표를 진행하였는데 역시 다들 그 동안 열심히 노력해와서 그런지 결과물들이 모두 감탄스러웠다.

 

우리 조가 발표 첫 순서였는데 심사위원 분께서 전체적으로 호평일색이셨고 아쉬운 점으로 지적한 것들도 거의 프로젝트 일정의 반을 프로젝트 설계 및 기획 회의에 쏳은 탓에 개발 기간이 맡은 역할에 따라 10~12일 정도로 다른 팀에 비해 부족했던 점이 원인이었어서 만족스럽게 마무리할 수 있었다. 

 

그렇게 다른 조들의 발표도 마무리되고 난 후 쉬는 시간을 가진 다음 뒤이어 수료식을 진행했는데 뭔가 그동안 포기하지 않고 노력하여 무사히 수료했다는 뿌듯함과 이제 정말 부트캠프 생활이 끝이라는 것이 실감이 나지 않는 여러 감정들이 교차하면서 뭔가 마음이 뒤숭숭해졌다.

 

마지막에 다같이 사진도 찍고 수업시간 종료후에는 따로 송별회도 가졌는데 이제는 정말 취업이라는 실전이 남아있기에 마냥 기쁠 수 만은 없었지만 그래도 너무나도 내 기억 속에 오랫동안 남을 추억이 마무리된 점이 아쉽기도 하면서 성취감과 뿌듯함이 가득한 하루여서 참 좋았다. 

 

마신사 프로젝트 소감

개발자라는 직업이 단순이 코딩만 하는 것이 아니라 개발 목적에 대한 명확한 이유와 그에 따른 기획 및 설계에 대한 부분도 수행에 대한 부분도 매우 중요한 직업임을 멘토링을 통하여 제대로 느낄 수 있어서 좋았고 

 

공모전 성격이 강하던 이전 프로젝트들과 다르게 개발자라는 직업의 본질을 다시 생각해보며 개발을 잘 모르는 이들도 한눈에 알아볼 수 있는 동시에 이용해 볼 수 있는 결과물을 도출한 것이 너무나도 뿌듯했던 프로젝트였다.

 

MyBatis와 JPA를 이용하여 메소드를 구현하였는데 요즘 자주 사용된다는 JPQL로도 메소드를 추가적으로 구현해보거나 maven이 아닌 gradle 이용하여 프로젝트를 생성하여 작업을 진행해보고 싶은 생각이 들었다.

+ 뒤늦게 프로젝트 심사 결과가 나왔는데 우리 조가 압도적으로 1등했다! ㅎㅎ (2022.12.26)

+ 부트캠프 수료 후 프론트를 맡았던 팀원 한 분이 디자인적인 리팩토링을 개인적으로 실시하여 반영해준 덕분에 이전보다 디자인적인 부분이 더 깔끔해졌다! (2023.04.22)

마신사(프론트 리팩토링 전)

메인 페이지
상품 리스트 페이지
상품 상세 페이지 1
상품 상세 페이지 2
회원 마이 페이지

시연 영상(프론트 리팩토링 전)

 

마신사(프론트 리팩토링 후)

메인 페이지
상품 리스트 페이지
상품 상세 페이지 1
상품 상세 페이지 2
회원 마이 페이지

시연 영상(프론트 리팩토링 후)

관련 GitHub 링크

https://github.com/anydevil0812/Masinsa_Project

 

GitHub - anydevil0812/Masinsa_Project: 마신사 프로젝트

마신사 프로젝트. Contribute to anydevil0812/Masinsa_Project development by creating an account on GitHub.

github.com

 

댓글