Skip to content

Commit

Permalink
v0.1 지금까지 한 내용 master<-develop 이동 (#32)
Browse files Browse the repository at this point in the history
* Update .gitignore

gitignore

* gpt roboflow api

* Image에서 재료 추출 결과 CompletionDto로 반환

* Image 분석 -> 레시피 추천 한 과정에 보여줌

* 참조 오류 수정

* 요청 주소 API 설계 반영

* 주석 추가, 코드 정리

* 주석 추가, roboflow api endpoint 숨김

* 이미지 업로드 기능 분리
1. 이미지 업로드
2. 레시피 추가, 수정

* roboflow class, class_id enum 파일로 저장

* image package 정리

* 기존 List -> CompletionDto -> Gpt Response를
List -> Gpt Response로 함축
ImageController에서 더이상 CompletionDto 다루지 않음

* 주석 추가 및 수정 작업

* 파일 이름 변경

* legacyPrompt에서 더이상 재료를 받는 것이 아닌 질문 자체를 받음
질문은 프론트에서 처리

* 플로우를 이미지 인식 -> 재료 확인 -> gpt 레시피 반환
에서 이미지 인식 -> 재료 확인 -> gpt에서 5가지 메뉴 추천 -> 원하는 메뉴 레시피 반환
으로 한과정 더 추가

* feat: 데이터베이스 초기세팅

* feat: 기초 연관관계, db설정

* 로그인, 회원가입 구현
세션 유지 확인

* 로그인, 회원가입 코드 정리

* 회원 정보 가져오기

* /api/recommendation-gpt의 단순 질문 -> 응답 전달 형태 변경
1. /api/recommendation-menu: 재료 포함 질문 -> 만들 수 있는 음식 리스트 반환
2. /api/recommendation-gpt: 재료, 음식 포함 질문 -> 필요 재료, 조리 순서 GptRecipeResponseDto에 담아서 반환

* 잘못된 함수명, 리다이렉션 수정

* chore: 폴더 구조 변경

* init: frontend 초기화

* init: next.js by vercel로 변경

* feat: 로그인 페이지 추가

* 백엔드: 채팅 저장 기능 완성
1. 파일 및 폴더 이름 변경
2. 엔티티 변경 및 추가
3. dto 추가
4. service, controller 추가

* timestamp 사용하기 위해 @EnableJpaAuditing 추가

* 폴더이름 대문자 -> 소문자

* 레시피 저장 기능 구현
RecipeRequestDto의 형태로 전달 받고
Recipe, RecipeInfo, Ingredients 테이블에 저장
RecipeInfo, Ingredients는 데이터 한번에 묶어서 저장하지 않고
리스트 형태로 받은 데이터 따로따로 저장

* 레시피 저장 기능 포함 html 파일
마지막에 saving error라고 뜨지만, 기능은 모두 작동됨

* recipe 저장시 user 누락 문제 해결
postman 사용 용이하게 webconfig에 추가

* recipe 전체 조회 구현

* recipe 상세 조회 구현,
레시피 스크랩 기능에 전반적으로 session 적용

* 채팅 전체 조회 구현,
채팅 기능에 전반적으로 session 적용

* 채팅 상세 조회 구현

* gitignore 업데이트

* chore: git 캐시 제거 및 gradle 캐시제거

* feat: 게시물 기본 설정

* feat: 게시판crud

* feat: 게시판crud 작가,시간 추가

* feat: 메인 페이지 생성

* feat: 게시판 페이지 생성

* feat: 스크랩 페이지 생성

* feat: 레시피 추천 페이지 생성

* feat: 댓글기능추가

* feat: 회원가입 페이지 추가

* fix: default 키워드 추가

* 자신이 스크랩한 레시피 삭제

* 레시피 수정 구현,
레시피 저장시 saveAll 적용

* User에 chatRoom 연관관계 포함시킴

* 채팅 삭제 구현

* feat: 페이징처리,유저 접근 수정, id반환 수정, 특정게시물 로직 수정,update, delete처리 구현

* feat: 제목검색추가

* feat: signup 페이지 한글화 및 회원가입 완료 시 메인페이지로 이동 (#12)

* 로그인 js 코드 추가
로그인 반환형 ResponseEntity<?>로 수정

* 프론트-백 연결

* next.config.mjs 변경으로 인해
localhost:8080/api/signup -> /api/signup

* 프론트: scrap 상세보기 완료,
scrap 전체 보기 제목 표출, id 추출 완료

* 재료 -> 음식 5가지 기능 업그레이드
경로:api/prompt-menu
gpt version: gpt-4-turbo 버전
재료 text 형으로 전송해주면 List<String> foods 형식으로 음식 리스트 반환

* 레시피 추천 정확도 업그레이드
경로:api/prompt-recipe
gpt version: gpt-4-turbo 버전
api 호출 횟수: 1번 -> 2번
GptRecipeRequestDto 형태(음식이름, 재료들)로 호출 해줌 -> GptRecipeResponseDto 형태(재료들, 조리순서)로 반환

* Gpt 주석작업

* 프론트: 레시피 삭제 기능 적용
react-modal 이용함

* 프론트: logout 버튼, scrap 버튼, home 버튼 기능구현
logout시 /login 으로 이동

* 로그인 페이지 한글화

* fix: 게시물 http method 수정

* fix: 게시물 http method 수정

* fix: 게시물 http method 수정

* fix: 게시물 http method 수정

* fix: 게시물 http method 수정

* build: package.json에 의존성 추가 (#24)

* 프론트 헤더 분리 및 메인페이지 수정 (#25)

* feat: 추천 틀 만들기

* feat: header 분리

* feat: header 컴포넌트 분리

* feat: header 컴포넌트 수정

* build: 의존성 수정

* feat: 로그인 쿠키 정책 수정, 메인페이지 수정

* FetchType.EAGER 적용
User와 1:N 관계에 있는 Entity들을 불러낼때 문제 없기 위해
각각의 개수를 알아내기 위한 Getter 메서드 작성

* User에 대한 더 많은 정보 얻기 위해 UserDetail 기능 추가

* header에 로그아웃 기능 추가

* user 페이지 추가

* userName 변경 코드 추가

* deleteUser기능 추가

* 1. 회원 탈퇴, 회원정보 변경 프론트 코드 추가
2. 에러 메세지 및 redirect 경로 알맞게 수정

* passWord -> password

* RecipeInfoList -> instructions

* * api/recipe/save-chat - post 요청
채팅이 저장된 후 언제든지 레시피를 저장할 수 있도록, request 형식을 좀더 포괄적으로 잡아줌

* * api/recommendation-recipe-str 추가
기존의 api/recommendation-recipe 대체 가능, gpt에서 받은 응답을 Dto가 아니라 String 형태로 반환해줌

* 백엔드 코드 정리 : chat, gpt, recipe, user

* Feat 채팅을 레시피에 저장 (#26)

* feat: 메인페이지 레시피 생성 버튼 추가

* feat: 추천 틀 제작 채팅이 마지막이 되면 자동으로 스크랩됨(아직 전부 미구현)

* fix: 최종 추천 시 위의 메뉴가 바뀌는 현상 변경

* fix: 각 메뉴의 상태를 분할 사진에 대한 재료(ingredients), 추가 입력 단계를 지난 재료(middle ingredients), 최종 레시피에 대한 재료(lastIngredients)

* feat: 게시판의 메인 페이지 구현

* fix: api 호출 설정 변경

* chore: 동적 라우팅을 위한 파일 구조 변경

* feat: 게시물 작성 페이지 수정

* build: 빌드를 위한 파일 수정

* fix:
service, RetrieveBoardListResponseDto, RetrieveBoardResponseDto: 정렬을 생성시기가 아닌 id의 desc로 변경, dto에 댓글 수, 작성자, 작성 시기, 총 페이지 수 추가

* feat: 게시글 페이지 구현, 경로 수정

* Create backend ci.yml (#31)

---------

Co-authored-by: 강현욱 <[email protected]>
Co-authored-by: rkdgusdnr99 <[email protected]>
Co-authored-by: lsn5963 <[email protected]>
Co-authored-by: lsn5963 <[email protected]>
  • Loading branch information
5 people authored May 22, 2024
1 parent 94bdfd9 commit 7e5f19a
Show file tree
Hide file tree
Showing 134 changed files with 16,512 additions and 0 deletions.
46 changes: 46 additions & 0 deletions .github/workflows/backend ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: backend ci

on:
workflow_dispatch:
pull_request:
branches: [ "develop" ]

permissions:
contents: read

jobs:
build-backend:
runs-on: ubuntu-22.04
defaults:
run:
working-directory: backend

steps:
- name: Set up Repository
uses: actions/checkout@v4

- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: "17"
distribution: "corretto"

- name: Give permission for Gradle
run: chmod +x gradlew

- name: Cache Gradle
id: cache-gradle
uses: actions/cache@v4
with:
path: ~/.gradle/caches
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Build with Gradle
run: ./gradlew bootJar

- name: Upload jar file artifact
uses: actions/upload-artifact@v4
with:
name: BackendApplicationJar
path: backend/build/libs/*.jar
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,4 @@
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
replay_pid*
.idea/workspace.xml
38 changes: 38 additions & 0 deletions backend/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
HELP.md
.gradle
build/
gradle/
!gradle/wrapper/
!**/src/main/**/build/
!**/src/test/**/build/

### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
bin/
!**/src/main/**/bin/
!**/src/test/**/bin/

### IntelliJ IDEA ###
.idea/
*.iws
*.iml
*.ipr
out/
!**/src/main/**/out/
!**/src/test/**/out/

### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/

### VS Code ###
.vscode/
47 changes: 47 additions & 0 deletions backend/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
plugins {
id 'java'
id 'org.springframework.boot' version '3.2.4'
id 'io.spring.dependency-management' version '1.1.4'
}

group = 'hello'
version = '0.0.1-SNAPSHOT'

java {
sourceCompatibility = '17'
}

compileJava {
options.compilerArgs << "-parameters"
}

configurations {
compileOnly {
extendsFrom annotationProcessor
}
}

repositories {
mavenCentral()
}

dependencies {
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-validation'
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'

implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
runtimeOnly 'org.mariadb.jdbc:mariadb-java-client:2.7.4'

implementation 'org.hibernate.validator:hibernate-validator:6.2.0.Final'
implementation 'org.hibernate.validator:hibernate-validator-cdi:6.2.0.Final'

implementation 'io.github.flashvayne:chatgpt-spring-boot-starter:1.0.4'
}

tasks.named('test') {
useJUnitPlatform()
}
4 changes: 4 additions & 0 deletions backend/gradle/wrapper/dists/CACHEDIR.TAG
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Signature: 8a477f597d28d172789f06886806bc55
# This file is a cache directory tag created by Gradle.
# For information about cache directory tags, see:
# https://bford.info/cachedir/
Empty file.
Loading

0 comments on commit 7e5f19a

Please sign in to comment.