Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
143 commits
Select commit Hold shift + click to select a range
8500718
feature : OPIc 세션관리 + 답변 처리 파이프라인 구현 (#413)
hye-inA Jan 20, 2026
6af2b68
feat: GAME_START, ROUND_END 메시지에 serverTime 추가
DDINGJOO Jan 20, 2026
3e5a818
Merge pull request #434 from Language-Study-Prooject/feature/418/419/…
DDINGJOO Jan 20, 2026
8686a45
feat: WebSocketMessageHelper 유틸리티 클래스 추가
DDINGJOO Jan 20, 2026
c30ca25
feat: 모든 WebSocket 메시지에 domain 필드 추가
DDINGJOO Jan 20, 2026
067f0a7
Merge pull request #435 from Language-Study-Prooject/feature/418/420/…
DDINGJOO Jan 20, 2026
605a006
feat: GameSession 모델 클래스 생성
DDINGJOO Jan 20, 2026
90000b3
feat: GameSessionRepository 구현
DDINGJOO Jan 20, 2026
b6e6cda
refactor: ChatRoom에서 게임 필드 분리
DDINGJOO Jan 20, 2026
c772c83
refactor: GameSession 기반으로 전체 게임 로직 리팩토링
DDINGJOO Jan 20, 2026
379b82e
Merge pull request #436 from Language-Study-Prooject/feature/418/421/…
DDINGJOO Jan 20, 2026
8bdf8d6
feat: GameSessionHandler Lambda 및 게임 세션 API 구현
DDINGJOO Jan 20, 2026
90123a7
Merge pull request #437 from Language-Study-Prooject/feature/418/422/…
DDINGJOO Jan 20, 2026
0f93883
feat: 게임 시작 7분 후 자동 종료 기능 구현
DDINGJOO Jan 20, 2026
f619a5f
Merge pull request #438 from Language-Study-Prooject/feature/417/game…
DDINGJOO Jan 20, 2026
048d375
fix : 메모리 증가 및 Lambda 응답 제한 시간 Cognito 트리거 제한시간과 동일하게 수정 (#439)
hye-inA Jan 20, 2026
d07bfb6
feat: 캐치마인드 게임 방 분리 기능 구현 (#455)
DDINGJOO Jan 20, 2026
f2a0097
feat: 참가자 닉네임 및 방장 변경 WebSocket 알림 구현 (#456)
DDINGJOO Jan 20, 2026
783e07b
fix: ChatRoomFunction에 UserTable DynamoDB 권한 추가
DDINGJOO Jan 21, 2026
c485658
fix: GameSettings에 @DynamoDbBean 어노테이션 추가
DDINGJOO Jan 21, 2026
72cb6c8
fix: ChatRoomFunction에 WEBSOCKET_ENDPOINT 환경변수 및 권한 추가
DDINGJOO Jan 21, 2026
01ab0b8
fix: WebSocket Lambda 함수들에 WEBSOCKET_ENDPOINT 환경변수 추가
DDINGJOO Jan 21, 2026
4200e25
fix: Grammar WebSocket Lambda 환경 변수 및 권한 추가
DDINGJOO Jan 21, 2026
f934479
feat: GSI1SK 확장성 있는 재설계 및 DB 레벨 필터링
DDINGJOO Jan 21, 2026
c33628b
fix: increase stats query limit to 100 days
DDINGJOO Jan 21, 2026
4b4ac3d
feat: improve game round and connection management logic
DDINGJOO Jan 21, 2026
a37cddf
refactor: 코드 정리 및 미사용 클래스 제거 (#459)
DDINGJOO Jan 21, 2026
8a6817b
refactor(all): DI 패턴 및 전략 패턴 적용 (#461)
DDINGJOO Jan 21, 2026
abc6881
refactor: relocate and restructure seed data files
DDINGJOO Jan 21, 2026
f5fbee2
chore: seed 데이터 폴더 구조 정리
DDINGJOO Jan 21, 2026
602084e
feat: add CI/CD pipeline configuration for CodePipeline
DDINGJOO Jan 22, 2026
8d7b121
fix: add SNS topic policy and DependsOn for notification rule
DDINGJOO Jan 22, 2026
ddadae4
fix: correct paths in buildspec.yml for CodeBuild
DDINGJOO Jan 22, 2026
601c38e
fix: remove hardcoded JAVA_HOME, use runtime default
DDINGJOO Jan 22, 2026
6908218
fix: add gradle wrapper for CI/CD build
DDINGJOO Jan 22, 2026
285275a
fix: use single line sam package command with hardcoded bucket
DDINGJOO Jan 22, 2026
5ac4631
fix: use existing stack name group2-englishstudy-chatting
DDINGJOO Jan 22, 2026
a86fa9f
fix: add missing WEBSOCKET_ENDPOINT env var to WebSocket connect func…
DDINGJOO Jan 22, 2026
10abb55
merge: develop 브랜치 최신화
DDINGJOO Jan 22, 2026
fa36e9a
docs: update FRONTEND-API-GUIDE with new RoomType/RoomStatus structure
DDINGJOO Jan 22, 2026
8f7e9fd
fix: update WebSocketDisconnectHandler to use GameSession model
DDINGJOO Jan 22, 2026
28bd9e9
perf: optimize CI/CD build time
DDINGJOO Jan 22, 2026
88ad2d9
feat: add custom CodeBuild Docker image with pre-installed tools
DDINGJOO Jan 22, 2026
2b5f713
feature : AI 영어 회화 연습 기능 (#468)
hye-inA Jan 22, 2026
5941200
Merge remote-tracking branch 'origin/prod' into prod
DDINGJOO Jan 22, 2026
ca0fc53
fix: remove typo in SpeakingConnectionRepository
DDINGJOO Jan 22, 2026
be48ea5
chore: trigger build test with custom Docker image
DDINGJOO Jan 22, 2026
e4593d7
chore: remove unnecessary newlines and whitespace across WebSocket ha…
DDINGJOO Jan 22, 2026
0be34bd
chore: remove unnecessary newlines and whitespace across WebSocket ha…
DDINGJOO Jan 22, 2026
a433aea
fix: add CORS headers to API Gateway error responses (#479)
DDINGJOO Jan 22, 2026
c081f3b
feat(news): 뉴스 도메인 기반 구조 구축 (#385)
DDINGJOO Jan 22, 2026
45d7215
feat(news): 뉴스 수집 파이프라인 구현 (#386)
DDINGJOO Jan 22, 2026
343016d
refactor(news): NewsAPI 제거, RSS만 사용
DDINGJOO Jan 22, 2026
6300ddd
feat(news): AI 뉴스 분석 시스템 구현 (#387)
DDINGJOO Jan 22, 2026
212b044
feat(news): 뉴스 학습 API 구현 (#388)
DDINGJOO Jan 22, 2026
095f9f7
feat(news): 뉴스 학습 부가 기능 구현 (#389)
DDINGJOO Jan 22, 2026
e2f3ea1
feat(news): 복합 퀴즈 시스템 구현 (#471)
DDINGJOO Jan 22, 2026
8637924
feat(news): 단어 수집 & Vocabulary 연동 구현 (#472)
DDINGJOO Jan 22, 2026
5ec137d
feat: add multi-environment deployment support (dev/test/prod)
DDINGJOO Jan 22, 2026
5978cfb
fix: update buildspec.yml to deploy prod environment with parameter o…
DDINGJOO Jan 22, 2026
5311e3a
refactor : AI 말하기 Websocket 구현 -> REST API 구현으로 리팩토링 (#490)
hye-inA Jan 22, 2026
ecbb714
fix: revert buildspec.yml to build-only for CloudFormation deploy stage
DDINGJOO Jan 22, 2026
47d1233
merge: sync test with prod
DDINGJOO Jan 22, 2026
7098f03
fix: revert buildspec.yml to build-only for CloudFormation deploy stage
DDINGJOO Jan 22, 2026
df1f43d
fix: update all API Gateway StageName to use Environment parameter
DDINGJOO Jan 22, 2026
a3120fb
Merge branch 'prod' into test
DDINGJOO Jan 22, 2026
bc62f93
fix: correct VocabularyTable and ContentBucket references in NewsFunc…
DDINGJOO Jan 22, 2026
db1775b
fix: correct VocabularyTable and ContentBucket references in NewsFunc…
DDINGJOO Jan 22, 2026
fd3fbdf
Merge branch 'prod' into test
DDINGJOO Jan 22, 2026
a08e18d
fix: add stack name prefix to GameScheduleGroup and daily-stats sched…
DDINGJOO Jan 22, 2026
c0c150f
fix: add stack name prefix to GameScheduleGroup and daily-stats sched…
DDINGJOO Jan 22, 2026
0a18b50
feat: add support for existing Cognito User Pool reuse across environ…
DDINGJOO Jan 22, 2026
32baa82
Merge branch 'prod' into test
DDINGJOO Jan 22, 2026
44ab880
fix: add conditional Cognito ARN reference in API Gateway Authorizer
DDINGJOO Jan 22, 2026
d8789d8
Merge branch 'prod' into test
DDINGJOO Jan 22, 2026
e2d4a20
fix: remove Cognito resources completely, use existing Cognito only
DDINGJOO Jan 22, 2026
de4fc3e
fix: remove Cognito resources completely, use existing Cognito only
DDINGJOO Jan 22, 2026
20c56d4
Merge branch 'prod' into test
DDINGJOO Jan 22, 2026
725db48
feat: add S3 bucket resource and fix environment-specific endpoints
DDINGJOO Jan 22, 2026
f99b432
Merge branch 'prod' into test
DDINGJOO Jan 22, 2026
5b60e5d
fix: add stack name prefix to news-collection schedule name
DDINGJOO Jan 22, 2026
83d9aac
fix: add X-Requested-With and Accept headers to CORS config
DDINGJOO Jan 22, 2026
7e9db1d
fix: use environment variable for S3 bucket URLs
DDINGJOO Jan 22, 2026
0fe64ab
fix: disable authorizer for CORS preflight requests
DDINGJOO Jan 22, 2026
eff8db0
feat : speaking REST API 람다 함수 추가 (#491)
hye-inA Jan 22, 2026
2799459
feature : test 벡엔드 서버에 AI 말하기 연습 기능 배포 (#492)
hye-inA Jan 22, 2026
65289a7
feature : handleChat 메서드 JsonNull 체크 추가 (#493)
hye-inA Jan 22, 2026
545220e
feat(news): 뉴스 학습 배지 시스템 구현 (#473)
DDINGJOO Jan 23, 2026
2ce05ab
Merge pull request #494 from Language-Study-Prooject/feature/473/news…
DDINGJOO Jan 23, 2026
5e1fee9
fix: add PATCH method to CORS AllowMethods
DDINGJOO Jan 23, 2026
9b08689
merge: resolve conflicts with test branch
DDINGJOO Jan 23, 2026
c5a3df1
Merge pull request #495 from Language-Study-Prooject/develop
DDINGJOO Jan 23, 2026
a0443dc
test: BadgeType 개수 테스트 수정 (15 -> 29)
DDINGJOO Jan 23, 2026
a203d7c
Merge branch 'develop' into test
DDINGJOO Jan 23, 2026
72a1875
fix: CORS PATCH 메서드 추가
DDINGJOO Jan 23, 2026
0521c37
docs: 뉴스 기능 프론트엔드 연동 가이드 작성
DDINGJOO Jan 23, 2026
537e35d
fix: NewsCollectionFunction에 Bedrock, Comprehend 권한 추가
DDINGJOO Jan 23, 2026
e30b784
fix: add null check for collectWord request body
DDINGJOO Jan 23, 2026
9d29b26
feat: enhance stats API and bookmark response for frontend
DDINGJOO Jan 23, 2026
59de449
feat: add category classification to news AI analysis
DDINGJOO Jan 23, 2026
5eb27c4
fix: add /stats/dashboard endpoint to template.yaml
DDINGJOO Jan 23, 2026
ec4460b
fix: filter by ARTICLE# prefix in findById to avoid returning UserNew…
DDINGJOO Jan 23, 2026
69ad235
docs: add News API troubleshooting guide
DDINGJOO Jan 23, 2026
19b0128
feat: add Cognito authorizer to News API and enhance keyword extraction
DDINGJOO Jan 23, 2026
6dc9433
Merge branch 'test' into prod
DDINGJOO Jan 23, 2026
cdf0ebd
Revert "Merge branch 'test' into prod"
DDINGJOO Jan 23, 2026
622b414
feat: enhance bookmark and reading status tracking for News API
DDINGJOO Jan 23, 2026
6ae045c
fix : sessionId NullPointerException 에러 수정 (#496)
hye-inA Jan 23, 2026
0673161
feat: enhance bookmark and reading status tracking for News API
DDINGJOO Jan 23, 2026
416c981
feat: add category filtering to UserWord API with enhanced query logic
DDINGJOO Jan 23, 2026
9876c03
feat: add default value for ExistingCognitoClientId in template.yaml
DDINGJOO Jan 23, 2026
15d4da9
Merge prod into test: resolve conflicts keeping test features
DDINGJOO Jan 23, 2026
52cf911
fix: SpeakingHandler getStringOrNull 컴파일 에러 수정
DDINGJOO Jan 23, 2026
7b8d703
fix: Bedrock 키워드(meaningKo 포함)를 article에 저장하도록 수정
DDINGJOO Jan 23, 2026
c941951
fix: Bedrock 키워드(meaningKo 포함)를 article에 저장하도록 수정
DDINGJOO Jan 23, 2026
e333136
feat: add dashboard stats API and enhance news stats tracking
DDINGJOO Jan 23, 2026
f3133f7
Merge prod into develop: sync all latest features
DDINGJOO Jan 23, 2026
831e638
feat: add dashboard stats API and enhance news stats tracking
DDINGJOO Jan 23, 2026
3fe854a
feat: add dashboard stats API and enhance news stats tracking
DDINGJOO Jan 23, 2026
f382cf8
refactor: format code with consistent indentation and spacing
DDINGJOO Jan 23, 2026
ebc65ab
fix: filter by ARTICLE# prefix in findById to avoid returning bookmar…
DDINGJOO Jan 23, 2026
e5cec27
feat: add real-time notification system with SNS/SQS and Lambda Strea…
DDINGJOO Jan 23, 2026
6ae9936
feat: add streak reminder and game end notifications
DDINGJOO Jan 23, 2026
e4058ca
refactor: extract config classes and apply DRY principle to news/noti…
DDINGJOO Jan 23, 2026
c43e908
test: add Spock specs for notification and news domain configs
DDINGJOO Jan 23, 2026
ef6612b
Merge pull request #510 from Language-Study-Prooject/feature/499/noti…
DDINGJOO Jan 23, 2026
08057ab
feat: 채팅 슬래시 명령어 시스템 고도화
DDINGJOO Jan 24, 2026
4dcdf67
Merge pull request #521 from Language-Study-Prooject/feature/517-chat…
DDINGJOO Jan 24, 2026
354fd47
feat: implement word chain (끝말잇기) game with dictionary API integration
DDINGJOO Jan 24, 2026
6b35474
Merge pull request #530 from Language-Study-Prooject/feature/523-word…
DDINGJOO Jan 24, 2026
761585d
fix: update ChattingErrorCodeSpec to include new error codes
DDINGJOO Jan 24, 2026
84222d5
fix: add UserTable read permission to WebSocket Lambda
DDINGJOO Jan 24, 2026
9f2bcbb
fix: add Bedrock permission to NewsCollectionFunction
DDINGJOO Jan 24, 2026
4d8a597
fix: fallback to yesterday's news when today's news is empty
DDINGJOO Jan 24, 2026
b06a91e
feature : 채팅 도메인 닉네임 조회용 메서드 추가 (#534)
hye-inA Jan 24, 2026
02a20a5
fix: test 환경 Cognito User Pool을 prod와 동일하게 통일
DDINGJOO Jan 25, 2026
bddc6e0
fix: add Cognito parameters to CI/CD buildspec and wordchain turnTime…
DDINGJOO Jan 25, 2026
2e5bb39
Merge pull request #537 from Language-Study-Prooject/fix/unify-cognit…
DDINGJOO Jan 25, 2026
3c35735
fix: update GameSettingsTest for turnTimeLimit field
DDINGJOO Jan 25, 2026
112a42e
fix: update WordChainSessionSpec for new time calculation logic
DDINGJOO Jan 25, 2026
b89b01e
feature : Cognito Authorizer(토큰)에서 닉네임을 추출 + DB에 저장 (#543)
hye-inA Jan 25, 2026
c3abb9a
feature : 채팅메세지에 nickname 필드 추가 (#545)
hye-inA Jan 26, 2026
db64b15
featrue : 브로드캐스트 메시지에 nickname 추가 (#547)
hye-inA Jan 26, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions ServerlessFunction/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ dependencies {
implementation 'software.amazon.awssdk:url-connection-client'
implementation 'software.amazon.awssdk:ssm'
implementation 'software.amazon.awssdk:scheduler'
implementation 'software.amazon.awssdk:sqs'

// AWS X-Ray SDK (다운스트림 서비스 추적용)
implementation 'com.amazonaws:aws-xray-recorder-sdk-core:2.15.0'
Expand Down
5 changes: 4 additions & 1 deletion ServerlessFunction/buildspec-dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,10 @@ phases:
--capabilities CAPABILITY_IAM CAPABILITY_AUTO_EXPAND \
--no-confirm-changeset \
--no-fail-on-empty-changeset \
--parameter-overrides Environment=$ENVIRONMENT
--parameter-overrides \
Environment=$ENVIRONMENT \
ExistingCognitoUserPoolId=ap-northeast-2_ezDwzFCzR \
ExistingCognitoClientId=4ns077jcr1pkue2vvisr6qdpu5
- echo "Deployment completed on $(date)"

cache:
Expand Down
23 changes: 8 additions & 15 deletions ServerlessFunction/buildspec-prod.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ env:
SAM_CLI_TELEMETRY: 0
GRADLE_OPTS: "-Dorg.gradle.daemon=false -Dorg.gradle.parallel=true -Dorg.gradle.caching=true"
ENVIRONMENT: prod
STACK_NAME: group2-englishstudy-prod

phases:
install:
Expand All @@ -28,23 +27,17 @@ phases:
- echo "Building SAM application for $ENVIRONMENT..."
- cd $CODEBUILD_SRC_DIR/ServerlessFunction
- sam build --parallel --cached
- echo "Build completed"
- echo "Packaging SAM application..."
- sam package --s3-bucket group2-englishstudy-pipeline-artifacts --s3-prefix sam-packages/$ENVIRONMENT --output-template-file packaged-template.yaml

post_build:
commands:
- echo "Deploying to $ENVIRONMENT environment..."
- cd $CODEBUILD_SRC_DIR/ServerlessFunction
- |
sam deploy \
--stack-name $STACK_NAME \
--s3-bucket group2-englishstudy-pipeline-artifacts \
--s3-prefix sam-deploy/prod \
--region ap-northeast-2 \
--capabilities CAPABILITY_IAM CAPABILITY_AUTO_EXPAND \
--no-confirm-changeset \
--no-fail-on-empty-changeset \
--parameter-overrides Environment=$ENVIRONMENT
- echo "Deployment completed on $(date)"
- echo "Build completed on $(date)"

artifacts:
files:
- packaged-template.yaml
base-directory: ServerlessFunction

cache:
paths:
Expand Down
23 changes: 8 additions & 15 deletions ServerlessFunction/buildspec-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ env:
SAM_CLI_TELEMETRY: 0
GRADLE_OPTS: "-Dorg.gradle.daemon=false -Dorg.gradle.parallel=true -Dorg.gradle.caching=true"
ENVIRONMENT: test
STACK_NAME: group2-englishstudy-test

phases:
install:
Expand All @@ -28,23 +27,17 @@ phases:
- echo "Building SAM application for $ENVIRONMENT..."
- cd $CODEBUILD_SRC_DIR/ServerlessFunction
- sam build --parallel --cached
- echo "Build completed"
- echo "Packaging SAM application..."
- sam package --s3-bucket group2-englishstudy-pipeline-artifacts --s3-prefix sam-packages/$ENVIRONMENT --output-template-file packaged-template.yaml

post_build:
commands:
- echo "Deploying to $ENVIRONMENT environment..."
- cd $CODEBUILD_SRC_DIR/ServerlessFunction
- |
sam deploy \
--stack-name $STACK_NAME \
--resolve-s3 \
--s3-prefix $STACK_NAME \
--region ap-northeast-2 \
--capabilities CAPABILITY_IAM CAPABILITY_AUTO_EXPAND \
--no-confirm-changeset \
--no-fail-on-empty-changeset \
--parameter-overrides Environment=$ENVIRONMENT
- echo "Deployment completed on $(date)"
- echo "Build completed on $(date)"

artifacts:
files:
- packaged-template.yaml
base-directory: ServerlessFunction

cache:
paths:
Expand Down
26 changes: 9 additions & 17 deletions ServerlessFunction/buildspec.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@ env:
variables:
SAM_CLI_TELEMETRY: 0
GRADLE_OPTS: "-Dorg.gradle.daemon=false -Dorg.gradle.parallel=true -Dorg.gradle.caching=true"
ENVIRONMENT: prod
STACK_NAME: group2-englishstudy-prod

phases:
install:
Expand All @@ -25,26 +23,20 @@ phases:

build:
commands:
- echo "Building SAM application for $ENVIRONMENT..."
- echo "Building SAM application..."
- cd $CODEBUILD_SRC_DIR/ServerlessFunction
- sam build --parallel --cached
- echo "Build completed"
- echo "Packaging SAM application..."
- sam package --s3-bucket group2-englishstudy-pipeline-artifacts --s3-prefix sam-packages --output-template-file packaged-template.yaml

post_build:
commands:
- echo "Deploying to $ENVIRONMENT environment..."
- cd $CODEBUILD_SRC_DIR/ServerlessFunction
- |
sam deploy \
--stack-name $STACK_NAME \
--s3-bucket group2-englishstudy-pipeline-artifacts \
--s3-prefix sam-deploy/prod \
--region ap-northeast-2 \
--capabilities CAPABILITY_IAM CAPABILITY_AUTO_EXPAND \
--no-confirm-changeset \
--no-fail-on-empty-changeset \
--parameter-overrides Environment=$ENVIRONMENT
- echo "Deployment completed on $(date)"
- echo "Build completed on $(date)"

artifacts:
files:
- packaged-template.yaml
base-directory: ServerlessFunction

cache:
paths:
Expand Down
Loading