Skip to content

QRAB-EWHA/Backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QRAB_BACKEND

QRAB 프로젝트의 Spring Boot 백엔드 레포지토리입니다. 이 레포지토리는 서비스 전반의 다양한 기능을 제공합니다.

🎈About Source Code

  • Framework: Spring Boot
  • Language: Java
  • Build Tool: Gradle
  • Key Features:
    • 회원 관리 (로그인, 회원가입 등)
    • 노트 저장 및 관리 기능
    • 퀴즈 생성 및 관리 기능
    • 학습 분석 생성 및 관리 기능
    • 기타 서버 로직 처리
  • Architecture:
    • controller: HTTP 요청을 받아 처리하는 진입점
    • service: 비즈니스 로직 구현
    • repository: 데이터베이스에 접근하는 계층
    • domain 또는 entity: 데이터베이스 매핑을 위한 도메인 모델
    • dto: 요청/응답에 사용되는 데이터 전송 객체

QRAB의 백엔드 프레임워크는 Spring Framework로, 터미널(맥 or 리눅스) 또는 명령 프롬프트(윈도우)에 아래의 명령어를 입력하여 프로젝트를 실행해주세요.

🎈Prerequisites

다음 소프트웨어와 환경이 필요합니다.

  1. Java Development Kit (JDK)
  1. Spring Boot
  • 프로젝트는 Spring Boot 기반이며, 별도의 설정은 필요 없습니다.
  • Gradle 기반으로 의존성을 관리합니다.
  1. Database
  1. Git
  • 버전 관리 툴로 Git이 설치되어 있어야 합니다.
  • Git 다운로드
  1. IntelliJ IDEA
  1. Postman

🎈How to build

이 레포지토리는 해당 명령어로 git clone 가능합니다.

git clone https://github.com/QRAB-EWHA/Backend.git
  • 프로젝트를 실행하기 위해 application.yml을 작성해야 합니다.
  • application.yml 파일을 제공받은 경우, 해당 파일의 내용을 그대로 붙여넣기 하고, datasource 하위의 {ENDPOINT}, {DB_NAME}, {USERNAME}, {PASSWORD}만 채워넣어 주세요.
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://{ ENDPOINT }:3306/{ DB_NAME }?serverTimezone=UTC
    username: { USERNAME }
    password: { PASSWORD }


  h2:
    console:
      enabled: false

  jpa:
    hibernate:
      dialect: org.hibernate.dialect.MySQL8Dialect
      ddl-auto: update
      open-in-view: false
      properties:
        hibernate:
          format_sql: true
          show_sql : true

  task:
    scheduling:
      pool:
        size: 10


  logging:
    level:
      org.hibernate.SQL: debug

  servlet:
    multipart:
      max-file-size: 100MB
      max-request-size: 100MB

jwt:
  header: Authorization
  secret: { SECRET_KEY }
  token-validity-in-seconds: 2592000

cloud:
  aws:
    s3:
      bucket: qrab
    stack.auto: false
    region.static: ap-northeast-2
    credentials:
      accessKey: { ACCESS_KEY }
      secretKey: { SECRET_KEY }


aws:
  ses:
    accessKey: { ACCESS_KEY }
    secretKey: { SECRET_KEY }
    region: ap-northeast-2

openai:
  model: gpt-4o-mini
  api:
    key: { KEY }
    url: "https://api.openai.com/v1/chat/completions"

ocr:
  api:
    url: "https://3viphnb84f.apigw.ntruss.com/custom/v1/33919/1052997939660282774c9eec454329d7ff7beb617edb815dc04b9a37be6db7d9/general"
    secret: { SECRET }

rag:
  service:
    url: ${RAG_SERVICE_URL:http://43.202.11.197:8000}
    connect-timeout: 5000
    read-timeout: 30000

🎈How to run

cd QRAB
./gradlew build 
cd build/libs
java -jar QRAB-0.0.1-SNAPSHOT.jar

백그라운드에서 실행하고 싶다면 아래 명령어를 입력합니다.

nohup java -jar QRAB-0.0.1-SNAPSHOT.jar &

🎈How to Test

아래 링크 접속 후,
https://qrab-five.vercel.app

다음 이메일과 비밀번호로 로그인 하면 기존 데이터로 바로 테스트 가능합니다.

email : [email protected]
password : Leeyunjin1!!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published