💡 프로젝트 주제

👥 프로젝트 구성원과 R&R

팀원 주요 담당
김민형 팀장, 알림 기능 개발
김하은 관심사 기능 개발
김현민 댓글 기능 개발
조성진 뉴스 기능 개발
황준수 사용자 관리 기능, 활동 내역 조회 기능 개발

🗓️ 프로젝트 일정 요약

항목 기간 내용
기획 및 요구사항 정리 4/15 ~ 4/16 프로젝트 방향성 논의, DB 스키마 설계
공통 기능 개발 4/16 공통 예외, 로깅, 엔티티, S3 환경 설정, 테스트 자동화 설계
1차 개발 스프린트 4/17 ~ 4/23 주요 기능 개발(사용자, 뉴스, 알림 등 80% 구현)
1차 점검 & 회고 4/24 9시 기능 시연 및 피드백, 진행상황 공유
중간 발표 4/27 14시
2차 개발 스프린트 4/27 ~ 4/30 피드백 반영 및 코드 품질 향상(기본 기능 완성)
CI/CD 배포 4/27 ~ 4/28 AWS 배포 파이프라인 구축 및 배포 자동화
2차 점검 4/30 16시 기능 시연 및 피드백
3차 개발 스프린트 4/30 ~ 5/7 추가 기능 개발 및 리팩토링
최종 점검 5/7 18시 기능 시연 및 최종 피드백
문서화 4/30 ~ 5/7 발표자료 및 최종 문서화 작업
최종발표 5/8 9시

📚 프로젝트 세부 계획

MoNew • sb10-part3-team3

⚙️ 기술 스택 및 협업 도구

분류 사용 예정 도구
Backend Spring Boot, Spring Batch
Database PostgreSQL, ‎MongoDB, AWS S3
배포 AWS ECS, MongoDB Atlas
API 문서화 Swagger
협업 도구 Discord, GitHub, Notion
일정 관리 GitHub Issues

🧩 규칙 수립

개발 컨밴션 및 팀 규칙을 수립해주세요.

항목 내용 비고
네이밍 컨벤션 • 약어 사용 최소화
• camelCase (변수, 함수)
• PascalCase (클래스)
• lower-kebab-case (URL)
• UPPER_SNAKE_CASE(상수) 등
• 테스트 코드 컨벤션
  ◦ shoud_when 구조
  ◦ 설명은 한글 서술식 + 마침표 | [‣](<https://www.notion.so/c00254ef76b682c496c3019f4db6413a>)  |

| 코드 컨벤션 | • 연산자 사이 공백 추가 • 콤마 다음 공백 추가 • 한 줄에 한 문장 • Google Java Style Guide 적용 | | | 커밋 컨벤션 | • feat, fix, refactor, docs, style, test, chore 등 • 커밋 컨벤션 템플릿 적용 | | | 브랜치 전략 | • main: 배포가능 코드 • dev: 개발 환경 코드 모음 • feature/이슈번호-기능명: 기능 개발 • hotfix/이슈번호-변경내용: 간단한 수정사항 • release: 배포 브랜치 | | | PR 컨벤션 | • 1명 이상 Approve 필수 • 코드래빗 리뷰 반영 필수 • test 통과(CodCov) ◦ 새로운 코드 테스트 커버리지 70% 필수 • dev 브랜치로 Merge 시 스쿼시 방식 적용 • 작업 내용과 변경사항, 체크리스트 등을 담은 템플릿 적용 | | | 데일리 스크럼 | 오전 9시, 오후 6시에 팀 데일리 스크럼 진행 | | | 이슈 컨벤션 | • 이슈 주요 작업 내용을 담은 이슈 템플릿 적용 • 카테고리 및 작업 상황, 작업 기간 설정 | | | 기타 개발 규칙 | 개발 방식 • TDD 도입 Entity 생성 • 정적팩토리 메서드 사용(create() ) • Mapper 내부 생성X DTO • record로 생성 도메인 의존 • 생명주기와 관련된 경우 서비스 의존 • 단순 조회 - 레포지토리 의존 Mapper • Mapstruct 활용 • 서비스에서 변환하여 반환 테스트 • 단위테스트 및 통합 테스트 필수 • 통합 테스트 작성 시, AWS 리소스를 사용하는 경우, @Tag@EnabledIfEnvironmentVariable사용 • 컨트롤러 슬라이스 테스트 작성 • 작성한 코드에 대해 80% 커버리지 보장 • BDD • 태그 활용(unit/integration/aws) 예외 • 도메인별로 패키지 생성 • 상위 도메인 예외를 상속하여 구현 로깅 • 서비스 레벨에 대해 로그 작성 • SLF4J 활용 • 서비스 종료와 주요 로직 외에는 debug로 작성 문서화 • 스웨거 문서화 코드 작성 • interface로 문서화 별도 작성 | | | AWS 사용 컨벤션 | • 개별 IAM 계정 부여 • 사용자 그룹 활용 • 최소한의 권한 연결 | |

📘 설계 문서

1) 요구사항 정의서

https://docs.google.com/spreadsheets/d/1wDdlF1cUaX2ReYMBSfZH6NytVy9-uuuVviT5A4RkpgY/edit?gid=0#gid=0