**🌱 다육이(DayookE)**는 이주배경학생을 위한 다문화 교육 플랫폼입니다. (2024년도 2학기 인하대학교 캡스톤 디자인 프로젝트)
이 플랫폼은 이주 배경 학생들이 언어적, 문화적 장벽으로 인해 겪는 학습의 어려움을 해소하고, 더 나은 학습 환경과 기회를 제공합니다.
이는 미추홀구 다문화교육 센터 방문 인터뷰와 강원대학교 다문화교육 박사님의 전문 자문을 통해 실질적인 현장 요구와 전문 지식을 기반으로 기획되어 신뢰성과 효과성을 갖춘 서비스입니다.
학생 개개인의 학습 수준과 필요에 맞춘 다양한 기능을 통해 학업 성과를 높이고, 사회적 자립과 통합을 지원합니다.
🔗 백엔드(메인 서버) 저장소 바로가기 Click ! 👈
🔗 백엔드(AI 서버) 저장소 바로가기 Click ! 👈
새 창 열기 방법 : CTRL+click (on Windows and Linux) | CMD+click (on MacOS)
HTML5 | CSS3 | JavaScript | React |
Java17 | Python | Spring Boot 3.3.2 | FastAPI | MySQL |
Postman | Swagger |
AWS CodePipeline | AWS CodeBuild | AWS CodeDeploy | GitHub Actions |
기능 | 내용 |
---|---|
맞춤형 튜터 매칭 서비스 | 학생의 학습 수준을 입력받아 최적의 튜터를 매칭합니다. |
다문화 가정 관련 공지 제공 | 크롤링 기술을 활용해 다문화 가정을 위한 공공기관 및 지역사회 관련 정보를 실시간으로 제공합니다. |
구글미트를 활용한 1:1 수업 | 구글미트를 통해 학생과 튜터가 실시간으로 연결되어 원활한 1:1 온라인 수업을 진행할 수 있습니다. |
AI 복습 자료 제공 | 수업 내용을 기반으로 AI가 자동으로 복습 자료를 생성하여 학습 효율성을 높입니다. |
AI 챗봇 서비스 | 학습 중 발생하는 질문에 즉각적으로 응답하는 AI 챗봇을 통해 학습을 지원합니다. |
한국어 및 모국어 학습 지원 | 동화와 동요를 통해 한국어와 학생의 모국어 학습을 지원하며, 한국어 발음 교정 서비스를 제공합니다. |
아키텍처(Architecture) |
---|
개체-관계 모델(ERD) |
---|
조은정 | 양희령 | 황규혁 | 박준용 |
---|---|---|---|
FE | BE | BE | AI |
@EunJung516 | @gaau511 | @Gyuhyeok99 | @wnsdyd1128 |
24.09.02. ~ 24.12.22
- 원격 저장소 복제
$ git clone https://github.com/DayoookE/dayoook-e-client
-
프로젝트 폴더로 이동
-
필요한 node_modules 설치
$ npm install
- .env 파일 생성
$ vi .env
REACT_APP_FAST_API_URL=[IP]:[PORT]
REACT_APP_SPRING_API_URL=[IP]:[PORT]
REACT_APP_S3_BUCKET=[BUCKET]
- 개발 서버 실행
$ npm start
- 원격 저장소 복제
$ git clone https://github.com/DayoookE/dayoook-e-server
- 프로젝터 폴더 > src > main > resources 이동
$ cd src
$ cd main
$ cd resources
- 프로젝트 실행을 위한 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}
-
프로젝트 폴더 루트 경로로 이동
-
프로젝트 빌드
$ ./gradlew clean build -x test
- 빌드 폴더 이동 후 jar 파일 실행
$ cd build/libs
$ java -jar [파일명].jar
- 원격 저장소 복제
$ git clone https://github.com/DayoookE/dayoook-e-fastapi-server.git
- 프로젝터 폴더 촤상단으로 이동 후 .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키]
-
Google Cloud Platform(GCP)에서 OAuth 2.0 인증울 위한 josn 파일을 다운로드하여 최상단에 넣음
-
로컬 경로를 지정하여 저장된 사전학습 모델 로드
-
도커 실행
$ docker run -v $(pwd)/container:/server --gpus all --name [CONTAINER_NAME] -p 6262:6262 [IMAGE_NAME:IMAGE_TAG]