본문 바로가기
DEV/Web 개발

Sparkling Coffee Club :: 머신러닝 웹 개발 프로젝트 KPT 회고록

by 올커 2022. 10. 21.

Django 머신러닝 웹 개발 프로젝트 :: 디저트 추천 프로젝트

 

※ 팀 이름 : 스파클링 커피 클럽!

  • 탄산(Sparkling)과 커피(Coffee)를 좋아하는 사람들의 모임!

 

※ 프로젝트 핵심 목적

  • 사물인식 머신러닝 기능을 적용하여 사용자에게 음식 레시피를 추천하는 서비스 페이지를 구현
  • 머신러닝 모델은 Roboflow의 과일 데이터셋을 활용하여 학습시켰으며, Object Detecting 기능은 Yolov5 라이브러리를 깃헙에서 로드하여 학습된 모델을 활용해 인식하 도록 한다.
  • DJANGO의 CRUD 기능을 활용하여 사용자가 자신의 음식 사진과 레시피를 게시하고, 다른 유저들과 공유할 수 있는 플랫폼 제공한다. 게시글은 댓글, 좋아요 기능이 있어 사용자 간 커뮤니케이션을 원활히 할 수 있도록 한다.

 

※ 기능 명세서

  • 사용자 환경(회원가입, 로그인, 회원정보 관리 등)
  • 게시글 작성, 수정, 삭제 기능 구현(사진 업로드 등)
  • 사물인식 머신러닝 기능을 적용하여 사용자가 사진 업로드시 재료 인식
  • (머신러닝 모델은 Yolov5, cv2를 활용하여 학습)
  • 게시글의 댓글, 좋아요 기능 구현
  • 재료를 포함하는 음식 및 레시피를 추천하는 기능 구현
  • HTML/CSS/Javascript를 활용한 프론트엔드 페이지 구성
  • (+) 팔로우 : 사용자간 팔로우 기능, 팔로우한 사용자의 게시글을 모아서 확인
  • (+) 좋아요 : 원하는 디저트에 좋아요를 하면 모아서 볼 수 있는 기능
  • (+) 알람 : 게시글에 댓글, 또는 좋아요 팔로우를 했을 때 알람을 띄우는 기능

 

※ 팀 구성원 및 R&R

  • 머신러닝 : 업로드된 사진을 활용한 머신러닝 사물인식 기능,
  • **▶ 장진**
  • 웹개발(장고) : 회원기능, 게시글(CRUD), 댓글(CRUD), 팔로우, 좋아요, 검색, 알림 기능 등
  • ▶ **나웅주, 박효진, 사재혁, 이지영**

 

※ 협업 방식 : VS Code liveshare, Git 활용

※ 페이지 와이어프레임(Wireframe) 구성

※ 데이터베이스 구조(ERD)

※  API 설계

 


※  팀 KPT 회고록

 - 장진

·keep:
팀원들과 어려웠던 프로젝트에 대해 소통하고 문제에 대해 같이 고민한 점
깃 활용을 직접 해보려고 도전해본 점
에러에 대해 직접 고민해보고, 쉽게만 해결해보려하지 않은 점
직접 머신러닝 함수를 짜보고, 이해해보고자 했던 점·problem:
에러나 트러블에 대한 기록이 부족했던 점
시간관리가 부족한 점
기획단계가 완전히 체계적이지 못했던 점

 

·try:
트러블 슈팅, 내가 알게 된 점 등에 대한 기록을 좀 더 세세하게 할 수 있도록 준비할 것
프로젝트 팀원 개개인에 대한 시간 플랜을 좀 더 구체적으로 하여 효율적인 분담 환경을 조성할 것
프로젝트 진행 전 개념 숙지를 좀 더 확실히 할 것

 

·feel:
이번 프로젝트에서 가장 크게 느낀 것은 팀원분들이 어느 하나 부족하거나 빠짐없이 잘 진행해주어서 고마웠던 점이다. 오히려 자신이 맡은 부분을 넘어서서 진행해주시거나, 서로에 대해 배려하고 이해하며 진행했던 부분이 바람직했다고 생각한다. 머신러닝 모델 학습이 늦어져 예상했던 일정보다 머신러닝 반영이 늦어졌기 때문에 팀원들에게 미안하기도 했다. 앞으로의 프로젝트에서도 잘 진행해내기 위해 고민하고 노력해나가야겠다.

 


- 사재혁

·Keep:
팀원들 간에 소통 잘된 것
기능을 다 구현하고 남은 기능 도와준 것
깃을 잘 활용한 것
배운 것 이외에 새로운 기능을 건드려본 것

