Skip to content

feat: 역할 관리 시스템 구현 및 UI/UX 개선#40

Merged
subeeen merged 2 commits into
devfrom
feature/mgp
Aug 7, 2025
Merged

feat: 역할 관리 시스템 구현 및 UI/UX 개선#40
subeeen merged 2 commits into
devfrom
feature/mgp

Conversation

@mingyeongpark12

@mingyeongpark12 mingyeongpark12 commented Aug 7, 2025

Copy link
Copy Markdown
Collaborator

구현 내용

📱 프론트엔드

  • 역할 관리 페이지 구현

    • AI 역할 추천 시스템 (전공 자동 불러오기, 선호역할 동기화)
    • 직접 입력 시스템 (역할 등록/삭제, 팀원 역할 지정)
    • 실시간 UI 업데이트 (페이지 새로고침 없이 모든 기능 작동)
    • 반응형 디자인 적용
  • UI/UX 개선사항

    • 컬러 통일 (모든 버튼 파란색 #3b82f6, 팀장 회색 배지)
    • 팀원 현황 초기 상태 "역할 미정"으로 설정
    • AI 결과 표시 개선 (역할명 배지 + 상세 설명)

🔧 역할 관리 API

GET /api/dashboard/{team_id}/roles/list/ # 역할 목록 조회
POST /api/dashboard/{team_id}/roles/create/ # 새 역할 생성
POST /api/dashboard/{team_id}/roles/assign/ # 역할 할당
DELETE /api/dashboard/{team_id}/roles/{role_id}/delete/ # 역할 삭제

데이터베이스 모델 확장

  • Role 모델: description, created_by, is_ai_generated, created_at 필드 추가
  • MemberRoleAssignment 모델: team, assigned_by, assigned_at 필드 추가
  • 제약조건: unique_together = ('user', 'team') (한 팀에서 한 사용자는 하나의 역할만)

핵심 기능

  1. 역할 삭제 시 자동 할당 해제: 역할이 삭제되면 해당 역할을 가진 팀원들의 할당도 자동으로 해제
  2. AI 역할 추천: Clova AI API 연동 (API 키: nv-61fd3b43f97747159bd6eef23e4bead4MTQw)
  3. 역할 할당 관리: 팀원별 역할 할당/해제 기능
  4. 실시간 데이터 동기화: 모든 변경사항이 즉시 반영

�� 머지 충돌 해결

  • dev 브랜치 로직 유지: 기존 recommend_role_api 함수 그대로 유지
  • MGP 기능 추가: 새로운 API들과 기능들을 MGP 주석으로 명시
  • 환경변수 통합: dev 브랜치의 환경변수 로딩 로직과 MGP 하드코딩 API 키 통합

⚠️ 백엔드 개발자 주의사항

1. 마이그레이션 필요

python3 manage.py makemigrations roles
python3 manage.py migrate

2. 새로운 필드들 (모두 nullable)

  • Role.description: 역할 설명 (TextField, null=True, blank=True)
  • Role.created_by: 생성자 (ForeignKey, null=True, blank=True)
  • Role.is_ai_generated: AI 생성 여부 (BooleanField, default=False)
  • Role.created_at: 생성 시간 (DateTimeField, null=True, blank=True)
  • MemberRoleAssignment.team: 팀 정보 (ForeignKey, null=True, blank=True)
  • MemberRoleAssignment.assigned_by: 할당자 (ForeignKey, null=True, blank=True)
  • MemberRoleAssignment.assigned_at: 할당 시간 (DateTimeField, null=True, blank=True)

3. API 응답 형식

// 역할 생성 응답
{
  "success": true,
  "role": {
    "id": 1,
    "name": "프론트엔드 개발자",
    "description": "웹 프론트엔드 개발 담당",
    "is_ai_generated": false
  }
}

// 역할 할당 응답
{
  "success": true,
  "assignment": {
    "user": "username",
    "role": "프론트엔드 개발자",
    "is_ai_assigned": false
  }
}

// 역할 삭제 응답
{
  "success": true,
  "message": "역할 \"프론트엔드 개발자\"이 삭제되었습니다. (2명의 할당 해제됨)"
}

4. MGP 규칙 준수

  • 모든 백엔드 수정사항에 MGP 주석 처리 완료
  • 기존 코드는 최대한 유지하고 새로운 기능만 추가

🧪 테스트 방법

  1. 역할 관리 페이지 접속: /{team_id}/roles/
  2. AI 역할 추천 테스트 (더미 데이터 사용)
  3. 역할 등록/삭제 테스트
  4. 팀원 역할 할당 테스트
  5. 실시간 UI 업데이트 확인

�� 수정된 파일 목록

  • roles/models.py - 모델 확장
  • roles/views.py - API 뷰 추가
  • roles/urls.py - URL 패턴 추가
  • roles/clova_ai.py - AI API 설정
  • templates/main/roles.html - 역할 관리 페이지
  • static/css/pages/main/roles.css - 스타일
  • static/js/pages/main/roles.js - 프론트엔드 로직
  • templates/includes/modals/role-modal.html - 역할 등록 모달

*지금 AI 내용은 더미로 나옴! 역할탭 수정할 부분도 좀 있음

- 역할 관리 모델 확장 (설명, 생성자, AI 생성 여부 필드 추가)
- 새로운 API 엔드포인트 추가 (역할 CRUD, 할당, 삭제)
- AI 역할 추천 시스템 구현 (전공 자동 불러오기, 선호역할 동기화)
- 팀원 역할 지정 시스템 (드롭다운 + 지정하기)
- 실시간 UI 업데이트 (페이지 새로고침 없이 모든 기능 작동)
- 컬러 통일 (모든 버튼 파란색, 팀장 회색 배지)
- 반응형 디자인 적용
- MGP 규칙에 따른 모든 백엔드 수정사항 주석 처리
- roles/clova_ai.py: dev 브랜치 환경변수 로딩 로직 유지, MGP 하드코딩 API 키 적용
- roles/views.py: dev 브랜치 recommend_role_api 로직 유지, MGP 추가 기능들 주석 처리
  - 역할 삭제 API (delete_role_api)
  - 역할 할당 API (assign_role_api)
  - 개선된 프롬프트 생성 함수 (make_enhanced_prompt)
@subeeen subeeen merged commit 4a172ec into dev Aug 7, 2025
@subeeen

subeeen commented Aug 7, 2025

Copy link
Copy Markdown
Collaborator

수고하셨습니다!!!!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants