SSAFY 16기 알고리즘 스터디의 문제와 풀이를 확인하는 웹 대시보드입니다.
- Notion의 주차별 문제와 풀이 동기화
- 풀이, 시도한 풀이, 전략, 후기 표시
- 기본 LLM 모델 호출량 초과 시, 대체 모델로 fallback
- AI 리뷰 일시 오류 자동 재시도, 대기시간 안내 및 요청 시간 제한
- Notion 풀이가 없을 때 GitHub 코드 조회
- Java 코드 문법 강조
- 멤버별 주차 진행도 표시
- 마감 당일 및 마감 이후 미완료 문제 알림
- 버튼으로 요청하는 AI 코드 리뷰
- 100점 만점 코드 평가, 항목별 점수·근거, S~D 등급과 다음 등급 목표
- 라이트·다크 모드와 반응형 화면
npm install
npm run dev프로덕션 빌드
npm run build| 항목 | 배점 | 평가 내용 |
|---|---|---|
| 정답성 | 40 | 문제 요구사항, 로직, 경계값 처리 |
| 시간·공간 효율 | 30 | 시간·공간 복잡도, 불필요한 연산과 저장 |
| 구현 안정성 | 20 | 인덱스, 자료형, 초기화, 상태 복구 |
| 가독성 | 10 | 의미 있는 이름, 구조, 중복 제거 |
등급은 S 90100점, A 8089점, B 7079점, C 6069점, D 0~59점입니다. 확인된 문제의 영향을 기준으로 평가하고 같은 결함의 중복 감점을 피하도록 지시합니다. 이 점수는 코드를 실행하지 않은 AI의 분석 결과로, 실제 채점 점수나 확정된 순위가 아닙니다. 같은 문제·같은 기준에서 개선 방향을 비교하는 용도로 사용하며, 모델·재요청에 따라 점수가 달라질 수 있습니다.
- 전략·후기의 번호 목록과 글머리표가 기본 스타일에 가려지던 문제 수정
- 여러 줄로 작성한 목록 항목을 하나로 유지하고, 중간 번호에서 시작하는 목록의 시작 번호 보존
- Notion 목록 항목 내부의 줄바꿈을 유지하도록 수집 및 렌더링 처리 개선
- AI 리뷰에 정답성 40점·시간/공간 효율 30점·구현 안정성 20점·가독성 10점으로 구성한 100점 평가 추가
- 항목별 평가 이유, 총점, S/A/B/C/D 등급과 다음 등급까지 남은 점수 표시. 카드에서 세부 평가 기준을 펼쳐 확인 가능
- 항목별 점수는 배점 내 정수와 근거가 있어야 인정하며, 총점·등급은 서버에서 계산. 점수가 누락되거나 잘못된 AI 응답은 기존 fallback·재시도 흐름으로 복구
- 점수 도입 전 리뷰 캐시와 구분하도록 리뷰 버전을 갱신하고, 점수 근거를 포함할 수 있도록 모델 출력 한도 조정
- AI 리뷰 429·502·연결 오류 자동 복구 추가: 최초 요청 뒤 최대 2회 재시도하며, 매 요청에서 Ollama → Groq 순서로 전환
Retry-After의 초·HTTP 날짜 형식을 준수하고, 기본 2초·4초 대기에 작은 무작위 지연을 더해 재시도. 모델별 15초, 브라우저 API 요청별 45초 시간 제한 적용- 30초를 넘는 대기, 앱 자체 시간당 요청 제한, 인증·입력·설정 오류는 자동 재시도를 중단하고 안내. 대기시간이 남아 있으면 수동 요청 버튼도 비활성화
- 재시도 횟수와 남은 시간 표시, 기존 리뷰 유지, 멤버·코드 변경 및 페이지 이탈 시 요청 취소
- ‘최소 수정 예시’ 표시를 ‘수정 예시’로 변경
- 정주연·박지우를 스터디원에 추가해 총 6명의 Notion 풀이, 시도한 풀이, 전략, 후기를 조회하고 AI 코드 리뷰를 요청할 수 있도록 연결
- 정주연·박지우는 8주차부터 합류: 홈 스터디원·진행도·미완료 알림·로딩 카드에 8주차부터 포함 (1~7주차 4명, 8주차 이후 6명)
- 주차 전환 시 이전 주차의 진행도 카드가 남지 않도록 선택 주차와 응답 주차를 일치시켜 표시
- 코드 연결 인원을 실제 멤버 수로 표시하고, 6명에 맞춰 멤버 탭·진행도 카드·로딩 화면 배치 조정
- GitHub 저장소가 미등록된 멤버는 Notion만 조회하며, 풀이 페이지가 없는 문제에서는 원본 문제 페이지로 연결
- 코드 블록 안의 ‘전략’·‘후기’를 구역 제목으로 오인해 내용을 누락하던 문제 수정
- 코드 수집·빈 풀이·주차 진행도 회귀 테스트 추가 (
npm test, Node.js 24에서 검증)
- 시도한 풀이 코드 블록 추가
- AI 코드 리뷰 내용과 API 처리 개선
- Ollama 실패 시 Groq로 전환하는 fallback 추가
- 로고 이미지와 모바일 반응형 UI 수정
- 스터디 마감일 기준 미완료 문제 사이렌 알림 추가
- 브라우저 탭 아이콘과 링크 미리보기 이미지 변경
- SSAFY 알고리즘 스터디 대시보드 생성
- 주차별 문제 탐색과 Notion 실시간 동기화 추가
- 공개 AI 리뷰, 라이트·다크 모드 추가
- 수동 AI 리뷰 요청과 전략·후기 영역 추가
- AI 리뷰 예시 Java 코드 블록 추가
- LLM 모델 설정, JSON 응답 처리, 토큰 제한 및 배포 빌드 수정