·Problem:
문제점
트러블 슈팅을 제대로 작성을 못한 것
기획에서 ERD작성을 제대로 못한 것
해결방안
하루에 몇개씩 팀끼리 지정을 하고 트러블슈팅을 적어보기
머신러닝을 처음 접해서 모델을 어떻게 기회하는지 몰랐기 때문에 다음에 이런 비슷한 주제가 나오면 더 기획하도록 노력하기

·Try:
프로젝트의 완성도를 높이기 위해 오류 부분 수정하기
머신러닝과 장고를 연결하는 것을 더 이해하기 위해 개인 프로젝트 한번 만들어보기

·Feel:
이번 프로젝트에서 팀원이 한분이 개인사정으로 인해 변경되었다. 다른 팀원분이 적응을 잘 하실지 매우 고민이였지만 잘 적응을 해주셨고 큰 의견 충돌 없이 서로 구현하고 싶은 기능을 구현하고 균형있게 분담을 할 수 있어서 너무 좋았다. 다음에는 더 완성도 높은 프로젝트를 만들어보자

 


 - 박효진
·Keep:
깃 활용이 지난번보다 편해진 것
배운 부분을 나름대로 활용해본 것
에러가 나도 좀 침착하게 대응할 수 있게 된 점

·Problem:
API명세서나 ERD를 실제 기능 구현시 참고하여 적용하지 못한 것
깃에서 브랜치를 기능별로 나누다보니 타임라인이 엇갈릴 때 머지 컨플릭트가 있었던 점
현황판/트러블 슈팅등 프로젝트 기록에 소홀했던 점

·Try:
시간 관리를 잘 해서 더 적극적으로 프로젝트에 참여할 것
내가 구현한 기능이 작성한 템플릿 외에도 다른 템플릿에서도 해당 기능이 필요한지 생각해보고 적용해볼 것
프로젝트 경과에대한 기록물을 잘 남길 것

·Feel:
지난 번 프로젝트보다 좀 나아진 것 같아서 다행스럽고 다른 팀원분들이 맡은 역할 이상을 해주셔서 지난번도 그렇고 이번 프로젝트도 잘 마무리된 것 같다.  나도 더 많은 역할을 잘 해낼 수 있도록 더 열심히 해야겠다

 


- 나웅주
·Keep:
1.깃 데스크탑을 사용했었는데 이번엔 터미널로 사용한 점
2.기능 구현할 때 스스로 생각해 본점
3.거북이반에서 배운 내용을 활용해 본 점

·Problem:
1. 새롭게 들어온 입장이다 보니 팀 협업에 적극적이지 못함
2. 좀 더 장고 기능 구현에 대해서 적극적이지 못한 점
3. 깃이나 장고 부분에서 오류가 나면 스스로 해결을 못한 점

·Try:
1. 다음 프로젝트에선 자바스크립트를 사용해서 다양한 프론트 기능 만들어보기
2. 장고 복습을 하며 다음엔 스스로 기능 구현해 보기
3. 팀 협업에 적극적으로 참여하기

·Feel :
저번 프로젝트엔 html css 부분만 했었지만 이번엔 백엔드 기능을 구현해 봤다.
구현한 것도 거의 다 도움받았지만 이 코드가 어떻게 돌아가는지
이해를 하고 넘어갈 수 있었다.
이번에 새롭게 들어간 팀에서 팀원분들이 전부 잘하셔서 뒤처지지 않으려면 열심히 해야겠다는 생각이 들었다.
거북이라 도움이 안 될 줄 알았는 데 도움이 되는 부분이 있어서 다행이였다!

 


- 이지영
·Keep :
팀원들 간에 의사소통이 잘 된 부분
git을 활용해 기능별로 branch를 만들고 PR 한 부분
프로젝트 기능 별 마감 기한을 정해 그 기한을 잘 지켜 추가 기능을 구현 한 부분

·Problem : 
- 문제
트러블슈팅 부분을 기록해둔다고 기록했지만 빠트린 부분이 많았다.
- 원인
기능 구현과 에러 해결에만 많은 신경을 썼다.

·Try :
- 에러 해결을 하면 어떤 부분이 어떻게 해결되었는지 기록해두기


·Feel :
- 기능들을 하나하나 완성해가며 프로젝트를 하는 기간 동안 많이 배웠습니다. 로봇에 팔과 다리를 잘 만들어둬야 잘 맞춰지듯이 이번 프로젝트 때 다들 너무 잘해주셔서 좋은 결과물이 나올 수 있었던것 같아요! 힘들었지만 재밌었습니다!

 

반응형

댓글