Skip to content

이주배경학생을 위한 다문화 교육 플랫폼(다육이) - spring 서버 저장소

Notifications You must be signed in to change notification settings

DayoookE/dayoook-e-server

Repository files navigation


다육이메인페이지

다육이(DayookE)

GitHub release (latest by date)

목차

  1. 웹 서비스 소개
  2. 기술 스택
  3. 주요 기능
  4. 프로젝트 구성도
  5. 개발 팀 소개
  6. 개발 기간 및 일정
  7. 실행 방법

💁 웹 서비스 소개

**🌱 다육이(DayookE)**는 이주배경학생을 위한 다문화 교육 플랫폼입니다. (2024년도 2학기 인하대학교 캡스톤 디자인 프로젝트)

이 플랫폼은 이주 배경 학생들이 언어적, 문화적 장벽으로 인해 겪는 학습의 어려움을 해소하고, 더 나은 학습 환경과 기회를 제공합니다.

이는 미추홀구 다문화교육 센터 방문 인터뷰와 강원대학교 다문화교육 박사님의 전문 자문을 통해 실질적인 현장 요구와 전문 지식을 기반으로 기획되어 신뢰성과 효과성을 갖춘 서비스입니다.

학생 개개인의 학습 수준과 필요에 맞춘 다양한 기능을 통해 학업 성과를 높이고, 사회적 자립과 통합을 지원합니다.

🔗 서비스 데모 영상 바로가기 Click ! 👈

🔗 프론트엔드 저장소 바로가기 Click ! 👈

🔗 백엔드(메인 서버) 저장소 바로가기 Click ! 👈

🔗 백엔드(AI 서버) 저장소 바로가기 Click ! 👈

🔗 서버 API 문서 바로가기 Click ! 👈

새 창 열기 방법 : CTRL+click (on Windows and Linux) | CMD+click (on MacOS)


🛠 기술 스택

Front-end

HTML5 CSS3 JavaScript React.js
HTML5 CSS3 JavaScript React

Back-end

Java Python Spring Boot FastAPI MySQL
Java17 Python Spring Boot 3.3.2 FastAPI MySQL
Postman Swagger
Postman Swagger

DevOps

CodePipeline CodeBuild CodeDeploy GithubAction
AWS CodePipeline AWS CodeBuild AWS CodeDeploy GitHub Actions

💡 주요 기능

기능 내용
맞춤형 튜터 매칭 서비스 학생의 학습 수준을 입력받아 최적의 튜터를 매칭합니다.
다문화 가정 관련 공지 제공 크롤링 기술을 활용해 다문화 가정을 위한 공공기관 및 지역사회 관련 정보를 실시간으로 제공합니다.
구글미트를 활용한 1:1 수업 구글미트를 통해 학생과 튜터가 실시간으로 연결되어 원활한 1:1 온라인 수업을 진행할 수 있습니다.
AI 복습 자료 제공 수업 내용을 기반으로 AI가 자동으로 복습 자료를 생성하여 학습 효율성을 높입니다.
AI 챗봇 서비스 학습 중 발생하는 질문에 즉각적으로 응답하는 AI 챗봇을 통해 학습을 지원합니다.
한국어 및 모국어 학습 지원 동화와 동요를 통해 한국어와 학생의 모국어 학습을 지원하며, 한국어 발음 교정 서비스를 제공합니다.

📂 프로젝트 구성도

아키텍처(Architecture)
아키텍처(Architecture)
개체-관계 모델(ERD)
개체-관계 모델(ERD)

👪 개발 팀 소개

조은정 양희령 황규혁 박준용
FE BE BE AI
은정 희령 준용
@EunJung516 @gaau511 @Gyuhyeok99 @wnsdyd1128

📅 개발 기간

24.09.02. ~ 24.12.22


💻 실행 방법

Client 실행

  1. 원격 저장소 복제
$ git clone https://github.com/DayoookE/dayoook-e-client
  1. 프로젝트 폴더로 이동

  2. 필요한 node_modules 설치

