3차 프로젝트 KPT

송창주·2022년 11월 9일
0

프로젝트명 : 내향인 🍊 맛집 탐방

  • 팀장 : 이효정 / 팀원 : 정태희, 정유준, 송창주, 이승연
  • 역할
    • 머신러닝 : 이효정, 이승연
    • 백엔드, 프론트엔드 : 송창주, 정유준, 정태희
  • 추천 매커니즘 : 사용자 별로 각 가게에 대한 평점을 랜덤하게 부여한 csv파일을 만들어 각 사용자 간 유사도를 산출해 가장 유사한 사용자가 평점을 좋게 준 가게들에 대해 현재 사용자가 아직 평점을 주지 않은 가게를 추천합니다
  • 프로젝트 목표 : 제주도 맛집 리스트 추천 사이트 구현
  • 구현 기능
  • 회원가입, 로그인, 로그아웃
  • 사용자별 음식점 추천
  • 게시글 리스트, 작성, 수정, 삭제
  • 댓글 작성

DB 설계

API 설계

강의 영상

https://www.youtube.com/watch?v=xTrNGh4_xM0

Good & Weak

😀Good

  • 팀원 간 활발한 소통
  • 오류 다같이 고민하기
  • 기능 우선순위 정하기
  • 장고 기능 다같이 구현하기
  • .env를 통해 settings에서 secret key 처리를 통해 보안 유지
  • 장고 다양한 기능 구현에 초점 맞추기
  • GitHub 컨벤션 사용 commit push (효정님 강의)

😧Weak

  • 추가적인 장고 기능 부족(댓글 수정, 삭제)
  • 코드 리팩토링(시간 부족)
  • 오탈자로 인한 시간 낭비
  • 파일, 함수 등 기능별 가독성 부족

🤔How to

  • GitHub 이슈 기능 활용 및 트러블 이슈 정리 등 GitHub에 기록 열심히 남기기
  • 변수명, 필드명, URL 처음 계획 무조건 지키기(변하면 알려주기)
  • 파일 구조화
  • 기본적 프론트 구현 및 연동 숙지하기

진행과정

  • 첫번째, 추천시스템 / drf 백엔드 기능 구현 💡 수월한 S.A제작과 팀원들의 회의 진행! 처음에는 추천 시스템 동작 원리에 대해 이해가 쉽지 않고, 시스템 상 사용자의 동작에 대해 csv파일에 반영하고 싶었으나 생각보다 쉽지 않아 그냥 csv을 통해 유사도를 측정하는 것을 기본적으로 만들고 추가적인 부분을 후에 만들기로 하였다.(하지만… 시간이… 없었….다….. js…..fetch…..async…몰라….) 백엔드의 경우에는 강의 내용을 기반으로 작성을 하였으며, 3명이서 부분적인 파트를 나눠 진행 하였다. 아무래도 강의가 많아서 참고할 자료가 많았다 보니 빠르게 완성하였다.
  • 두번째, 추천시스템 / drf 백엔드 기능 연동 💡 백엔드를 구현하고 포스트맨을 활용하여 기능을 확인하는데는 다들 빠르게 구현해냈다.포스트맨으로 백엔드 기능 결과를 확인했을때는 금방 프론트엔드와 연동이 가능할것 같아 기대감에 부풀어 프론트엔드를 더 예쁘게 꾸미려고 코드펜을 활용하여 UI를 꾸미기 시작했다. 추천시스템 기능 연동은 무엇보다 추천받은 리스트를 js로 연결해 화면에 보여주는 작업이 생각보다 시간이 꽤 걸렸다. 시간적으로 보면 그렇게 오래 걸린 것은 아니지만(반나절 정도…) 원래가 시간이 타이트한지라 이것도 상당히 시간을 잡아 먹은 느낌적인 느낌….
  • 세번째, 프론트엔드 제작 및 백엔드 기능 연동 💡 프론트엔드의 UI는 포기하기로 결정… 백엔드 기능도 몇개 만들던거 완성 못하고 날렸다..(프로필, 좋아요, 댓글 추가기능…) 이것이 진정한 타임어택이 아닌가….
  • 네번째, 마지막 전체 연동 및 구현 테스트 💡 백엔드, 프론트엔드 서버를 동시에 열어서 오류없이 잘 연동되는 것을 확인했다.

