Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
897 commits
Select commit Hold shift + click to select a range
b0b6d90
Feat: course action 커스텀 훅에서 util로 변경 #171
DrCloy Feb 19, 2025
3694a93
Chore: model & CourseRepository 누락된 변경 처리 #171
DrCloy Feb 19, 2025
a3b0da2
Fix: 실제 배포 환경에 맞게 도메인 주소 변경 #154
sunohkim Feb 19, 2025
ae13286
Chore: 로그 출력 시 오타 수정 #154
sunohkim Feb 19, 2025
b1e8cf3
Fix: 불필요한 body를 응답하는 상태 코드 수정 #154
sunohkim Feb 19, 2025
f4102ce
Chore: 사용되지 않는 import 문 삭제 #154
sunohkim Feb 19, 2025
a3eff5c
Merge branch 'dev' into feat/be/mesage-sending
sunohkim Feb 19, 2025
6a32182
Merge pull request #174 from softeer5th/feat/be/mesage-sending
sunohkim Feb 19, 2025
26910fe
Fix: 사용하지 않는 클래스 제거 #180
sunohkim Feb 19, 2025
b423162
Revert "Fix: 사용하지 않는 클래스 제거 #180"
sunohkim Feb 19, 2025
c8e6fd6
Fix: 사용하지 않는 클래스 제거 #180
sunohkim Feb 19, 2025
2895af7
Merge pull request #181 from softeer5th/bug/be/merge-conflict
sunohkim Feb 19, 2025
f095471
Feat: student Error 핸들링 분리 #173
wwweric12 Feb 19, 2025
a6760c6
Feat: 학생 수업 참가 API 구현 #173
wwweric12 Feb 19, 2025
a63ae87
Merge pull request #183 from softeer5th/feat/fe/student-enter
DrCloy Feb 19, 2025
caf7e9b
Chore: model type 수정 #176
wwweric12 Feb 19, 2025
3bed1b5
Feat: 학생 강의페이지 fetch 구현 #176
wwweric12 Feb 19, 2025
7b37a27
Fix: success popup 모달 수정 #176
wwweric12 Feb 19, 2025
0b7eb3e
Feat: 학생 강의 페이지 에러 핸들링 구현 #176
wwweric12 Feb 19, 2025
5a03d57
Chore: modal type null 추가 176
wwweric12 Feb 19, 2025
cf156fa
Merge pull request #184 from softeer5th/feature/fe/student-class
wwweric12 Feb 19, 2025
2b7d465
Feat: 페이지 에러 팝업 로직 분리 #171
DrCloy Feb 19, 2025
2ee7d4f
Fix: 학생 수업 입장 시 리다이렉트 주소 수정 #182
sunohkim Feb 19, 2025
03ceccc
Feat: 교수 질문 체크 기능 구현 #182
sunohkim Feb 19, 2025
adfd6be
Chore: 사용하지 않는 메서드 삭제 #182
sunohkim Feb 19, 2025
91a3056
Feat: 학생 질문 체크 API 구현 #182
sunohkim Feb 19, 2025
13b9e17
Refactor: SseMessageSender.sendMessage 파라미터 타입 수정 #182
sunohkim Feb 19, 2025
a07bc9c
Feat: 학생 사용자가 질문 체크를 할 때 JPQL을 통해 업데이트하도록 기능 추가 #182
sunohkim Feb 19, 2025
1544567
Feat: 질문 체크 과정에서 발생할 수 있는 에러코드 추가 #182
sunohkim Feb 19, 2025
37f88a6
Feat: 질문 체크 데이터를 SSE 통신으로 보내기 위한 dto 생성 #182
sunohkim Feb 19, 2025
0eceea8
Fix: isComplete 컬럼을 외부에서 수정 가능하도록 Setter annotation 추가 #182
sunohkim Feb 19, 2025
4357d62
Feat: 서버가 학생에게 SSE 메시지를 전송할 수 있도록 path 추가 #182
sunohkim Feb 19, 2025
f0cd13a
Feat: SSE 서버 Swagger 연동 기능 추가 #186
sunohkim Feb 19, 2025
dbe5a29
Feat: SSE 메시지 일괄 전송 기능 추가 #186
sunohkim Feb 19, 2025
641e4b2
Feat: SSE 연결 성공 시 초기 메시지 전송 기능 추가 #186
sunohkim Feb 19, 2025
06a88ac
Feat: 수업 종료 시 종료 메시지를 SSE 서버에 보내는 기능 추가 #186
sunohkim Feb 19, 2025
40d2d6d
Feat: 수업 검색 기능 추가 #187
sunohkim Feb 19, 2025
a7a43c0
Feat: 검색 결과 응답을 위한 dto 생성 #187
sunohkim Feb 19, 2025
35d4b32
Feat: 검색 JPQL 생성 #187
sunohkim Feb 19, 2025
4a3d1c3
Merge branch 'dev' into feat/fe/professor-course-backend
DrCloy Feb 20, 2025
f250207
Merge pull request #185 from softeer5th/feat/fe/professor-course-backend
wwweric12 Feb 20, 2025
5a80912
Chore: notfound 오타 수정 #193
wwweric12 Feb 20, 2025
02a13ae
Chore: model 수정 사항 반영 #191
DrCloy Feb 20, 2025
9a298e0
Feat: 활성화된 수업 정보를 담을 DTO 추가 #192
uri010 Feb 20, 2025
73d0f03
Feat: 활성화된 수업 조회시 수업에 대한 추가 정보 전송 #192
uri010 Feb 20, 2025
943bb61
Feat: 숫자형 텍스트 타입 변환 parseInt로 변경 #191
DrCloy Feb 20, 2025
6fb14cb
Chore: 안쓰는 메서드 삭제 #192
uri010 Feb 20, 2025
9850191
Refactor: utils, professorError 리팩토링 및 ProfessorLoading 페이지 이동 #191
DrCloy Feb 20, 2025
fbf17a0
Feat: 활성화된 수업 조회 API 리다이렉트 연결 #191
DrCloy Feb 20, 2025
ee64761
Chore: 교수 로딩 페이지 스타일 수정 #191
DrCloy Feb 20, 2025
2ce3e62
Refactor: professorError 리팩토링 반영 #191
DrCloy Feb 20, 2025
6c99dc9
Refactor: util 및 에러 처리 리팩토링 반영 #191
DrCloy Feb 20, 2025
5e76fe2
Fix: 질문 체크 로직 내 트랜잭션 분리 #182
sunohkim Feb 20, 2025
c60a63a
Fix: 불필요한 예외 핸들러 제거 #182
sunohkim Feb 20, 2025
e17363b
Chore: 사용되지 않은 import 문 제거 #182
sunohkim Feb 20, 2025
015dbb7
Fix: 회원 탈퇴시 파일 값 존재 여부 확인 후 S3에 삭제 요청 전송 #196
uri010 Feb 20, 2025
69817a2
Refactor: 타입 처리 방식 변경 #191
DrCloy Feb 20, 2025
533443a
Merge pull request #188 from softeer5th/feat/be/question-check
sunohkim Feb 20, 2025
5437bcc
Merge pull request #195 from softeer5th/feat/fe/professor-backend
wwweric12 Feb 20, 2025
fc2c41d
Merge branch 'dev' into feat/be/course-end
sunohkim Feb 20, 2025
7b8a747
Merge pull request #189 from softeer5th/feat/be/course-end
sunohkim Feb 20, 2025
e0aecac
Fix: 검색 내용에 와일드카드 문자가 들어갈 경우를 고려해 이스케이프 처리 #187
sunohkim Feb 20, 2025
34a329f
Fix: Merge 과정에서 발생한 문제 해결 #198
sunohkim Feb 20, 2025
3c66f2d
Merge pull request #199 from softeer5th/fix/be/merge-conflict
sunohkim Feb 20, 2025
a276983
Fix: SSE 연결 성공 시 초기 메시지 전송이 되지 않는 문제 수정 #200
sunohkim Feb 20, 2025
9540521
Chore: 불필요한 메서드 삭제 #200
sunohkim Feb 20, 2025
a6740c4
Merge pull request #201 from softeer5th/fix/be/sse-init-message
sunohkim Feb 20, 2025
4ecb739
Fix: Course에 파일이 저장되어 있는지 여부를 확인하고 s3에서 삭제 #196
uri010 Feb 20, 2025
f4e99d1
Chore: SSE 관련 서버에서 CORS 허용 #202
uri010 Feb 20, 2025
5669ef4
Merge pull request #190 from softeer5th/feat/be/course-search
sunohkim Feb 20, 2025
f4d3502
Merge pull request #197 from softeer5th/fix/be/delete-professor
uri010 Feb 20, 2025
3b0a69f
Merge pull request #203 from softeer5th/fix/be/sse-cors
uri010 Feb 20, 2025
1f1ef93
Merge branch 'dev' into feat/be/active-course
uri010 Feb 20, 2025
e22c506
Merge pull request #194 from softeer5th/feat/be/active-course
uri010 Feb 20, 2025
59e50c0
Fix: 질문 조회 시 해결된 질문까지 조회하는 문제 해결 #205
sunohkim Feb 20, 2025
6ac4241
Fix: 질문 데이터가 삭제되는 경우 추가 #205
sunohkim Feb 20, 2025
97d6b7a
Merge pull request #206 from softeer5th/fix/be/question
sunohkim Feb 20, 2025
3b99129
Fix: 교수의 질문 조회 시 해결된 질문까지 조회되는 문제 해결 #205
sunohkim Feb 20, 2025
51078e3
Merge pull request #207 from softeer5th/fix/be/professor-question
sunohkim Feb 20, 2025
880b6d6
Feat: 학생 SSE 구현 #193
wwweric12 Feb 20, 2025
d5035b9
Chore: student popup 추가 #193
wwweric12 Feb 20, 2025
8a7eb8f
Chore: 수업 검색 시 keyword가 비어 있을 경우 명시적으로 처리하게끔 수정 #187
sunohkim Feb 20, 2025
becfe97
Chore: 줄바꿈 수정 #187
sunohkim Feb 20, 2025
e6dec98
Feat: 교수 실시간 페이지 SSE 연동 #210
DrCloy Feb 20, 2025
23b4c5c
Merge pull request #209 from softeer5th/feat/fe/student-sse
DrCloy Feb 20, 2025
d6117eb
Merge pull request #211 from softeer5th/feat/fe/professor-sse
wwweric12 Feb 20, 2025
91331ae
Feat: 반응 및 요청하기 로컬스토리지에 저장하도록 구현 #212
wwweric12 Feb 20, 2025
0a6d93b
Feat: 교수 유저 데이터 캐싱 추가 #213
DrCloy Feb 20, 2025
9f8ebcd
Fix: 질문 전송 API 내 트랜잭션 적용 범위 수정 #182
sunohkim Feb 20, 2025
f1ecaa3
Fix: 요청 전송 API 내 트랜잭션 적용 범위 수정 #182
sunohkim Feb 20, 2025
6584106
Chore: 사용되지 않는 import문 삭제 #182
sunohkim Feb 20, 2025
9bb309d
Refactor: 서버에서 return 해준 data type 맞추도록 구현 #212
wwweric12 Feb 20, 2025
23bef6c
Merge pull request #214 from softeer5th/feat/fe/professor-user-cache
wwweric12 Feb 20, 2025
61e3ed8
Fix: 트랜잭션 처리 개선 #182
sunohkim Feb 20, 2025
007c42c
Merge pull request #215 from softeer5th/feat/fe/student-block
DrCloy Feb 20, 2025
640335e
Fix: 오늘 강의 리스트 없을 때 사이즈 유지 #216
DrCloy Feb 20, 2025
321fccd
Fix: 모달 스타일 및 핸들링 순서 변경 #216
DrCloy Feb 20, 2025
2c2df85
Fix: 파일 업로드 모달 로직 순서 변경 #216
DrCloy Feb 21, 2025
c2d08a3
Fix: 모달 바깥쪽을 클릭했을 때 모달이 꺼지지 않게 변경 #216
DrCloy Feb 21, 2025
0c3bc13
Fix: 파일 업로드 모달 파일명 길어질 경우 ...으로 처리 #216
DrCloy Feb 21, 2025
2c23502
Fix: 강의 카드 버튼 호버 시 팝업 애니메이션 추가 #216
DrCloy Feb 21, 2025
7a47e9c
Fix: 강의 생성 시 홈 페이지 새로고침 추가 #216
DrCloy Feb 21, 2025
5be59a8
Fix: 강의 수정 시 로직 순서 변경 #216
DrCloy Feb 21, 2025
b807025
Feat: utcToKst 구현 #219
wwweric12 Feb 21, 2025
f35f4db
Chore: sse api proxy로 설정 #219
wwweric12 Feb 21, 2025
34ca849
Fix: 강의 일정 넘치는 부분 ...으로 표시 #216
DrCloy Feb 21, 2025
677a7aa
Fix: SSE Proxy 적용되게 변경 #216
DrCloy Feb 21, 2025
164047b
Feat: Course와 관련된 Request의 count 0으로 초기화하는 쿼리 추가 #204
uri010 Feb 21, 2025
68c4588
Fix: 필요 없는 console.log 제거 #216
DrCloy Feb 21, 2025
8369261
Fix: 이미 활성화된 수업을 활성화하는 경우 예외 처리 제거 #204
uri010 Feb 21, 2025
91d3b14
Feat: 로그인한 교수의 활성화된 모든 수업들을 찾는 쿼리 추가 #204
uri010 Feb 21, 2025
1bd6b89
Fix: studentLayout #219
wwweric12 Feb 21, 2025
f0f1374
Fix: 기존 활성화된 수업 비활성화 및 요청 데이터 초기화 #204
uri010 Feb 21, 2025
1ecf2f6
Fix: 활성화 이미 되어 있는 수업의 경우는 activeCourse 수행 안하도록 수정 #204
uri010 Feb 21, 2025
d73306d
Fix: 강의 생성 및 수정 모달 시간 입력 input 클릭 시 값 지워지게 변경 #216
DrCloy Feb 21, 2025
38f4103
Fix: 강의 생성/수정 모달 일정 삭제 버튼 클릭 시 form 제출되는 문제 수정 #216
DrCloy Feb 21, 2025
efe4af1
Fix: 활성화된 수업 조회 API 수행시 가장 처음으로 조회되는 수업 반환 #204
uri010 Feb 21, 2025
ddda569
Fix: 모달 입력 에러 처리 추가 #216
DrCloy Feb 21, 2025
cd46f86
Fix: 수업 생성 버튼 Floating Action Button으로 변경 #216
DrCloy Feb 21, 2025
bb936a1
Fix: 교수 프로필 업로드 문제 해결 #216
DrCloy Feb 21, 2025
5e05bb8
Fix: 파일 업로드 모달 파일 유효성 검사 추가 #216
DrCloy Feb 21, 2025
4715fb6
Fix: 학생 질문 받는로직 이후에 sse요청하도록 구현 #219
wwweric12 Feb 21, 2025
f65e1de
Fix: 교수 에러 발생 시 새로운 모달 뜨게 변경 #216
DrCloy Feb 21, 2025
95ea408
Fix: 수업 생성/수정 모달 수정 #216
DrCloy Feb 21, 2025
f9ed070
Fix: 교수 실시간 페이지 질문 페이지 버튼 수정 #216
DrCloy Feb 21, 2025
c043344
Feat: 학생 입장코드 6자리로 제한 #219
wwweric12 Feb 21, 2025
aac4ccb
Fix: 학생 수업 참가시 날짜 없는경우 처음 날짜 뜨도록 수정 #219
wwweric12 Feb 21, 2025
bf64f94
Feat: Logo 클릭시 navigate 추가 #219
wwweric12 Feb 21, 2025
e2e3d79
Fix: 학생 레이아웃 및 배경 수정 #219
wwweric12 Feb 21, 2025
d47a835
Fix: 질문컨테이너 min-height 추가 설정 #219
wwweric12 Feb 21, 2025
d76e57e
Fix: 처음 들어가는 Home 페이지 수정 #219
wwweric12 Feb 21, 2025
5ce754f
Chore: 교수 페이지 외부 배경색 변경 #216
DrCloy Feb 22, 2025
8b7e844
Chore: 질문 페이지 버튼 활성화 로직 통일 #216
DrCloy Feb 22, 2025
c8f9c05
Fix: 수업을 시작할 때 저장되어 있는 반응 다 지우도록 변경 #216
DrCloy Feb 22, 2025
a1f396b
Fix: 파일 관련 기능 수정 #216
DrCloy Feb 22, 2025
64d2477
Fix: 실시간 페이지 오류 수정 #216
DrCloy Feb 22, 2025
3e5fff7
Fix: SSE 재연결 시 error 호출 방지 추가 #216
DrCloy Feb 22, 2025
e29ca18
Setting: env 타입추론 추가 #216
DrCloy Feb 22, 2025
902fd19
Fix: useEffect 위치 수정 #216
DrCloy Feb 22, 2025
7652d22
Fix: sse error에 대한 처리 추가 #219
wwweric12 Feb 23, 2025
094af87
Merge pull request #223 from softeer5th/fix/fe/student-ui
DrCloy Feb 23, 2025
63ac94f
Merge pull request #225 from softeer5th/fix/fe/professor-ui
wwweric12 Feb 23, 2025
cf3ba28
Feat: react-lazy 적용 #226
wwweric12 Feb 23, 2025
f7aeb7f
Feat: suspense에 넣을 loading 페이지 구현 #226
wwweric12 Feb 23, 2025
f95981c
Merge pull request #218 from softeer5th/fix/be/transaction
sunohkim Feb 23, 2025
b8617ea
Merge pull request #208 from softeer5th/fix/be/course-search
sunohkim Feb 23, 2025
dabe8c6
Fix: 수업 정원 관련 오버플로우에 대한 처리 #229
sunohkim Feb 23, 2025
e98629b
Fix: 연결이 끊어졌을 때 클라이언트 측에 재연결 시도 간격을 알리는 기능 추가 #221
sunohkim Feb 23, 2025
ca85310
Refactor: professorLoading을 Loading으로 수정 #227
wwweric12 Feb 24, 2025
b43aae2
Fix: 교수 프로필 페이지 레이아웃 오류 수정 #233
DrCloy Feb 24, 2025
16e48e3
Feat: useTemporaryState 구현 #228
wwweric12 Feb 24, 2025
f06789e
Merge pull request #227 from softeer5th/feat/fe/page-lazy
DrCloy Feb 24, 2025
22fbd82
Refactor: reactCard 애니메이션 자연스럽게 수정 #228
wwweric12 Feb 24, 2025
efe79ff
Refactor: requestCard 애니메이션 자연스럽게 수정 #228
wwweric12 Feb 24, 2025
bd345d7
Merge pull request #234 from softeer5th/fix/fe/professor-profile-layout
DrCloy Feb 24, 2025
3fc4bbf
Chore: isActive 의미에 맞도록 수정 #228
wwweric12 Feb 24, 2025
2dca539
Fix: 배포 시 프록지 미적용 문제 해결 #236
DrCloy Feb 24, 2025
0e0dbf1
Chore: type 변수명을 의미에 맞게 변경 #228
wwweric12 Feb 24, 2025
8842185
Refactor: useTemporaryState persist 제거 #228
wwweric12 Feb 24, 2025
b1311a0
Chore: API URL 추가 적용 #236
DrCloy Feb 24, 2025
7a5f7ba
Merge pull request #237 from softeer5th/fix/fe/proxy
wwweric12 Feb 24, 2025
1ecbb50
Feat: CORS 설정 추가 #238
uri010 Feb 24, 2025
8081a7c
Feat: CORS 설정 추가 #238
uri010 Feb 24, 2025
f1aa6d1
Merge pull request #239 from softeer5th/fix/be/cors
uri010 Feb 24, 2025
c56b291
Chore: readme 수정
wwweric12 Feb 24, 2025
b3dabfd
Chore: 아키텍처 및 백엔드 기술 스택 추가
uri010 Feb 24, 2025
e3339c4
Feat: CORS allowedMethods에 OPTIONS와 HEAD 추가 #238
uri010 Feb 24, 2025
6274bee
Feat: 요청이 OPTIONS 메서드일 때 JWT 토큰 검증 미수행 #238
uri010 Feb 24, 2025
83ae622
Chore: 협업 도구 추가
sunohkim Feb 24, 2025
f989a03
Merge branch 'dev' into feat/fe/useTemporaryState
wwweric12 Feb 24, 2025
7dccefc
Chore: 김유리 역할 추가, 아키텍처 수정, 협업 관련 기술 스택 추가
uri010 Feb 24, 2025
bab9fb6
Chore: 팀원별 역할 내용 추가
sunohkim Feb 24, 2025
6a14fdd
Feat: 수업 시작시 다른 활성화된 수업들의 질문 데이터 삭제 및 SSE 연결 종료 요청 전송 #204
uri010 Feb 24, 2025
665ab1c
Fix: setInterval을 사용할경우 정확하지 않은 타이머 수정 #228
wwweric12 Feb 24, 2025
5605289
Merge pull request #222 from softeer5th/fix/be/active-class-duplication
uri010 Feb 24, 2025
7ab666d
Merge pull request #231 from softeer5th/fix/be/sse-connection
sunohkim Feb 24, 2025
c7bf056
Merge pull request #235 from softeer5th/feat/fe/useTemporaryState
DrCloy Feb 24, 2025
caeafac
Feat: 수업 종료시 통계 모달 연동 #240
DrCloy Feb 24, 2025
6e19629
Merge pull request #241 from softeer5th/feat/fe/professor-statistic
wwweric12 Feb 24, 2025
983988c
Setting: 배포 환경 세팅 #242
DrCloy Feb 24, 2025
509f877
Setting: 도메인 변경 반영 #242
DrCloy Feb 24, 2025
8fd24f9
Merge pull request #243 from softeer5th/setting/fe/publish
wwweric12 Feb 24, 2025
93036cc
Feat: 요청 횟수 오버플로우에 대한 에러코드 추가 #229
sunohkim Feb 24, 2025
6b99027
Fix: 요청 횟수 오버플로우 관련 에러에 대해 커스텀으로 처리 #229
sunohkim Feb 24, 2025
d6bb34b
Fix: 학생 레이아웃 크기에 따라 조절 #244
wwweric12 Feb 24, 2025
57843a4
Chore: animation 시간 수정 #245
wwweric12 Feb 25, 2025
22cb994
Chore: useTemporaryState 적용 #245
wwweric12 Feb 25, 2025
57fb9f2
Setting: 배포 스크립트 작성 #242
DrCloy Feb 25, 2025
08def06
Merge pull request #232 from softeer5th/fix/be/overflow
sunohkim Feb 25, 2025
751e0b4
Merge pull request #245 from softeer5th/fix/fe/student-layout
DrCloy Feb 25, 2025
d526013
Merge pull request #246 from softeer5th/setting/fe/deploy-script
wwweric12 Feb 25, 2025
fbce24b
Update README.md
wwweric12 Feb 25, 2025
395250b
Chore: 팀원별 역할 테이블 크기 확대
uri010 Feb 25, 2025
0c05616
Chore: 팀원별 역할 내용 추가
sunohkim Feb 25, 2025
794d3a8
Update README.md
wwweric12 Feb 25, 2025
f0d0d9b
Docs: 백엔드 아키텍처&CI/CD 다이어그램 추가
uri010 Feb 25, 2025
28d448d
Fix: 수업 생성시 입장 코드 6자리로 고정 #248
uri010 Feb 25, 2025
15ae59d
Fix: 오늘 수업 조회 시 해당 수업의 모든 Schedule 데이터를 가져오도록 수정 #247
sunohkim Feb 25, 2025
bc1e902
Merge pull request #249 from softeer5th/fix/be/access-code-length
uri010 Feb 25, 2025
a74580a
Fix: 학생 SSE connection 부하 개선 #251
sunohkim Feb 25, 2025
c948396
Merge pull request #252 from softeer5th/fix/be/sse-configuration
sunohkim Feb 25, 2025
5a90ecd
Merge pull request #250 from softeer5th/fix/be/today-schedule
sunohkim Feb 25, 2025
8ff0803
Feat: .env 파일 사용하지 않고 docker run -e로 환경 변수 추가 #253
uri010 Feb 25, 2025
37fffca
Feat: docker용 사용자로 변경 #253
uri010 Feb 25, 2025
d16a196
Chore: 도커 빌드시 --cache-from 옵션 추가 #253
uri010 Feb 25, 2025
3f5d9cf
Chore: .env 파일 생성 및 업로드 로직 삭제 #253
uri010 Feb 25, 2025
4d7e964
Chore: docker run으로 컨테이너 실행로직 추가 #253
uri010 Feb 25, 2025
ac4a648
Chore: EC2 사용자 전환 및 도커 로그인&로그아웃 구문 추가 #253
uri010 Feb 25, 2025
8f5024c
Chore: docker run 수행시 이미지명 수정 #253
uri010 Feb 25, 2025
f655cb0
Docs: 프론트엔드 CI/CD 추가
DrCloy Feb 25, 2025
979ef9e
Fix: UI 버그 수정 #255
DrCloy Feb 25, 2025
793dc39
Chore: EC2 사용자 전환 과정 삭제 #253
uri010 Feb 25, 2025
a96bc2e
Fix: UI 버그 수정 #255
DrCloy Feb 25, 2025
93eb994
Merge pull request #256 from softeer5th/fix/fe/ui
wwweric12 Feb 25, 2025
6e1a0d4
Docs: 프론트엔드 CI/CD 이미지 변경
DrCloy Feb 25, 2025
8643d87
Fix: 자동 번역 오류 수정 #257
DrCloy Feb 25, 2025
625e5cd
Merge pull request #258 from softeer5th/fix/fe/auto-translate
wwweric12 Feb 25, 2025
0cfe7d0
Merge pull request #254 from softeer5th/feat/be/ci-cd-security
uri010 Feb 25, 2025
e6bbbfe
Chore: 모바일 확대 안되도록 구현 #259
wwweric12 Feb 26, 2025
095dd40
Chore: 요청하기 padding 값 조정 #259
wwweric12 Feb 26, 2025
9c5b115
Merge pull request #260 from softeer5th/fix/fe/mobile-layout
DrCloy Feb 26, 2025
376c54b
Fix: 수업 생성시 유효성 검사 추가 #261
uri010 Feb 26, 2025
e9d7fca
Fix: 수업 유효성 항목 추가 #263
DrCloy Feb 26, 2025
948cc3b
Fix: 최대 연결 가능한 SSE 통신 개수 제한 #251
sunohkim Feb 26, 2025
7f3b346
Chore: 현재 연결된 사용자 수를 확인하는 로그 추가 #251
sunohkim Feb 26, 2025
245d3db
Merge pull request #264 from softeer5th/fix/fe/course-validation
DrCloy Feb 27, 2025
5aafb61
Merge pull request #262 from softeer5th/fix/be/course-validation
uri010 Feb 27, 2025
cdad742
Fix: 워크플로우 파일에 불필요한 ' 삭제
uri010 Feb 27, 2025
b168af6
Fix: 파일 삭제 기능 추가 #266
DrCloy Feb 27, 2025
ad7d0f4
Merge pull request #267 from softeer5th/fix/fe/file-delete
DrCloy Feb 27, 2025
1b7cd1b
Fix: 동시성 이슈를 해결하기 위해 연결된 사용자 수를 관리하는 AtomicInteger 도입 #251
sunohkim Feb 27, 2025
b8a37ed
Fix: AtomicInteger를 제거하고 ConcurrentHashMap.size()로 연결 개수 관리 #251
sunohkim Feb 27, 2025
8f06300
Revert "Fix: AtomicInteger를 제거하고 ConcurrentHashMap.size()로 연결 개수 관리 #…
sunohkim Feb 27, 2025
ad30690
Fix: 수업 삭제 시 홈 화면으로 이동 추가 #268
DrCloy Feb 27, 2025
9b7bbba
Merge pull request #269 from softeer5th/fix/fe/professor-course-delete
DrCloy Feb 27, 2025
c8e8ad8
Fix: 교수 검색 키워드 encode #270
DrCloy Feb 27, 2025
4dee165
Merge pull request #271 from softeer5th/fix/fe/professor-search
DrCloy Feb 27, 2025
fbb80e2
Fix: 학생과 교수 사용자의 쿠키 이름을 다르게 설정 #272
sunohkim Feb 27, 2025
9679681
Merge pull request #265 from softeer5th/fix/be/sse-connection-limit
sunohkim Feb 27, 2025
0782870
Chore: SSE 서버 포트 수정
uri010 Feb 27, 2025
8d3a303
Fix: vercel.json에 백엔드 API 추가하도록 수정 #274
DrCloy Feb 27, 2025
ed8c8de
Merge pull request #275 from softeer5th/fix/fe/vercel-setting
DrCloy Feb 27, 2025
ba6c620
Revert "[FE] vercel.json에 백엔드 API 추가하도록 수정 "
DrCloy Feb 27, 2025
c944c96
Merge pull request #276 from softeer5th/revert-275-fix/fe/vercel-setting
DrCloy Feb 27, 2025
0a35fef
Merge pull request #273 from softeer5th/fix/be/cookie-name
sunohkim Feb 27, 2025
67f455d
Fix: vercel prebuild 수정 #274
DrCloy Feb 27, 2025
137a172
Merge pull request #277 from softeer5th/fix/fe/vercel-setting
DrCloy Feb 27, 2025
c2f1a51
Fix: 빌드 오류 수정 #278
DrCloy Feb 27, 2025
6561ea3
Fix: 강의 시간 관련 버그 수정 #278
DrCloy Feb 27, 2025
991f26f
Merge pull request #279 from softeer5th/fix/fe/course-schedule
DrCloy Feb 27, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
22 changes: 22 additions & 0 deletions .github/ISSUE_TEMPLATE/bug-템플릿.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
name: Bug 템플릿
about: '버그 관련 이슈 작성을 위한 템플릿입니다. '
title: "[FE/BE] 버그 "
labels: "\U0001F41E Fix"
assignees: ''

