본문 바로가기

[Spring] 챗봇을 활용한 레시피 추천 앱

민이(MInE) 2024. 5. 2.
반응형

 

 

올해도 시간이 흘러 벌써 5월이 되었습니다 ~

그 동안 많은 일들이 있었는데 오늘 부터 졸작으로 진행하였던 챗봇을 활용한 레시피 추천 앱을 소개해보려고 합니다.

팀은 3명으로 구성되어 프로젝트를 진행하였고, 프론트엔드 1명,  백엔드 2명으로 구성되었고, 저는 백엔드를 맡았습니다.(백엔드가 2명이긴 했지만 90은 제가 구현했습니다..)

 

아래는 프로젝트에 사용했던 기술들입니다 ~

 

BackEnd

 

- Spring Boot 3.0.9

- Spring Data JPA

- Spring Security

- PostgreSQL 11.2

- Swagger 2.1.0

- JWT

- Amazon S3

- OAuth 2.0

 

 

FrontEnd

 

- React Native

- JavaScript

- TypeScript

- Node.js

등등..프론트가 아니라 이 정도만 알고 있어요..!

 

 

 

 

3개월정도 개발을 진행하고 1차 발표를 진행하였는데 교수님들 반응이 의외로 너무 좋으셔서 놀랬어요 ㅎㅎ

 

/build.gradle

plugins {
    id 'java'
    id 'org.springframework.boot' version '3.2.1'
    id 'io.spring.dependency-management' version '1.1.4'
}

group = 'com.example'
version = '0.0.1-SNAPSHOT'

java {
    sourceCompatibility = '17'
}

configurations {
    compileOnly {
        extendsFrom annotationProcessor
    }
}

repositories {
    mavenCentral()
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    implementation 'com.fasterxml.jackson.core:jackson-core:2.16.1'
    implementation group: 'com.googlecode.json-simple', name: 'json-simple', version: '1.1.1'
    implementation 'org.springframework.boot:spring-boot-starter-web'
    compileOnly 'org.projectlombok:lombok'
    annotationProcessor 'org.projectlombok:lombok'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
    implementation 'org.springframework.boot:spring-boot-starter-validation'
    developmentOnly 'org.springframework.boot:spring-boot-devtools'
    implementation('commons-io:commons-io:2.11.0')

    // Spring Security
    implementation 'org.springframework.boot:spring-boot-starter-security'
    implementation 'org.springframework.security:spring-security-crypto:5.7.1'
    testImplementation 'org.springframework.security:spring-security-test'
    implementation 'org.springframework.boot:spring-boot-starter-oauth2-client'

    // Mongodb
    //implementation ('org.springframework.boot:spring-boot-starter-data-mongodb')

    // PostgreSQL
    runtimeOnly 'org.postgresql:postgresql'
    implementation group: 'org.postgresql', name: 'postgresql', version: '42.2.23'

    // Swagger
    implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.1.0'

    // Jwt
    implementation("io.jsonwebtoken:jjwt-api:0.11.5")
    runtimeOnly("io.jsonwebtoken:jjwt-impl:0.11.5")
    runtimeOnly("io.jsonwebtoken:jjwt-jackson:0.11.5")
    implementation 'com.auth0:java-jwt:4.2.1'

    // Json
    implementation 'com.googlecode.json-simple:json-simple:1.1.1'

    // Chat GPT
    implementation 'io.github.flashvayne:chatgpt-spring-boot-starter:1.0.0'
    annotationProcessor "org.springframework.boot:spring-boot-configuration-processor"

    // Amazon S3
    implementation group: 'io.awspring.cloud', name: 'spring-cloud-starter-aws', version: '2.4.0'
    implementation group: 'io.awspring.cloud', name: 'spring-cloud-starter-aws-secrets-manager-config', version: '2.4.0'





}

tasks.named('test') {
    useJUnitPlatform()
}

 

오늘은 build.gradle만 보여드리고, 다음 글부터는 이 프로젝트를 진행하면서 백엔드에서 기술을 어떻게 사용하였는지 알려드리겠습니다~!

 

 

반응형

댓글