Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
113 commits
Select commit Hold shift + click to select a range
5442979
feat(피드): 피드 조회를 위한 DTO, 컨트롤러, 서비스, 레포지토리 구현
joohyun1996 Jan 27, 2026
bc940fa
Merge branch 'develop' into feat/feed/get-all-member-feeds
joohyun1996 Jan 27, 2026
5b757da
feat(피드): 페이징 및 Slice 기능 추가, DTO/레포지토리 구조 개선 (#499)
joohyun1996 Jan 27, 2026
5bc5056
feat(피드): 피드 전체 조회 테스트코드 작성 (#499)
joohyun1996 Jan 27, 2026
c475bec
feat(피드): 피드 전체 조회 명세서 작성 및 ascii doctor 힙 메모리 수정 (#499)
joohyun1996 Jan 27, 2026
ad77adf
feat(피드): PR 리뷰 반 (#499)
joohyun1996 Jan 28, 2026
9829010
feat(피드): 회원이 특정 피드에 좋아요와 댓글을 단 경우 반환하는 컬럼 추가 및 명세서 작성 (#499)
joohyun1996 Jan 28, 2026
f6d3064
feat(피드): 특정 피드 조회를 위한 DTO, 서비스, 레포지토리 및 컨트롤러 구현 (#500)
joohyun1996 Jan 28, 2026
411496c
feat(피드): 특정 피드 조회를 위한 DTO, 서비스, 레포지토리 및 컨트롤러 구현 (#500)
joohyun1996 Jan 28, 2026
7d8e8ce
feat(피드): 특정 피드 조회 기능 테스트코드 작성 (#500)
joohyun1996 Jan 28, 2026
3f1fb0a
feat(피드): 특정 피드 조회 기능 명세서 작성 (#500)
joohyun1996 Jan 28, 2026
7ca4a2f
feat(피드): feedId 변수 참조 오류 수정 (#500)
joohyun1996 Jan 28, 2026
2a85774
feat(피드): 버전 업데이트 [0.11.2]
joohyun1996 Jan 28, 2026
20bece8
feat(피드): PR 리뷰 반영 (#500)
joohyun1996 Jan 28, 2026
abcc87f
Merge pull request #515 from projects200/feat/feed/get-all-member-feeds
joohyun1996 Jan 28, 2026
2291bdc
Merge pull request #516 from projects200/feat/feed/get-specific-feed
joohyun1996 Jan 28, 2026
8c26410
[FEAT] 댓글 작성, 조회, 삭제 API
dlchdaud123 Jan 29, 2026
40c2ce8
[FEAT] 댓글 생성, 삭제, 조회 테스트 코드 작성
dlchdaud123 Jan 29, 2026
0c727e0
Merge remote-tracking branch 'origin' into feat/comment/get-comments
dlchdaud123 Jan 29, 2026
f437212
[CHORE] DDL feed_likes 문법 오류 수정, 댓글 관련 에러 코드 수정
dlchdaud123 Jan 29, 2026
f8d24bc
[CHORE] 테스트 코드 description 수정
dlchdaud123 Jan 29, 2026
a7aec3e
feat(피드): 마이페이지 피드 조회 기능 추가 [0.11.3] (#506)
joohyun1996 Jan 29, 2026
b152873
feat(피드): 마이페이지 피드 조회 기능 테스트 코드 작성 (#506)
joohyun1996 Jan 29, 2026
9729a0f
feat(피드): 마이페이지 피드 조회 기능 명세서 작 (#506)
joohyun1996 Jan 29, 2026
e986cfa
feat(피드): PR 리뷰 반
joohyun1996 Jan 29, 2026
5ae8edf
feat(피드): 회원 피드 생성 기능 개발 및 관련 테스트 코드 추가 (#501)
joohyun1996 Jan 29, 2026
cdf8314
feat(피드): 피드 생성 API 명세서 추가 및 버전 업데이트 [0.11.4] (#501)
joohyun1996 Jan 29, 2026
f7b7480
feat(피드): DTO 필드 타입 Integer/Boolean으로 변경 및 feedType left join으로 수정 (#…
joohyun1996 Jan 29, 2026
2bd607f
feat(피드): PR 리뷰 반영
joohyun1996 Jan 29, 2026
5824a67
feat(피드): PR 리뷰 반영
joohyun1996 Jan 29, 2026
5a4f621
[ADD] 댓글 삭제, 조회, 생성 API 명세서 작성
dlchdaud123 Jan 29, 2026
3fbdb01
feat(피드): 피드 수정 기능 추가 및 관련 엔티티, API 구현 [0.11.8] (#502)
joohyun1996 Jan 30, 2026
38400cc
feat(피드): 피드 수정 기능 테스트코드 작성 (#502)
joohyun1996 Jan 30, 2026
5bc376d
feat(피드): 피드 수정 기능 명세서 작성 (#502)
joohyun1996 Jan 30, 2026
10ab9d6
PR 리뷰 반영
joohyun1996 Jan 30, 2026
245224a
feat(피드): 피드 삭제 기능 추가 및 논리적 삭제 로직 구현 (#503)
joohyun1996 Jan 30, 2026
afa83b3
feat(피드): 피드 삭제 기능 테스트코드 작성 (#503)
joohyun1996 Jan 30, 2026
158d867
feat(피드): 피드 삭제 기능 API 명세서 작성 (#503)
joohyun1996 Jan 30, 2026
c1fa380
feat(피드): 버전 업데이트 [0.11.9] (#503)
joohyun1996 Jan 30, 2026
7d687eb
Merge pull request #520 from projects200/feat/feed/get-my-feeds
joohyun1996 Feb 2, 2026
6001777
Merge pull request #521 from projects200/feat/feed/create-feed-content
joohyun1996 Feb 2, 2026
470bfc5
Merge pull request #525 from projects200/feat/feed/update-feed-content
joohyun1996 Feb 2, 2026
5ff11f9
Merge pull request #526 from projects200/feat/feed/delete-feed-content
joohyun1996 Feb 2, 2026
ca87e14
Merge branch 'develop' into feat/comment/get-comments
joohyun1996 Feb 2, 2026
d932c36
feat(피드) : 피드 사진 업로드 및 최대 갯수 제한 로직 구현 [0.11.10] (#504)
joohyun1996 Feb 2, 2026
8aef6cd
feat(피드): 피드 사진 관련 Service 및 Repository 테스트 코드 추가 (#504)
joohyun1996 Feb 2, 2026
057d569
feat(피드): 피드 이미지 목록 추가 API 명세서 작성 (#504)
joohyun1996 Feb 2, 2026
3749d64
feat(피드): 테스트코드 미비 사항 보완 (#504)
joohyun1996 Feb 2, 2026
580a5cd
feat(피드): PR 리뷰 반
joohyun1996 Feb 2, 2026
5d5bfab
[FEAT] 댓글 좋아요 API 개발
dlchdaud123 Feb 3, 2026
b78b984
Merge pull request #527 from projects200/feat/feeds/create-feed-images
joohyun1996 Feb 3, 2026
f2a5f84
[FEAT] 댓글 좋아요 테스트 코드 개발
dlchdaud123 Feb 4, 2026
97daccd
[ADD] 댓글 좋아요 명세서 수정
dlchdaud123 Feb 4, 2026
be3169f
Merge branch 'develop' into feat/comment/post-like
dlchdaud123 Feb 4, 2026
25a121e
feat(피드) : 피드 사진 업로드 및 최대 갯수 제한 로직 구현 [0.11.10] (#504)
joohyun1996 Feb 2, 2026
a3e3c90
feat(피드): 피드 사진 관련 Service 및 Repository 테스트 코드 추가 (#504)
joohyun1996 Feb 2, 2026
90fe4fc
feat(피드): 피드 이미지 목록 추가 API 명세서 작성 (#504)
joohyun1996 Feb 2, 2026
976adad
feat(피드): 테스트코드 미비 사항 보완 (#504)
joohyun1996 Feb 2, 2026
953a927
feat(피드): PR 리뷰 반
joohyun1996 Feb 2, 2026
f262cd8
Update Undabang Database DML.sql
joohyun1996 Feb 4, 2026
af869eb
Merge pull request #530 from projects200/joohyun1996-patch-1
joohyun1996 Feb 4, 2026
a695c02
[CHORE] 댓글 API PR 리뷰 반영
dlchdaud123 Feb 5, 2026
e9d1031
Merge branch 'develop' into feat/comment/get-comments
dlchdaud123 Feb 5, 2026
e8341c0
[FEAT] 피드 좋아요 API 개발
dlchdaud123 Feb 5, 2026
1a8482e
[ADD] 피드 좋아요 API 명세서 작성
dlchdaud123 Feb 6, 2026
f70a6b4
Merge pull request #522 from projects200/feat/comment/get-comments
dlchdaud123 Feb 6, 2026
c0eb972
[CHORE] 댓글 테스트 코드 수정
dlchdaud123 Feb 6, 2026
ea3df69
Merge pull request #532 from projects200/feat/comment/get-comments
dlchdaud123 Feb 7, 2026
8a9ffeb
Merge branch 'develop' into feat/comment/post-like
dlchdaud123 Feb 7, 2026
ecf9bd2
Merge branch 'develop' into feat/feed/post-like
dlchdaud123 Feb 7, 2026
de072c2
댓글 좋아요 Response DTO 수정
dlchdaud123 Feb 10, 2026
758edbc
[CHORE] 댓글 좋아요 Response DTO 수정
dlchdaud123 Feb 10, 2026
a8777e6
[CHORE] 댓글 생성 후에도 피드의 feedCommentsCount가 오르지 않는 오류 수정
dlchdaud123 Feb 10, 2026
61b6bfb
[CHORE] 댓글 목록 조회 시 맴버 프로필 안보이는 오류 수정
dlchdaud123 Feb 11, 2026
751d194
[CHORE] 댓글 목록 조회 테스트 코드 수정
dlchdaud123 Feb 11, 2026
8f20f11
[FEAT] 대댓글 태그 기능 개발
dlchdaud123 Feb 13, 2026
1ea5ea8
Merge pull request #528 from projects200/feat/comment/post-like
dlchdaud123 Feb 15, 2026
59d31bc
feat(피드): 피드 사진 삭제 기능 및 관련 예외 처리 로직 추가 (#505)
joohyun1996 Feb 17, 2026
a1b1781
feat(피드): 피드 사진 삭제 기능 테스트코드 추가 (#505)
joohyun1996 Feb 17, 2026
392235f
feat(피드): 피드 사진 삭제 기능 명세서 추가 (#505)
joohyun1996 Feb 17, 2026
3854189
feat(피드): 버전 업데이트
joohyun1996 Feb 17, 2026
93a6d91
feat(피드): PR 리뷰 반
joohyun1996 Feb 17, 2026
739d574
Merge pull request #540 from projects200/feat/feeds/delete-feed-images
joohyun1996 Feb 18, 2026
34b4d80
fix(CICD) : 특정 테스트코드가 CI/CD 과정에서 배포 안되는 오류 수정
joohyun1996 Feb 18, 2026
63ce38d
Merge pull request #541 from projects200/fix/CICD
joohyun1996 Feb 18, 2026
56723a4
fix(CICD) : 특정 테스트코드가 CI/CD 과정에서 배포 안되는 오류 수정
joohyun1996 Feb 18, 2026
b031c24
Merge pull request #542 from projects200/fix/CICD
joohyun1996 Feb 18, 2026
4af970e
fix(CICD) : 특정 테스트코드가 CI/CD 과정에서 배포 안되는 오류 수정
joohyun1996 Feb 18, 2026
7318f5e
Merge pull request #543 from projects200/fix/CICD
joohyun1996 Feb 18, 2026
c85f498
Merge branch 'develop' into feat/feed/post-like
dlchdaud123 Feb 18, 2026
f4aca34
fix(CICD) : 특정 테스트코드가 CI/CD 과정에서 배포 안되는 오류 수정
joohyun1996 Feb 18, 2026
d337231
Merge pull request #544 from projects200/fix/CICD
joohyun1996 Feb 18, 2026
64338e7
fix(CICD) : 특정 테스트코드가 CI/CD 과정에서 배포 안되는 오류 수정
joohyun1996 Feb 18, 2026
a9e9eb0
Merge pull request #545 from projects200/fix/CICD
joohyun1996 Feb 18, 2026
48361e4
fix(CICD) : 특정 테스트코드가 CI/CD 과정에서 배포 안되는 오류 수정
joohyun1996 Feb 18, 2026
fb11e28
Merge pull request #546 from projects200/fix/CICD
joohyun1996 Feb 18, 2026
e345b7a
Merge pull request #531 from projects200/feat/feed/post-like
dlchdaud123 Feb 18, 2026
f64e1cd
Merge branch 'develop' into fix/comment
dlchdaud123 Feb 26, 2026
e488c75
Merge pull request #538 from projects200/fix/comment
dlchdaud123 Feb 26, 2026
c2474b1
[FIX]댓글 좋아요 여부 표시 오류 수정
dlchdaud123 Feb 27, 2026
ab6cc5b
Merge branch 'develop' into fix/commentIsLiked
dlchdaud123 Feb 27, 2026
c53fd4e
Merge pull request #547 from projects200/fix/commentIsLiked
dlchdaud123 Feb 27, 2026
e649c0e
[FIX]댓글 commentIsLiked boolean 변수 빌드 테스트 오류 수정
dlchdaud123 Mar 3, 2026
4c44742
Merge pull request #553 from projects200/fix/commentIsLiked
dlchdaud123 Mar 3, 2026
461853b
[FEAT] 차단 관계가 있는 회원의 피드/댓글 조회 금지 설정
dlchdaud123 Mar 4, 2026
5b4a859
Merge pull request #554 from projects200/feat/blockedUserViewing
dlchdaud123 Mar 4, 2026
cf66ebe
Merge branch 'develop' into feat/comment/tag
dlchdaud123 Mar 4, 2026
6125b60
[FEAT] 댓글 태그 기능 개발
dlchdaud123 Mar 9, 2026
3f22bd7
Merge pull request #555 from projects200/feat/comment/tag
dlchdaud123 Mar 9, 2026
1136cfa
[FIX] ci 재시도 하기 위한 커밋
dlchdaud123 Mar 12, 2026
4764216
Merge pull request #556 from projects200/fix/ci
dlchdaud123 Mar 12, 2026
f86fd27
[FIX]댓글에서 멤버 프로필 사진이 null로 반환되는 오류 수정
dlchdaud123 Mar 19, 2026
f5a03c2
Merge pull request #557 from projects200/fix/commentProfileImage
dlchdaud123 Mar 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 20 additions & 1 deletion .github/workflows/dev-server-cicd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,13 @@ on:
jobs:
backend-CI:
runs-on: ubuntu-latest

# Testcontainers가 CI 환경에서 Docker를 잘 찾도록 환경 변수 추가
env:
TESTCONTAINERS_RYUK_DISABLED: true
TESTCONTAINERS_CHECKS_DISABLE: true
DOCKER_HOST: unix:///var/run/docker.sock

steps:
- name: Checkout
uses: actions/checkout@v4
Expand All @@ -28,6 +35,17 @@ jobs:
restore-keys: |
${{ runner.os }}-gradle-

# [핵심 2] Docker 소켓 권한 부여 & 상태 확인
# 이 스텝이 실패하면 아예 Runner 문제임
- name: Check Docker & Grant Permissions
run: |
echo "Granting permissions to docker socket..."
sudo chmod 666 /var/run/docker.sock

echo "Checking Docker info..."
docker info
shell: bash

- name: Configure AWS credentials
if: ${{ github.ref == 'refs/heads/develop'}}
uses: aws-actions/configure-aws-credentials@v4
Expand All @@ -51,10 +69,11 @@ jobs:
shell: bash

# 3. 모든 설정이 끝난 후 빌드 실행
# 권한 부여 및 --no-daemon 옵션 추가 (메모리 절약)
- name: Build Gradle
run: |
chmod +x gradlew
./gradlew build -Dspring.profiles.active=dev-docs
./gradlew clean build -Dspring.profiles.active=dev-docs --no-daemon
shell: bash

- name: Build and push image to Amazon ECR
Expand Down
12 changes: 11 additions & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ plugins {
}

group = 'com.project200'
version = '0.11.0-SNAPSHOT'
version = '0.12.2-SNAPSHOT'

java {
toolchain {
Expand Down Expand Up @@ -119,6 +119,8 @@ tasks.named('test') {
useJUnitPlatform()
// systemProperty("spring.profiles.active", System.getProperty("spring.profiles.active", "local"))
jvmArgs("-javaagent:${configurations.mockitoAgent.asPath}")

maxHeapSize = '4g'
}

tasks.named('asciidoctor') {
Expand All @@ -139,6 +141,14 @@ tasks.named('asciidoctor') {
attributes([
'snippets': snippetsDir
])

forkOptions {
jvmArgs(
'-Xmx2g', // 최대 힙 메모리 2GB 설정
'--add-opens', 'java.base/sun.nio.ch=ALL-UNNAMED',
'--add-opens', 'java.base/java.io=ALL-UNNAMED'
)
}
}

// 생성된 문서를 JAR에 포함시키기
Expand Down
8 changes: 4 additions & 4 deletions deploy-dev/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@ services:
networks:
- dev-server-network
environment:
# 개발 서버용 초경량 메모리 설정
# Xms128m: 시작할 때 128MB로 시작
# Xmx256m: 최대 256MB까지만 사용
# -XX:+UseSerialGC: 코어가 적은 CPU에서 효율적
- JAVA_OPTS=-Xms128m -Xmx256m -XX:+UseSerialGC
deploy:
resources:
limits:
memory: 400M

networks:
dev-server-network:
Expand Down
11 changes: 11 additions & 0 deletions deploy-prod/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,17 @@ services:
interval: 10s
timeout: 5s
retries: 5
# 운영 서버는 스왑메모리 영역에 최대한 가지 않도록 설정

environment:
- JAVA_TOOL_OPTIONS=-Xms400m -Xmx500m -XX:MaxMetaspaceSize=128m

deploy:
resources:
limits:
memory: 600M
reservations:
memory: 512M

networks:
server-network:
Expand Down
7 changes: 2 additions & 5 deletions deploy-prod/scripts/config.sh
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,5 @@ export ACTIVE_APP_CONF=sudo sed -i 's|export ACTIVE_APP_CONF="active_app.conf"|e
# Nginx가 include할 활성 앱 upstream 설정 파일 이름

# 헬스 체크 설정
export MAX_HEALTH_RETRIES=20 # 30초 * 20 회
export HEALTH_CHECK_INTERVAL=30

# 초기 구동 대기 시간
export INITIAL_WAIT_TIME=90 # 90초 동안 대기
export MAX_HEALTH_RETRIES=30 # 최대 재시도 횟수
export HEALTH_CHECK_INTERVAL=10 # 헬스 체크 간격 (초)
4 changes: 2 additions & 2 deletions deploy-prod/scripts/start_sub_container.sh
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ export MAIN_PORT SUB_PORT ECR_REGISTRY ECR_REPOSITORY IMAGE_TAG # docker-compose
docker-compose -f docker-compose-sub.yml up -d server-prod-sub

# 간단한 시작 확인 (본격적인 헬스체크는 Validate Service에서 수행)
echo "Waiting for server-prod-sub to initialize ($INITIAL_WAIT_TIME seconds)..."
sleep "$INITIAL_WAIT_TIME" # config.sh에서 설정한 60초 대기# 컨테이너가 완전히 시작될 시간을 줍니다. 애플리케이션 시작 시간에 따라 조절.
echo "Waiting briefly for server-prod-sub to initialize..."
sleep 15 # 컨테이너가 완전히 시작될 시간을 줍니다. 애플리케이션 시작 시간에 따라 조절.

if ! docker ps | grep -q "server-prod-sub"; then
echo "ERROR: server-prod-sub container failed to start!"
Expand Down
4 changes: 2 additions & 2 deletions deploy-prod/scripts/validate_and_switch.sh
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@ clean_specific_containers "server-prod"
echo "Starting new version of server-prod on MAIN_PORT ($MAIN_PORT)..."
docker-compose -f docker-compose.yml up -d server-prod

echo "Waiting for server-prod-sub to initialize ($INITIAL_WAIT_TIME seconds)..."
sleep "$INITIAL_WAIT_TIME" # config.sh에서 설정한 60초 대기 # 애플리케이션 시작 시간에 따라 조절
echo "Waiting briefly for server-prod to initialize..."
sleep 15 # 애플리케이션 시작 시간에 따라 조절

if ! docker ps | grep -q "server-prod"; then
echo "ERROR: server-prod container failed to start!"
Expand Down
14 changes: 13 additions & 1 deletion documents/Undabang SQL/Undabang Database DDL.sql
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ DROP TABLE IF EXISTS notification_types;
DROP TABLE IF EXISTS fcm_tokens;

DROP TABLE IF EXISTS comment_likes;
DROP TABLE IF EXISTS comment_tags;
DROP TABLE IF EXISTS comments;
DROP TABLE IF EXISTS feed_likes;
DROP TABLE IF EXISTS feed_pictures;
Expand Down Expand Up @@ -613,7 +614,7 @@ CREATE TABLE feeds
(
feed_id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT '피드 식별자',
member_id CHAR(36) NOT NULL COMMENT 'UUID_SELF',
feed_type_id BIGINT NOT NULL,
feed_type_id BIGINT NULL,
feed_content TEXT NOT NULL,
feed_likes_cnt INTEGER NOT NULL DEFAULT 0,
feed_comments_cnt INTEGER NOT NULL DEFAULT 0,
Expand Down Expand Up @@ -660,6 +661,17 @@ CREATE TABLE comments
CONSTRAINT FK_comments_feed FOREIGN KEY (feed_id) REFERENCES feeds (feed_id)
);

CREATE TABLE comment_tags
(
comment_tag_id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT '댓글 태그 식별자',
comment_id BIGINT NOT NULL,
tagged_member_id CHAR(36) NOT NULL COMMENT '태그된 회원 UUID',
comment_tag_created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,

CONSTRAINT FK_comment_tags_comment FOREIGN KEY (comment_id) REFERENCES comments (comment_id),
CONSTRAINT FK_comment_tags_member FOREIGN KEY (tagged_member_id) REFERENCES members (member_id)
);

CREATE TABLE comment_likes
(
comment_like_id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT '피드 댓글 좋아요 식별자',
Expand Down
61 changes: 56 additions & 5 deletions documents/Undabang SQL/Undabang Database DML.sql
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
INSERT INTO post_type (post_type_name, post_type_desc)
VALUES ('오운완 게시판', '오늘의 운동한 모습이나 결과를 자랑하는 게시판입니다');

INSERT INTO comment_report_subjects (comment_report_subject_name)
VALUES ('스팸홍보/도배입니다.'),
('음란물입니다.'),
Expand Down Expand Up @@ -221,11 +218,65 @@ VALUES ('레슬링', 'https://undabang-public-assets.s3.ap-northeast-2.amazonaws
('미식축구',
'https://undabang-public-assets.s3.ap-northeast-2.amazonaws.com/images/exercises/American_football.png');

INSERT INTO policies (policy_key, policy_value, policy_unit, policy_description)
INSERT INTO policies (policy_id, policy_key, policy_value, policy_unit, policy_description)
VALUES (21, 'PREFERRED_EXERCISE_MAX_COUNT', '5', 'COUNT', '선호 운동 최대 보유 갯수');

INSERT INTO policies (policy_id, policy_key, policy_value, policy_unit, policy_description)
VALUES (22, 'EXERCISE_LOCATION_MAX_DISTANCE_METER', '5000', 'METERS', '현재 사용자와 운동장소간의 허용 가능한 최대 거리');

INSERT INTO policy_group_mappings (policy_id, policy_groups_id)
VALUES (22, 5);
VALUES (22, 5);

INSERT INTO feed_types (feed_type_name, feed_type_desc, feed_type_is_active)
VALUES
('레슬링 다방', '레슬링 기술과 훈련 과정, 실전 경험을 공유하는 피드입니다.', 1),
('수구 다방', '수구 경기와 수중 훈련 노하우를 나누는 피드입니다.', 1),
('배구 다방', '배구 경기 후기와 팀 플레이 이야기를 나누는 피드입니다.', 1),
('테니스 다방', '테니스 플레이와 연습 팁, 레슨 정보를 공유하는 피드입니다.', 1),
('태권도 다방', '태권도 수련 과정과 품새, 겨루기 경험을 나누는 피드입니다.', 1),
('탁구 다방', '탁구 경기 결과와 연습 영상을 공유하는 피드입니다.', 1),
('스쿼시 다방', '스쿼시 플레이와 체력 훈련을 기록하는 피드입니다.', 1),
('축구 다방', '축구 경기와 전술, 팀 활동을 자유롭게 소통하는 피드입니다.', 1),
('스키 다방', '스키 시즌 이야기와 슬로프 후기를 공유하는 피드입니다.', 1),
('런닝 다방', '러닝 기록과 코스, 목표 달성을 공유하는 피드입니다.', 1),
('럭비 다방', '럭비 경기와 강도 높은 훈련 경험을 나누는 피드입니다.', 1),
('조정 다방', '조정 운동과 수상 훈련 기록을 공유하는 피드입니다.', 1),
('파워 리프팅 다방', '파워 리프팅 중량 기록과 훈련 루틴을 공유하는 피드입니다.', 1),
('필라테스 다방', '필라테스 동작과 자세 교정 경험을 기록하는 피드입니다.', 1),
('마라톤 다방', '마라톤 도전 과정과 대회 준비 이야기를 나누는 피드입니다.', 1),
('핸드볼 다방', '핸드볼 경기와 팀 훈련 소식을 공유하는 피드입니다.', 1),
('골프 다방', '골프 라운딩 후기와 연습 경험을 나누는 피드입니다.', 1),
('게이트볼 다방', '게이트볼을 즐기는 사람들의 소통 공간입니다.', 1),
('풋살 다방', '풋살 경기와 팀 활동을 공유하는 피드입니다.', 1),
('헬스 다방', '헬스와 웨이트 트레이닝 기록을 공유하는 피드입니다.', 1),
('낚시 다방', '낚시 기록과 조과, 포인트 정보를 나누는 피드입니다.', 1),
('펜싱 다방', '펜싱 훈련과 경기 경험을 공유하는 피드입니다.', 1),
('컬링 다방', '컬링 경기와 전략, 팀워크를 나누는 피드입니다.', 1),
('크로스핏 다방', '고강도 크로스핏 운동 기록을 공유하는 피드입니다.', 1),
('크리켓 다방', '크리켓 경기를 즐기는 사람들의 피드입니다.', 1),
('복싱 다방', '복싱 훈련과 스파링 경험을 나누는 피드입니다.', 1),
('볼링 다방', '볼링 점수와 플레이 경험을 공유하는 피드입니다.', 1),
('자전거 다방', '라이딩 코스와 자전거 운동 기록을 공유하는 피드입니다.', 1),
('농구 다방', '농구 경기와 플레이 이야기를 나누는 피드입니다.', 1),
('야구 다방', '야구 경기와 사회인 야구 활동을 공유하는 피드입니다.', 1),
('배드민턴 다방', '배드민턴을 즐기는 사람들의 소통 피드입니다.', 1),
('미식축구 다방', '미식축구 경기와 전술 이야기를 나누는 피드입니다.', 1);


-- 피드 좋아요 인덱스 : (피드ID + 회원ID)
CREATE INDEX idx_feed_likes_feed_member ON feed_likes (feed_id, member_id);

-- 댓글 인덱스 : (피드ID + 회원ID)
CREATE INDEX idx_comments_feed_member ON comments (feed_id, member_id);

-- 댓글 좋아요 인덱스: (댓글ID + 회원ID)
CREATE INDEX idx_comment_likes_comment_member ON comment_likes (comment_id, member_id);

INSERT INTO policies (policy_id, policy_key, policy_value, policy_unit, policy_description)
VALUES (23, 'FEED_PICTURE_MAX_COUNT', '5', 'COUNT', '저장할 수 있는 최대 피드 사진 수');

INSERT INTO policy_groups (policy_groups_id, policy_groups_name)
VALUES (6, 'feed');

INSERT INTO policy_group_mappings (policy_id, policy_groups_id)
VALUES (23, 6);
34 changes: 34 additions & 0 deletions src/docs/asciidoc/comment/댓글-삭제-API.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
== 댓글 삭제 API

=== 설명

- #DELETE# `/api/v1/comments/{commentId}`
- 본인이 작성한 댓글을 삭제하는 API 입니다.
- Soft Delete 방식으로 처리됩니다.

=== 개발 이력

- Sprint 23 (2026-01-29): 기능 개발이 완료되었습니다.

=== 개발 참고 사항

- <<공통-개발-참고-사항,공통 개발 참고 사항>>을 참고하세요.

=== 코드 샘플

operation::delete-comment/delete-comment_success[snippets="curl-request,http-request,http-response"]

=== 매개 변수

operation::delete-comment/delete-comment_success[snippets="request-headers,path-parameters,response-fields"]

==== 응답 상태 코드

|===
|상태 코드|설명
|200|댓글이 성공적으로 삭제되었습니다.
|401|인증되지 않은 요청입니다. Access Token이 없거나 유효하지 않습니다.
|403|댓글 삭제 권한이 없습니다. 본인이 작성한 댓글만 삭제할 수 있습니다.
|404|존재하지 않는 댓글입니다.
|===

34 changes: 34 additions & 0 deletions src/docs/asciidoc/comment/특정-피드에-댓글-작성-API.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
== 특정 피드에 댓글 작성 API

=== 설명

- #POST# `/api/v1/feeds/{feedId}/comments`
- 특정 피드에 댓글을 작성하는 API 입니다.
- 대댓글을 작성할 경우 `parentCommentId`를 함께 전송합니다.

=== 개발 이력

- Sprint 23 (2026-01-29): 기능 개발이 완료되었습니다.

=== 개발 참고 사항

- <<공통-개발-참고-사항,공통 개발 참고 사항>>을 참고하세요.

=== 코드 샘플

operation::create-comment/create-comment_success[snippets="curl-request,http-request,http-response"]

=== 매개 변수

operation::create-comment/create-comment_success[snippets="request-headers,path-parameters,request-fields,response-fields"]

==== 응답 상태 코드

|===
|상태 코드|설명
|201|댓글이 성공적으로 생성되었습니다.
|401|인증되지 않은 요청입니다. Access Token이 없거나 유효하지 않습니다.
|404|존재하지 않는 피드입니다. +
존재하지 않는 부모 댓글입니다.
|===

Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
== 특정 피드의 댓글 목록 조회 API

=== 설명

- #GET# `/api/v1/feeds/{feedId}/comments`
- 특정 피드에 작성된 댓글 목록을 조회하는 API 입니다.
- 대댓글도 함께 조회됩니다.

=== 개발 이력

- Sprint 23 (2026-01-29): 기능 개발이 완료되었습니다.

=== 개발 참고 사항

- <<공통-개발-참고-사항,공통 개발 참고 사항>>을 참고하세요.

=== 코드 샘플

operation::get-comments/get-comments_success[snippets="curl-request,http-request,http-response"]

=== 매개 변수

operation::get-comments/get-comments_success[snippets="request-headers,path-parameters,response-fields"]

==== 응답 상태 코드

|===
|상태 코드|설명
|200|요청이 성공적으로 처리되었습니다.
|401|인증되지 않은 요청입니다. Access Token이 없거나 유효하지 않습니다.
|404|존재하지 않는 피드입니다.
|===

Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
== 마이페이지에서 내가 작성한 피드 목록 조회 API

=== 설명

- #GET# `/api/v1/mypage/feeds`
- 회원이 자신이 작성한 피드의 전체 목록을 조회하는 API 입니다.

=== 개발 이력

- Sprint 23 (2026-01-29): 기능 개발이 완료되었습니다.

=== 개발 참고 사항

- <<공통-개발-참고-사항,공통 개발 참고 사항>>을 참고하세요.

=== 코드 샘플

operation::get-my-page-feeds/get-my-page-feeds_-success[snippets="curl-request,http-request,http-response"]

=== 매개 변수

operation::get-my-page-feeds/get-my-page-feeds_-success[snippets="request-headers,response-fields"]

==== 응답 상태 코드

|===
|상태 코드|설명
|200|요청이 성공적으로 처리되었습니다.
|401|인증되지 않은 요청입니다. Access Token이 없거나 유효하지 않습니다
|404|존재하지 않는 회원입니다.
|===

Loading
Loading