---

## 🐞 버그 설명

> 어떤 버그인지 간결하게 설명해주세요

## 📌 원인

> (가능하면) Given-When-Then 형식으로 서술해주세요

## 🍀 예상했던 결과

> 예상했던 정상적인 결과가 어떤 것이었는지 설명해주세요

## 🔗 참고할만한 자료(선택)
19 changes: 19 additions & 0 deletions .github/ISSUE_TEMPLATE/feat-템플릿.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
name: feat 템플릿
about: '기능 추가 이슈 작성을 위한 템플릿입니다. '
title: "[FE/BE] 기능"
labels: '✨ Feat'
assignees: ''

---

## ✨ 기능 설명

> 기능에 대한 설명을 적습니다.

## 📌 작업 체크 리스트

- [ ] TODO
- [ ] TODO

## 🔗 참고할만한 자료(선택)
15 changes: 15 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
## `[FE/BE] PR 제목`을 꼭 써주세요

## #️⃣ 연관된 이슈

> ex) #이슈번호, #이슈번호

## 📝 작업 내용

> 이번 PR에서 작업한 내용을 간략히 설명해주세요(이미지 첨부 가능)

## 💬 리뷰 요구사항(선택)

> 리뷰어가 특별히 봐주었으면 하는 부분이 있다면 작성해주세요
>
> ex) 메서드 XXX의 이름을 더 잘 짓고 싶은데 혹시 좋은 명칭이 있을까요?
94 changes: 94 additions & 0 deletions .github/workflows/pr-closed.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
name: PR Closed - Set End Date & Close Issues

on:
pull_request:
types: [closed]
workflow_dispatch:

permissions:
issues: write
repository-projects: write

jobs:
pr-closed:
runs-on: ubuntu-latest
steps:
- name: Set End Date in Project
uses: actions/github-script@v7
with:
github-token: ${{ secrets.GH_PAT }}
script: |
const projectId = "PVT_kwDOC1gbws4Aw4Qy";
const endDateFieldId = "PVTF_lADOC1gbws4Aw4QyzgnFEDE";

const prId = context.payload.pull_request.node_id;
console.log("PR Node ID:", prId);

const projectItems = await github.graphql(`
query {
node(id: "${prId}") {
... on PullRequest {
projectItems(first: 10) {
nodes { id }
}
}
}
}
`);

console.log("Fetched Project Items:", JSON.stringify(projectItems, null, 2));

if (projectItems.node.projectItems.nodes.length > 0) {
const itemId = projectItems.node.projectItems.nodes[0].id;
const endDate = new Date().toISOString();

console.log("Updating Project Item:", itemId);
console.log("Setting End Date:", endDate);

await github.graphql(`
mutation {
updateProjectV2ItemFieldValue(input: {
projectId: "${projectId}",
itemId: "${itemId}",
fieldId: "${endDateFieldId}",
value: { date: "${endDate}" }
}) {
clientMutationId
}
}
`);
} else {
console.log("No project items found for this PR.");
}