조원별 느낀점

  • 정태희 💡 정해진 기간 내에 너무 많은 욕심을 부려서 마지막 날에 몰아서 다 한 느낌이 있다. 시간이 많이 부족했다. 뭔가 백엔드 부분은 금방 구현 했는데 프론트 엔드와의 연동이 너무 힘이 들었다. 기존 tampletes로 하지 않고 따로 프론트를 만들어 html,css,js로 기능 구현을 하다 보니 낯설었다. 코드 들이 너무 많다 보니 ,나 영어 대소문자 id 코드 불러오기 등등 꼬이는게 있었다. 하지만 다음 프로젝트에서는 이번 프로젝트보다 한결 수월하게 잘 할 자신이 생겼다.
  • 이승연 💡 시간이 너무 부족했다. 백엔드랑 추천시스템을 다 만들어서 시간 내 충분히 할 수 있다고 생각했는데 프론트에서 js부분이 이번에 처음 작성하는 방법이다 보니 생각보다 기능 하나하나에 오류가 계속 발생해 시간을 너무 많이 잡아먹었다. 그래서 중간에 진행하다가 프론트 UI 부분은 아예 버리고 기능에만 집중했는데 덕분에 다음 프로젝트 때는 이런 방식의 js 작성에 수월할 것 같다. 앞으로도 공부 공부…
  • 정유준 💡 시간적인 아쉬움이 가장 크게 남았다. drf기본적인 백엔드 기능은 가이드 라인과 참고 자료가 많아 빠르게 완성할 수 있었지만, 프론트에서의 js연결 부분은 처음 해보는 기능이다 보니, 많은 오류와 방향을 잡지 못해서 너무 갈팡질팡했다. 초기에는 프론트에도 인원을 배치하여 완성도를 올리고 싶었지만, js에서의 인원이 너무 부족하여 초기 설계만큼의 성과를 이루지 못하였다. 다만 아쉬운점은 js의 이해도 부족으로 인해 js를 작성할 수 있는 인원이 적었고, 이해도가 많이 부족한 상태에서 프로젝트를 진행하여 프로젝트가 끝나고도 js에 대한 이해도를 충족시키지 못했다.
  • 송창주 💡 프론트엔드와의 연동이 이번 프로젝트의 관건인 프로젝트였다. 프론트 엔드와 연동시 학습영상과 조금만 내용을 바꿔도 오류를 직면하고 어떻게 수정해야할지 갈피를 잡지 못했다. 강의내용에 포함된 내용도 내가 강의내용을 이해하고 코드를 작성하는게 맞는지 의문이 계속 따라다녔다. 백엔드 기능을 구현했으나 프론트 엔드와 연동하지 못해 활용하지 못한 코드가 아쉬움으로 남았고 프론트엔드 예제에 대한 추가학습이 필요하다고 생각했다. 또한 퓨어 장고에서 레스트 프레임워크로 심화되며 학습내용이 제대로 정리되지 못한것 같아 복습이 필수다.
  • 이효정 💡 백엔드와 추천시스템은 어렵지 않게 구현했는데 프론트엔드 연동에 시간이 너무 많이 소요되었고, 구현한 기능들이 프론트엔드 역량 부족으로 반영이 안되어 다 보여주지 못한게 아쉬웠다. 오류가 발생하면 하나하나 찾아가면서 수정하는 과정이 길어지니 집중이 떨어지고 힘들었지만 오류를 수정해서 잘 동작할 때는 성취감도 느낄 수 있었다. 다음엔 우리가 구현한 기능들을 잘 보여줄 수 있도록 프론트엔드 역량도 어느정도 키워야겠단 생각이 든다..😢

0개의 댓글