TEAM : 한상민과아이들
DATE : 2024-02-02
MEMBERS : 한상민, 김윤성, 백성욱, 장정우
만든이유
Springboot를 이용한 프로젝트로 회원가입, 로그인, 게시물, 추천 ,비추천, 사진 등 여러가지를 활용하여 응용해볼 수 있는 주제인 ‘나만의 요리 레시피 커뮤니티’가 적합하다고 생각했습니다.
인생의 즐거움의 반은 맛있는 식사라고 생각합니다.
자신만의 레시피는 모두 다르기 때문에 함께 레시피를 공유한다면 다양한 맛있는 식사를 즐길 수 있다고 생각했고, 기본적인 레시피도 이미지를 입력하면 분석을 통해 레시피를 제공 할 수 있도록 AI모델도 제작 하였습니다.
개요
작업 순서로는, Entity에 테이블들을 생성후 Jparepository 를 활용하여 workbench 와 상호작용을 하였습니다. 그다음 dto를 생성하여 toEntity toDto 함수를 만들어 서로 왕복을 할 수 있게 하였고, View 을 jsp로 생성하여 사용자에게 입력받게 하였습니다. 그 후 postmapping getmapping annotation을 이용하여 Controller 에 전달한 후, 해당 주소에 해당하는 동작들은 Service 에서 로직을 구현 하였습니다.
Spring Boot를 활용한 백엔드 실습을 진행하였습니다.
게시글 등록을 원할 경우, 아래와 같은 화면에서 사진, 목록 기능을 포함한 텍스트 형태로 입력한 다음 등록합니다.
작성한 글 목록을 보고 싶다면 게시글 목록 탭을 클릭하여 확인할 수 있습니다.
검색 기능으로, 글의 제목에 작성한 단어가 포함되어 있다면 검색이 되도록 설정했습니다.
이 외에도, 회원 탈퇴를 진행 시 작성했던 모든 글이 전부 삭제되는 기능과 추천수로 게시물을 정렬하는 기능, 음식의 사진을 입력하면 해당 음식이 무엇인지 분류하고 레시피를 검색하는 기능 등을 추가했습니다.
느낀 점, 어려웠던 점:
- 장정우
많이 부족했지만, 팀원들과 함께 귀찮아 하지 않고 내 일처럼 모두 함께 도우며 개발하여 구현들을 성공하였습니다.
1. User
우선 협업하기 위해 User와 board로 나누어서 진행했고, User의 기능들을 구현했습니다. User의 기능들을 구현한 후 사용자의 음식을 찾아 분류할 수 있게끔 하기 위해 image데이터를 찾게 되었습니다.
2. kaggle데이터셋
한식 데이터를 찾기 어려워서 우선 kaggle에 있는 food-101 dataset을 활용하게 되었습니다.
3.AI모델 학습 및 모델 배포
미리 teachablemachin 사이트를 통해 프로토타입 모델을 배포하였습니다. 해당 모델은 10가지 class를 분류할 수 있고, 추가로 최종모델을 VGG-16모델을 통해 학습하여 48개의 클래스를 분류할 수 있도록 학습하였습니다.
4. 모델서빙
flask를 활용하여 API주소를 올린 후 JSP에서 ajax를 활용하여 이미지가 input될 수 있도록 활용하였습니다.
5. AI모델에서 나온 classification된 output 검색
분류한 음식을 클릭하였을 때 검색 게시판으로 넘어가며 분류한 음식의 이름을 게시판으로 검색되게 하게끔 하여 다양한 레시피를 볼 수 있도록 만들었습니다.
어려웠던 점
1. 한식데이터 찾기 어려움
한식데이터를 찾을 수 없어 가장 많이 사용되는 food101데이터 셋을 활용하였습니다. roboflow에 한식과 관련된 데이터가 있긴 했는데 사용에 어려움이있어 우선 진행하지 못했습니다.
2. springboot의 annotation, MVC패턴 등 이해
springboot와 MVC패턴은 정말 많이 연습해보아야 한다고 생각이 됩니다. 어떻게 상호작용하며 서로 통신하는지 부터 차근차근 다시 이해해보며 한번 또 다른 구현을 해 보아야 겠다는 생각이 듭니다.
혼자 공부하면서 그려본 그림입니다.
3. git 협업
pull하는 과정, push하는 과정에서 많은 충돌이 일어나서 진행에 차질을 겪었습니다. pull하는 과정에서는 변경되는 코드가 없어야 한다는 부분도 있기 때문에 branch에서 수정을 하는 과정도 있다는 부분을 배웠고, 따로 변경된 코드를 확인하여 복구 후 pull하는 방법도 배웠습니다.
'Project' 카테고리의 다른 글
도로노면 훼손탐지 애플리케이션 - 도타미 (0) | 2024.02.21 |
---|---|
ajax통신으로 AI모델 서빙 - 관상가 양반, 내 관상좀 봐주게. (0) | 2024.02.21 |
Inceptionv3 모델을 활용한 체중관리서비스 Hungry Bear 프로젝트 (3) | 2023.12.20 |
SQL을 통해 칼로리 정보까지 포함된 "하남돼지" 데이터베이스 구축 (2) | 2023.12.20 |