- name: Close Linked Issues
uses: actions/github-script@v7
with:
github-token: ${{ secrets.GH_PAT }}
script: |
const prNumber = context.payload.pull_request.number;
console.log("PR Number:", prNumber);

const { data: linkedIssues } = await github.rest.issues.listForRepo({
owner: context.repo.owner,
repo: context.repo.repo,
state: "open",
labels: [`pr-${prNumber}`]
});

console.log("Fetched Linked Issues:", JSON.stringify(linkedIssues, null, 2));

if (linkedIssues.length === 0) {
console.log("No linked issues found for this PR.");
} else {
for (const issue of linkedIssues) {
console.log("Closing Issue:", issue.number);

await github.rest.issues.update({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: issue.number,
state: "closed"
});
}
}
99 changes: 99 additions & 0 deletions .github/workflows/pr-opened.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
name: PR Opened - Assign & Add to Project

on:
pull_request:
types: [opened]
workflow_dispatch:

permissions:
issues: write
pull-requests: write
repository-projects: write

jobs:
pr-open:
runs-on: ubuntu-latest
steps:
- name: Assign PR Creator
uses: actions/github-script@v7
with:
github-token: ${{ secrets.GH_PAT }}
script: |
github.rest.issues.addAssignees({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.payload.pull_request.number,
assignees: [context.payload.pull_request.user.login]
});

