Skip to content

Nharu/codemate

Repository files navigation

CodeMate - AI 기반 온라인 코드 협업 플랫폼

AI를 활용한 실시간 코드 리뷰 및 협업 플랫폼

🚀 프로젝트 개요

CodeMate는 Claude Sonnet 4와 GPT-5를 활용한 AI 기반 코드 리뷰 시스템과 CRDT(Yjs) 기반 실시간 협업 에디터를 결합한 차세대 개발 플랫폼입니다.

핵심 기능

  • 🤖 AI 코드 리뷰: Claude Sonnet 4 기반 실시간 코드 분석 및 피드백
  • 실시간 협업: Yjs CRDT를 활용한 동시 편집
  • 🎨 모던 UI: shadcn/ui + Tailwind CSS 기반 사용자 인터페이스
  • 🔒 보안 중심: JWT 인증 및 권한 관리

🛠 기술 스택

Frontend

  • Framework: Next.js 14+ + TypeScript
  • UI: shadcn/ui + Tailwind CSS
  • 상태관리: Zustand
  • 실시간 협업: Yjs (CRDT)
  • 에디터: Monaco Editor

Backend

  • Framework: NestJS + TypeScript
  • 데이터베이스: PostgreSQL + Redis
  • 실시간 통신: Socket.IO
  • AI: Claude Sonnet 4, GPT-5

Infrastructure

  • 로컬 개발: Docker Compose
  • 클라우드: AWS (ECS, RDS, ElastiCache, S3)
  • IaC: Terraform
  • CI/CD: AWS CodePipeline

🏗 프로젝트 구조

codemate/
├── frontend/           # Next.js 클라이언트
│   └── src/
│       ├── app/       # App Router
│       ├── components/ # shadcn/ui 컴포넌트
│       ├── hooks/     # Custom hooks
│       ├── store/     # Zustand 상태 관리
│       ├── lib/       # 유틸리티 & API
│       ├── types/     # TypeScript 타입
│       └── styles/    # Tailwind CSS
├── backend/            # NestJS 서버
│   └── src/
│       ├── modules/   # 기능별 모듈
│       │   ├── auth/  # 인증 모듈
│       │   ├── users/ # 사용자 관리
│       │   ├── projects/ # 프로젝트 관리
│       │   ├── ai/    # AI 리뷰 서비스
│       │   └── collab/ # 실시간 협업
│       ├── common/    # 공통 모듈
│       ├── database/  # 데이터베이스 설정
│       └── websocket/ # WebSocket 게이트웨이
├── infrastructure/     # Terraform 인프라 코드
├── shared/            # 공유 타입, 유틸리티
├── docker/            # Docker 설정
├── docs/              # 문서
└── tests/             # 테스트 코드

🚦 개발 환경 설정

요구사항

  • Node.js 22+
  • Docker & Docker Compose
  • Git 2.30+

로컬 실행

# 저장소 클론
git clone https://github.com/Nharu/codemate.git
cd codemate

# 환경 변수 설정
cp .env.example .env

# Docker 컨테이너 실행
docker-compose up -d

# 의존성 설치 및 개발 서버 실행
npm run install:all
npm run dev

📋 개발 일정

Phase 1: 중간발표 준비 (4주)

  • 프로젝트 구조 설계
  • Docker Compose 개발환경 구성
  • 기본 인증 시스템 구현
  • AI 코드 리뷰 프로토타입

Phase 2: 핵심 기능 개발 (8주)

  • 실시간 협업 에디터 구현
  • shadcn/ui 기반 UI 개발
  • NestJS API 완성
  • 중간발표 데모 준비

Phase 3: 최종발표 준비 (6주)

  • AWS 클라우드 인프라 구축
  • CI/CD 파이프라인 구성
  • 성능 최적화

Phase 4: 완성 및 발표 (4주)

  • 통합 테스트
  • 최종발표 시연 준비

🎯 Git 워크플로우

커밋 컨벤션

<type>(<scope>): <subject>

<body>

<footer>

예시:

feat(auth): implement JWT authentication system

- Add JWT token generation and validation
- Implement login/logout endpoints
- Add middleware for protected routes

Closes #12

브랜치 전략

  • main: 안정된 버전
  • develop: 개발 통합 브랜치
  • feature/*: 기능별 개발 브랜치
  • release/*: 발표용 릴리즈 브랜치

👥 팀

  • 개발자: 이재현 (학번: 2015313016)
  • 지도교수: 정윤경

📄 라이선스

MIT License - 자세한 내용은 LICENSE 파일을 참고하세요.

🔗 관련 링크


2025년 소프트웨어대학 졸업작품

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages