- 개발환경
docker compose up -d --build- 운영환경
docker compose -f docker-compose.yml -f docker-compose-prod.yml down -v
docker compose -f docker-compose.yml -f docker-compose-prod.yml pull
docker compose -f docker-compose.yml -f docker-compose-prod.yml up -d
docker image prune -f- 프로젝트 이름: Actionary
- 프로젝트 설명: 모든 갓생 습관을 한 곳에 담은 올인원 생산성 플랫폼
| 문수정 | 백다현 | 강나현 |
|---|---|---|
| BE Leader | BE | BE |
| GitHub | GitHub | GitHub |
-
회원가입:
- 회원가입 시 DB에 유저정보가 등록됩니다.
-
로그인:
- 사용자 인증build 정보를 통해 로그인합니다.
-
스터디:
- 사용자가 스터디를 생성하고 참여할 수 있는 실시간 화상 스터디 기능입니다.
- 스터디 내에서 카메라와 마이크 기능을 제공하며 스터디 내 채팅을 제공합니다.
- 스터디 내에서 뽀모도로 기능을 실행할 수 있으며 공부 시간과 쉬는 시간을 관리할 수 있습니다.
-
투두 리스트:
- 오늘 할 일들에 대한 카테고리와 투두리스트 생성을 제공합니다.
- 캘린더에서 투두리스트 달성 개수와 달성률을 아이콘으로 한눈에 확인할 수 있습니다.
-
게시판:
- 말머리를 선택하여 자유롭게 게시글을 생성, 수정, 삭제할 수 있습니다.
- 일반 댓글과 비밀 댓글 기능을 제공하여 사용자들과 소통할 수 있습니다.
-
Ai 요약 서비스:
- 파일을 제공하면 AI가 핵심 내용을 요약합니다.
-
사이드바:
- 사이드바로 오늘의 투두리스트, 공부시간과 누적 포인트를 간편하게 조회할 수 있습니다.
- 사이드바 내 알림창을 통하여 본인에게 온 알림들을 확인할 수 있습니다.
-
마이페이지:
- 본인의 개인 정보 수정이 가능합니다.
- 누적 포인트와 포인트에 따른 배지 조회가 가능합니다
- 자주 사용하는 사이트는 북마크 등록을 통해 바로 이동 가능합니다.
| 문수정 |
|
|
| 백다현 |
|
|
| 강나현 |
|
.
├── .github/
│ ├── ISSUE_TEMPLATE/ # github Issue Template
│ ├── workflows/ # github actions CI / CD workflows
│ └── PULL_REQUEST_TEMPLATE.md # github PR Template
├── src/main/java/com/req2res/actionarybe/
│ ├── domain/ # DDD 구조
│ │ ├── aisummary/ # AI 요약
│ │ │ ├── controller/
│ │ │ ├── dto/
│ │ │ ├── entity/
│ │ │ ├── repository/
│ │ │ ├── service/
│ │ │ └── worker/ # 비동기 작업 처리
│ │ ├── auth/ # 인증, 인가
│ │ ├── bookmark/ # 북마크
│ │ ├── comment/ # 댓글
│ │ ├── image/ # 이미지
│ │ ├── member/ # 회원
│ │ ├── notification/ # 알림
│ │ ├── point/ # 포인트
│ │ ├── post/ # 게시글
│ │ ├── search/ # 검색
│ │ ├── study/ # 스터디, 스터디 상호작용, 스터디 참여
│ │ ├── studyTime/ # 공부량
│ │ └── todo/ # 투두리스트
│ ├── global/ # 전역
│ │ ├── config/ # 설정 (Janus, OpenAI 등)
│ │ ├── event/ # 이벤트 기반 통신 관련
│ │ ├── exception/ # 전역 예외 처리
│ │ ├── security/ # 보안 설정
│ │ └── ...
│ ├── resources/
│ │ ├── application.yml # 개발 환경 설정
│ │ ├── application-prod.yml # 운영 환경 설정
│ │ └── ...
│ └── test/ # http 테스트
├── build.gradle # 의존성 관리
├── docker-compose.yml # 개발 환경 인프라 (DB, Redis 등)
├── docker-compose-prod.yml # 운영 환경 인프라 (SpringBoot, NGINX등)
├── Dockerfile # 앱 이미지 빌드 설정
└── ...
우리의 브랜치 전략은 Git Flow를 기반으로 하며, 다음과 같은 브랜치를 사용합니다.
-
Main Branch
- 배포 가능한 상태의 코드를 유지합니다.
-
Develop Branch
- main 브랜치에 머지 전, develop 브랜치 기준으로 개발합니다.
- 배포 가능한 상태의 코드를 유지합니다.
-
Issue Branch
{이슈타입}/{#이슈번호}-이슈이름-영문-형식으로 작성합니다.- 모든 기능 개발은 이 브랜치에서 이루어집니다.
- 이슈당 하나의 브랜치로 개발합니다.
- 원격 브랜치는 PR / 머지 후 삭제를 원칙으로 합니다.
- Issue Branch 예시
== ex1 feat/#1-project-initialization == ex2 fix/#40-oauth-fix
- 네이버 코딩 컨벤션을 사용합니다.
- 클래스명 : 파스칼 케이스
- 메서드 & 변수명 : 카멜 케이스
- 상수명 : 스네이크 케이스
public class SummaryService {
public static final int MAX_LIMIT = 10;
public void processSummary(String fileName) { ... }
}
폴더 & 패키지명 : 소문자
// 소문자
aisummary
{타입}: {#이슈번호} - 커밋내용으로 작성합니다.
feat : 새로운 기능 추가
fix : 버그 수정
docs : 문서 수정
style : 코드 포맷팅, 세미콜론 누락, 코드 변경이 없는 경우
refactor : 코드 리펙토링
test : 테스트 코드, 리펙토링 테스트 코드 추가
chore : 빌드 업무 수정, 패키지 매니저 수정
== ex1
feat: #27 - 포인트 사용 내역 조회
== ex2
chore: #1 - application 및 docker-compose.yml 설정