- name: Add PR to Team3-PowerPenguin Project & Set Start Date
uses: actions/github-script@v7
with:
github-token: ${{ secrets.GH_PAT }}
script: |
const projectId = "PVT_kwDOC1gbws4Aw4Qy";
const statusFieldId = "PVTSSF_lADOC1gbws4Aw4QyzgnFD7w";
const inReviewOptionId = "554de2e0";
const startDateFieldId = "PVTF_lADOC1gbws4Aw4QyzgnFEDA";

const prId = context.payload.pull_request.node_id;

const addToProject = await github.graphql(`
mutation {
addProjectV2ItemById(input: { projectId: "${projectId}", contentId: "${prId}" }) {
item { id }
}
}
`);

const itemId = addToProject.addProjectV2ItemById.item.id;

await github.graphql(`
mutation {
updateProjectV2ItemFieldValue(input: {
projectId: "${projectId}",
itemId: "${itemId}",
fieldId: "${statusFieldId}",
value: { singleSelectOptionId: "${inReviewOptionId}" }
}) {
clientMutationId
}
}
`);

const startDate = new Date().toISOString();
await github.graphql(`
mutation {
updateProjectV2ItemFieldValue(input: {
projectId: "${projectId}",
itemId: "${itemId}",
fieldId: "${startDateFieldId}",
value: { date: "${startDate}" }
}) {
clientMutationId
}
}
`);