$ npm install
  1. .env 파일 생성
$ vi .env
REACT_APP_FAST_API_URL=[IP]:[PORT]
REACT_APP_SPRING_API_URL=[IP]:[PORT]
REACT_APP_S3_BUCKET=[BUCKET]
  1. 개발 서버 실행
$ npm start

Spring Server 실행

  1. 원격 저장소 복제
$ git clone https://github.com/DayoookE/dayoook-e-server
  1. 프로젝터 폴더 > src > main > resources 이동
$ cd src
$ cd main
$ cd resources
  1. 프로젝트 실행을 위한 yml 파일 작성
  • 프로젝트 첫 빌드시 jpa:hibernate:ddl-auto:create 로 작성
  • 이후에는 jpa:hibernate:ddl-auto:none 으로 변경
  • 프로필 local로 설정
spring:
  config:
    activate:
      on-profile: local
  application:
    name: dayook-e
  datasource:
    url: [디비설정]
    username: ${LOCAL_DB_USERNAME}
    password: ${LOCAL_DB_PW}
    driver-class-name: com.mysql.cj.jdbc.Driver
  jpa:
    database-platform: org.hibernate.dialect.MySQLDialect
    hibernate:
      ddl-auto: none
      naming:
        physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
    generate-ddl: false
    show-sql: true
    properties:
      hibernate:
        format_sql: true
        default_batch_fetch_size: 1000
  servlet:
    multipart:
      max-file-size: 100MB
      max-request-size: 100MB

jwt:
  issuer: [이슈자]
  secret_key: ${JWT_SECRET_KEY}
  expiration: [만료시간]


cloud:
  aws:
    s3:
      bucket: ${S3_BUCKET}
    stack:
      auto: false
    region:
      static: [리전]
    credentials:
      instance-profile: true
      accessKey: ${S3_ACCESSKEY}
      secretKey: ${S3_SECRETKEY}


fastapi:
  server:
    url: [IP]:[PORT]



papago:
  client-id: ${PAPAGO_CLIENT_ID}
  client-secret: ${PAPAGO_CLIENT_SECRET}
  1. 프로젝트 폴더 루트 경로로 이동

  2. 프로젝트 빌드

$ ./gradlew clean build -x test
  1. 빌드 폴더 이동 후 jar 파일 실행
$ cd build/libs
$ java -jar [파일명].jar

FastAPI Server 실행

  1. 원격 저장소 복제
$ git clone https://github.com/DayoookE/dayoook-e-fastapi-server.git
  1. 프로젝터 폴더 촤상단으로 이동 후 .env 파일 생성
$ vi .env
DB_NAME=[디비이름]
DB_USERNAME=[디비유저]
DB_PASSWORD=[디비패스워드]
DB_HOST=[디비호스트]
DB_PORT=[디비포트]
SPRING_SERVER_URL=[IP][PORT]
JWT_SECURITY_KEY=[시크릿키]
CLOVA_SECRETKEY=[시크릿키]
CLOVA_INVOKE_URL=[URL]
AWS_S3_ACCESS_KEY=[엑세스키]
AWS_S3_SECRET_KEY=[시크릿키]
S3_RECORD_UPLOAD_DIR=[경로]
S3_SCRIPT_UPLOAD_DIR=[경로]
S3_BUCKET_NAME=[버킷이름]
OPENAI_API_KEY=[API키]

FILE=[파일경로]
FEEDBACK_OPENAI_API_KEY=[API키]
  1. Google Cloud Platform(GCP)에서 OAuth 2.0 인증울 위한 josn 파일을 다운로드하여 최상단에 넣음

  2. 로컬 경로를 지정하여 저장된 사전학습 모델 로드

  3. 도커 실행

$ docker run -v $(pwd)/container:/server --gpus all --name [CONTAINER_NAME] -p 6262:6262 [IMAGE_NAME:IMAGE_TAG] 

About

이주배경학생을 위한 다문화 교육 플랫폼(다육이) - spring 서버 저장소

Topics

Resources

Stars

Watchers

Forks