알고리즘 문제 풀이 → 코드 제출 → 리뷰 매칭 → 리뷰 작성까지 자동화
개발자들의 알고리즘 풀이 경험을 더 ‘깊고’, ‘체계적’으로 만들어주는 리뷰 중심 플랫폼
Alkka-gi(알까기) 는 알고리즘 문제 풀이 후 팀원들 간 코드 리뷰를 자동 매칭해주는 웹 서비스입니다.
캠페인(스터디 그룹)을 만들고, 문제를 등록하면, 기간에 따라:
- 코드 제출 기간
- 코드 리뷰 기간
- 종료 후 전체 공개
순으로 진행됩니다.
코드 제출 종료 시점에 자동으로 서로 리뷰해야 하는 사용자 매칭이 생성되며,
리뷰어는 상대방의 코드에 대해 댓글/대댓글/라인 리뷰, 좋아요, 성능 비교 등을 진행할 수 있습니다.
- 캠페인 생성 / 수정 / 삭제 (관리자)
- 캠페인 참여 / 참여 여부에 따른 기능 제한
- 문제 목록 조회 (제출/리뷰/종료 상태 표시)
- 상태에 따라 자동으로 화면 분기 (제출 페이지 ↔ 리뷰 페이지)
- 코드 제출(언어 선택, 실행시간, 메모리 입력)
- 코드 상세 페이지
- 내가 푼 문제 목록
- 언어/시간/메모리/알고리즘 태그 기반 필터
- 리뷰 매칭 알고리즘 기반 자동 리뷰어 지정
- 코드 리뷰 조회
- 댓글 / 대댓글 / 라인 리뷰 (추가 예정)
- 리뷰 좋아요 기능
- 내가 해야 하는 리뷰 / 받은 리뷰 / 한 리뷰 목록
- JWT + Refresh Token 기반 인증
- Redis 기반 세션 관리
- 로그인 / 회원가입 / 로그아웃
- 이메일·닉네임 중복 체크
- 프로필 이미지 업로드 및 수정
- 캠페인 관리
- 문제 등록/삭제/검색
- Java / Spring Boot
- Spring Security + JWT
- Redis
- JPA(Hibernate)
- MySQL
- Vue.js
- Axios
- CodeMirror
- Docker
- Nginx
- Koyeb / AWS EC2
- GitHub Actions (CI/CD)
backend/
├─ src/main/java
│ ├─ domain
│ ├─ controller
│ ├─ service
│ ├─ repository
│ └─ global
frontend/
├─ components/
├─ pages/
├─ hooks/
├─ apis/
└─ utils/
프로젝트 진행 계획은 아래 파일을 참고하세요:
- WBS.pdf
- GanttChart.xlsx
- 제출 기간 종료 시 Trigger 발생
- 제출 사용자 목록 조회
- N명 기반 교차 리뷰 매칭
- "내가 리뷰해야 하는 사람" / "나를 리뷰하는 사람" 목록 생성
- 리뷰 기간 동안만 수정 가능
- 종료 후 전체 공개
- API 단위 테스트 (JUnit)
- 프론트 기능 테스트
- 제출 → 매칭 → 리뷰 흐름 통합 테스트
- Docker 기반
- Nginx + HTTPS
- GitHub Actions CI/CD
- Koyeb / EC2 배포
기여 가이드라인 및 템플릿은 추후 추가될 예정입니다.