- name: Set PR & Linked Issues to In-Review
uses: actions/github-script@v7
with:
github-token: ${{ secrets.GH_PAT }}
script: |
const prNumber = context.payload.pull_request.number;
const { data: linkedIssues } = await github.rest.issues.listForRepo({
owner: context.repo.owner,
repo: context.repo.repo,
state: "open",
labels: [`pr-${prNumber}`]
});

for (const issue of linkedIssues) {
await github.rest.issues.update({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: issue.number,
state: "open",
labels: [...issue.labels.map(l => l.name), "In-Review"]
});
}
109 changes: 109 additions & 0 deletions .github/workflows/reacton-ci-cd.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
name: Deploy ReactON

on:
push:
branches: [ "dev", "main" ]
paths:
- "back-end/reacton/**"
workflow_dispatch:

jobs:
build-and-deploy:
runs-on: ubuntu-22.04
permissions:
contents: read

steps:
- name: Checkout Repository
uses: actions/checkout@v3

- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'

- name: Gradle Caching
uses: actions/cache@v3
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-

- name: Generate application.properties from GitHub Secrets
run: |
mkdir -p back-end/reacton/src/main/resources
rm -f back-end/reacton/src/main/resources/application.properties
touch back-end/reacton/src/main/resources/application.properties
echo "${{ secrets.PROPERTIES }}" | tr -d '\r' > back-end/reacton/src/main/resources/application.properties
ls -lh back-end/reacton/src/main/resources/

- name: Grant execute permission for gradlew
run: chmod +x back-end/reacton/gradlew

- name: Build with Gradle
run: cd back-end/reacton && ./gradlew clean build -x test --build-cache --parallel --configure-on-demand

- name: Check Build Artifact
run: ls -lh back-end/reacton/build/libs/ || (echo "Build artifact missing!" && exit 1)

- name: Docker Build and Push
run: |
sudo docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }}
sudo docker pull ${{ secrets.DOCKER_USERNAME }}/reacton-back:latest || true
sudo docker build --platform linux/arm64 \
--cache-from=${{ secrets.DOCKER_USERNAME }}/reacton-back:latest \
-f back-end/reacton/Dockerfile \
-t ${{ secrets.DOCKER_USERNAME }}/reacton-back:latest back-end/reacton
sudo docker push ${{ secrets.DOCKER_USERNAME }}/reacton-back:latest

- name: Deploy to EC2
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.HOST }}
username: ubuntu
key: ${{ secrets.EC2_PRIVATE_KEY }}
script: |
set +x
set -e

cd ~/app/back-end/reacton

echo "🛑 Stopping and removing existing container..."
docker stop reacton-back || true
docker rm reacton-back || true

echo "🔄 Logging in to Docker Hub..."
docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }}

echo "🔄 Pulling latest Docker image..."
docker pull ${{ secrets.DOCKER_USERNAME }}/reacton-back:latest

