Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
d7872f7
[FEAT] 메인 레이아웃 구현
DDINGJOO Jan 6, 2026
5f8211e
Merge pull request #19 from Language-Study-Prooject/feature/1/2/6/log…
DDINGJOO Jan 6, 2026
c0f1a72
[FEAT] Sidebar 메뉴 계층 구조 개선
DDINGJOO Jan 6, 2026
3de5b6b
[FEAT] 면접 시뮬레이션 메뉴 제거
DDINGJOO Jan 6, 2026
6bdb2b5
[FEAT] 프리토킹(사람들과) 채팅방 리스트 페이지 구현
DDINGJOO Jan 6, 2026
7b29d50
Merge pull request #27 from Language-Study-Prooject/feature/24/25/26/…
DDINGJOO Jan 6, 2026
6f3ed4e
[FEAT] Sidebar 메뉴 카테고리 구조 변경
DDINGJOO Jan 6, 2026
3c7d786
[FEAT] Dashboard 카드 카테고리 구조 변경
DDINGJOO Jan 6, 2026
aeb3e5e
[FEAT] Dashboard 카드 호버 시 하위 카테고리 표시
DDINGJOO Jan 6, 2026
c3e1729
[FIX] Dashboard 카드 레이아웃 Grid로 변경
DDINGJOO Jan 6, 2026
0c9a8cc
Merge pull request #30 from Language-Study-Prooject/feature/28/menu-c…
DDINGJOO Jan 6, 2026
b5ee18f
[FEAT] ChatRoomCard 높이 일정하게 변경
DDINGJOO Jan 6, 2026
26ce9b0
[FIX] ChatRoomCard 가로/세로 크기 통일
DDINGJOO Jan 6, 2026
37ea06a
[FIX] ChatRoomCard 고정 높이 적용
DDINGJOO Jan 6, 2026
4402051
[FIX] ChatRoomCard 참여자 프로필 제거 및 너비 고정
DDINGJOO Jan 6, 2026
db07f45
[FIX] ChatRoomCard 레이아웃 개선
DDINGJOO Jan 6, 2026
f06bfae
[FIX] 생성일 라벨 추가
DDINGJOO Jan 6, 2026
34dc7dd
[FEAT] ChatRoomCard UI 개선
DDINGJOO Jan 6, 2026
c758b49
[FEAT] 채팅방 입장 모달 및 필터 추가
DDINGJOO Jan 6, 2026
0a47451
Merge pull request #32 from Language-Study-Prooject/fix/31/chatroom-c…
DDINGJOO Jan 6, 2026
d59ea7f
[FEAT] Chat API 연동 기반 구축
DDINGJOO Jan 6, 2026
379820f
[FEAT] 채팅방 목록/생성/입장 API 연동 및 채팅 UI 구현
DDINGJOO Jan 6, 2026
4d1cc2a
[FEAT] 전역 채팅 모달 및 TTS 기능 구현
DDINGJOO Jan 6, 2026
1a0bf22
Merge pull request #46 from Language-Study-Prooject/feature/40/41/42/…
DDINGJOO Jan 6, 2026
9792cd3
[FIX] 채팅 모달 최소화 시 우측 하단 이동
DDINGJOO Jan 6, 2026
bc76986
Merge pull request #48 from Language-Study-Prooject/fix/47/chat-modal…
DDINGJOO Jan 6, 2026
c9b4e35
[FEAT] TTS 음성 선택 기능 구현
DDINGJOO Jan 6, 2026
7fa39ad
Merge pull request #50 from Language-Study-Prooject/feature/49/tts-vo…
DDINGJOO Jan 6, 2026
6185619
[CR] TTS API 변경 대응 (#53)
DDINGJOO Jan 7, 2026
442a8e5
Merge pull request #54 from Language-Study-Prooject/feature/53/tts-ap…
DDINGJOO Jan 7, 2026
03ac906
[FIX] 채팅 모달 최소화 후 펼칠 때 스크롤 맨 아래로 유지 (#55)
DDINGJOO Jan 7, 2026
74cb7aa
Merge pull request #56 from Language-Study-Prooject/fix/55/chat-modal…
DDINGJOO Jan 7, 2026
002b09d
[FEAT] Vocab API 서비스 레이어 구축 (#58) (#99)
DDINGJOO Jan 7, 2026
6407921
[FEAT] 단어 학습 대시보드 구현 (#59) (#100)
DDINGJOO Jan 7, 2026
d47a214
[FEAT] 일일 학습 (플래시카드) 구현 (#60) (#101)
DDINGJOO Jan 7, 2026
839a8f8
[FEAT] 단어 시험 기능 구현 (#61) (#102)
DDINGJOO Jan 7, 2026
677cbe6
[FEAT] 단어장 (Word List) 기능 구현 (#62) (#104)
DDINGJOO Jan 7, 2026
cc202b3
[FEAT] 학습 통계 페이지 구현 (#63) (#105)
DDINGJOO Jan 7, 2026
b12178a
[FEAT] 단어장 학습 통계 및 UI/UX 개선 (#57, #63) (#106)
DDINGJOO Jan 13, 2026
13e07ad
feat(grammar): 문법 검사 페이지 UI 구현 (#120)
DDINGJOO Jan 14, 2026
e7b58b4
[FEAT] 배지 시스템 구현 (#121, #122) (#126)
DDINGJOO Jan 14, 2026
2c62035
[FEAT] 문법 교정 채팅 스트리밍 UI 구현 (#128) (#130)
DDINGJOO Jan 14, 2026
98fbd24
[FEAT] Grammar WebSocket 스트리밍 서비스 구현 (#127) (#129)
DDINGJOO Jan 14, 2026
541cb4c
feature : jira issue, PR 연동 workflow 작성 (#131)
hye-inA Jan 14, 2026
8dd84c1
refactor : jira issue, pr workflow refactorting (#133)
hye-inA Jan 14, 2026
4478095
[REFACTOR] Adjust code formatting for improved readability and consis…
DDINGJOO Jan 15, 2026
c8f53c2
feat : issue 수정/병합시 JIra에 반영 workflow 코드 추가 (#134)
hye-inA Jan 15, 2026
7232732
refactor : Update Jira Issue 단계 환경변수 설정 리팩토링 (#140)
hye-inA Jan 15, 2026
659fc05
Merge branch 'main' into develop
hye-inA Jan 15, 2026
edee86b
refactor : issue 본문 특수문자 에러 수정 (#145)
hye-inA Jan 15, 2026
3450857
feat(freetalk): 채팅방 투명도 조절 기능 구현 (#150) (#152)
DDINGJOO Jan 15, 2026
8d8dd16
feat(freetalk): 채팅방 투명도 조절 기능 구현 (#154)
DDINGJOO Jan 15, 2026
2ab86ed
feat : 로그인 기능 구현 및 JWT 토큰 관리 (#155)
hye-inA Jan 16, 2026
020817c
refactor : 본문에 특수문자 에러 처리 (#156)
hye-inA Jan 16, 2026
43a3503
[FEAT] Real-time chat WebSocket integration and related enhancements
DDINGJOO Jan 16, 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
50 changes: 34 additions & 16 deletions .github/workflows/github-jira-issue-sync.yml
Original file line number Diff line number Diff line change
Expand Up @@ -126,34 +126,51 @@ jobs:
if: steps.check-jira.outputs.result == 'false'
id: description
uses: actions/github-script@v7
env:
TEMPLATE_TYPE: ${{ steps.parse.outputs.template_type }}
ISSUE_URL: ${{ github.event.issue.html_url }}
ISSUE_AUTHOR: ${{ github.event.issue.user.login }}
FIELD_GOAL: ${{ steps.parse.outputs.goal }}
FIELD_SCOPE: ${{ steps.parse.outputs.scope }}
FIELD_BREAKDOWN: ${{ steps.parse.outputs.breakdown }}
FIELD_BACKGROUND: ${{ steps.parse.outputs.background }}
FIELD_AC: ${{ steps.parse.outputs.ac }}
FIELD_DESIGN: ${{ steps.parse.outputs.design }}
FIELD_PARENT: ${{ steps.parse.outputs.parent }}
FIELD_CHANGE: ${{ steps.parse.outputs.change }}
FIELD_IMPACT: ${{ steps.parse.outputs.impact }}
FIELD_TIMEBOX: ${{ steps.parse.outputs.timebox }}
FIELD_QUESTIONS: ${{ steps.parse.outputs.questions }}
with:
script: |
const templateType = '${{ steps.parse.outputs.template_type }}';
const templateType = process.env.TEMPLATE_TYPE || 'task';
const issueUrl = process.env.ISSUE_URL || '';
const author = process.env.ISSUE_AUTHOR || '';

let desc = `h3. GitHub Issue\n${{ github.event.issue.html_url }}\n\nh3. Author\n${{ github.event.issue.user.login }}\n\n`;
let desc = 'h3. GitHub Issue\n' + issueUrl + '\n\nh3. Author\n' + author + '\n\n';

switch (templateType) {
case 'epic':
desc += `h3. 목표\n${{ steps.parse.outputs.goal }}\n\n`;
desc += `h3. 범위\n${{ steps.parse.outputs.scope }}\n\n`;
desc += `h3. 하위 스토리\n${{ steps.parse.outputs.breakdown }}\n`;
desc += 'h3. 목표\n' + (process.env.FIELD_GOAL || '-') + '\n\n';
desc += 'h3. 범위\n' + (process.env.FIELD_SCOPE || '-') + '\n\n';
desc += 'h3. 하위 스토리\n' + (process.env.FIELD_BREAKDOWN || '-') + '\n';
break;
case 'story':
desc += `h3. 배경\n${{ steps.parse.outputs.background }}\n\n`;
desc += `h3. 수용 기준(AC)\n${{ steps.parse.outputs.ac }}\n\n`;
desc += `h3. 디자인\n${{ steps.parse.outputs.design }}\n`;
desc += 'h3. 배경\n' + (process.env.FIELD_BACKGROUND || '-') + '\n\n';
desc += 'h3. 수용 기준(AC)\n' + (process.env.FIELD_AC || '-') + '\n\n';
desc += 'h3. 디자인\n' + (process.env.FIELD_DESIGN || '-') + '\n';
break;
case 'cr':
desc += `h3. 제안 변경 사항\n${{ steps.parse.outputs.change }}\n\n`;
desc += `h3. 영향도\n${{ steps.parse.outputs.impact }}\n`;
desc += 'h3. 제안 변경 사항\n' + (process.env.FIELD_CHANGE || '-') + '\n\n';
desc += 'h3. 영향도\n' + (process.env.FIELD_IMPACT || '-') + '\n';
break;
case 'spike':
desc += `h3. 타임박스\n${{ steps.parse.outputs.timebox }}\n\n`;
desc += `h3. 핵심 질문\n${{ steps.parse.outputs.questions }}\n`;
desc += 'h3. 타임박스\n' + (process.env.FIELD_TIMEBOX || '-') + '\n\n';
desc += 'h3. 핵심 질문\n' + (process.env.FIELD_QUESTIONS || '-') + '\n';
break;
default: // task
desc += `h3. 연결된 Story/Epic\n${{ steps.parse.outputs.parent }}\n\n`;
desc += `h3. 작업 범위\n${{ steps.parse.outputs.scope }}\n`;
default:
desc += 'h3. 연결된 Story/Epic\n' + (process.env.FIELD_PARENT || '-') + '\n\n';
desc += 'h3. 작업 범위\n' + (process.env.FIELD_SCOPE || '-') + '\n';
}

core.setOutput('content', desc);
Expand Down Expand Up @@ -289,11 +306,12 @@ jobs:
JIRA_BASE_URL: ${{ secrets.JIRA_BASE_URL }}
JIRA_API_TOKEN: ${{ secrets.JIRA_API_TOKEN }}
JIRA_USER_EMAIL: ${{ secrets.JIRA_USER_EMAIL }}
DESC_JSON: ${{ steps.parse.outputs.description }}
with:
script: |
const jiraKey = '${{ steps.get-jira-key.outputs.jira_key }}';
const issue = context.payload.issue;
const descContent = ${{ steps.parse.outputs.description }};
const descContent = JSON.parse(process.env.DESC_JSON);

const response = await fetch(
`${process.env.JIRA_BASE_URL}/rest/api/3/issue/${jiraKey}`,
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/github-jira-pr-sync.yml
Original file line number Diff line number Diff line change
Expand Up @@ -204,11 +204,13 @@ jobs:
JIRA_BASE_URL: ${{ secrets.JIRA_BASE_URL }}
JIRA_API_TOKEN: ${{ secrets.JIRA_API_TOKEN }}
JIRA_USER_EMAIL: ${{ secrets.JIRA_USER_EMAIL }}
DESC_JSON: ${{ steps.parse.outputs.description }}

with:
script: |
const jiraKey = '${{ steps.get-jira-key.outputs.jira_key }}';
const pr = context.payload.pull_request;
const descContent = ${{ steps.parse.outputs.description }};
const descContent = JSON.parse(process.env.DESC_JSON);

const response = await fetch(
`${process.env.JIRA_BASE_URL}/rest/api/3/issue/${jiraKey}`,
Expand Down
Loading