echo "🚀 Running new container..."
docker run -d --name reacton-back \
--restart always \
--network reacton_network \
-p 8080:8080 \
-e SPRING_DATASOURCE_URL="${{ secrets.DB_URL }}" \
-e SPRING_DATASOURCE_USERNAME="${{ secrets.DB_USERNAME }}" \
-e SPRING_DATASOURCE_PASSWORD="${{ secrets.DB_PASSWORD }}" \
-e SPRING_JPA_HIBERNATE_DDL_AUTO="${{ secrets.SPRING_JPA_HIBERNATE_DDL_AUTO }}" \
-e OAUTH_GOOGLE_CLIENT_ID="${{ secrets.OAUTH_GOOGLE_CLIENT_ID }}" \
-e OAUTH_GOOGLE_CLIENT_SECRET="${{ secrets.OAUTH_GOOGLE_CLIENT_SECRET }}" \
-e JWT_SECRET_KEY="${{ secrets.JWT_SECRET_KEY }}" \
-e AWS_REGION="${{ secrets.AWS_REGION }}" \
-e AWS_BUCKET_NAME="${{ secrets.AWS_BUCKET_NAME }}" \
"${{ secrets.DOCKER_USERNAME }}/reacton-back:latest"

echo "🧹 Cleaning up unused images..."
docker image prune -f || { echo "❌ Failed to prune Docker images"; exit 1; }

echo "🔐 Logging out from Docker Hub..."
docker logout

echo "✅ Deployment completed successfully!"

set -x
Loading