Skip to content

[codex] 주일 주보 및 월기 악보 추가#90

Draft
min1336 wants to merge 2 commits into
mainfrom
codex/bulletin-monthly-sheet-music
Draft

[codex] 주일 주보 및 월기 악보 추가#90
min1336 wants to merge 2 commits into
mainfrom
codex/bulletin-monthly-sheet-music

Conversation

@min1336

@min1336 min1336 commented Jun 28, 2026

Copy link
Copy Markdown
Contributor

변경 사항

  • 홈 링크에 주일 주보와 월기 악보 항목을 추가했습니다.
  • 관리자가 주보 이미지를 2개 슬롯에 업로드/교체/삭제할 수 있는 화면과 API를 추가했습니다.
  • 사용자가 주일 주보 이미지를 모바일 화면에서 볼 수 있는 페이지를 추가했습니다.
  • 월기 악보 링크를 기존 링크 데이터에 migration으로 추가했습니다.

검증

  • 로컬 관리자 페이지에서 주보 슬롯 2개와 이미지 표시 확인
  • 로컬 dawndew 링크 화면에서 주일 주보, 월기 악보 표시 확인
  • git diff --check origin/main..HEAD 통과

@iubns iubns requested review from Copilot and iubns and removed request for Copilot June 29, 2026 06:15
@iubns iubns requested a review from Copilot June 29, 2026 06:22

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds support for Sunday bulletin images (2-slot upload/replace/delete by admins + public viewing page) and introduces new home/link entries for “주일 주보” and “월기 악보” via database migrations.

Changes:

  • Add bulletin image storage + API (GET /bulletin, PUT /bulletin/:slot, DELETE /bulletin/:slot) and expose uploaded images via a static route.
  • Add client pages for bulletin viewing (/bulletin) and admin bulletin management (/admin/bulletin), plus an admin menu entry.
  • Add link seed/migrations for “주일 주보” (internal /bulletin/) and “월기 악보” (external URL), and adjust link opening logic to support internal paths.

Reviewed changes

Copilot reviewed 13 out of 14 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
server/src/routes/index.ts Mount bulletin router and serve bulletin images via a static route.
server/src/routes/bulletin.ts New bulletin image API and upload handling.
server/src/model/dataSource.ts Add repository export for BulletinImage.
server/src/model/bulletin.ts New model helpers for 2-slot bulletin image storage.
server/src/entity/bulletinImage.ts New TypeORM entity for bulletin images.
server/src/migration/1782521200000-CreateBulletinImage.ts Create bulletin_image table.
server/src/migration/1782600000000-AddSundayBulletinLink.ts Seed “주일 주보” link pointing to /bulletin/.
server/src/migration/1782700000000-AddMonthlySheetMusicLink.ts Seed “월기 악보” external link.
client/src/types/bulletin.ts Add client-side types for bulletin images.
client/src/app/link/page.tsx Use configured axios + support internal link navigation.
client/src/app/bulletin/page.tsx New public bulletin image viewer page.
client/src/app/admin/components/Header/index.tsx Add “주보 관리” menu item.
client/src/app/admin/bulletin/page.tsx New admin bulletin image upload/replace/delete UI.
.gitignore Ignore bulletin upload directory and additional local config files.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +13 to +16
export const bulletinImagePath = "../bulletin/image/"
const maxBulletinImageSize = 10 * 1024 * 1024

fs.mkdirSync(bulletinImagePath, { recursive: true })
Comment on lines +39 to +44
if (link.url.startsWith("/")) {
window.location.href = link.url
return
}
window.open(link.url, "_blank")
}
Comment on lines +38 to +54
<IconButton
onClick={goBack}
sx={{
position: "fixed",
top: 12,
left: 12,
zIndex: 9999,
color: "#111",
bgcolor: "rgba(255,255,255,0.88)",
boxShadow: "0 2px 10px rgba(0,0,0,0.14)",
"&:hover": {
bgcolor: "white",
},
}}
>
<ArrowBackIcon />
</IconButton>

@iubns iubns left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

기능상으론 큰 문제가 없어보여요!
그래도 지난주 주보도 볼 수 있으면 좋을거 같아요~

Comment thread .gitignore
Comment on lines +6 to +7
.env.local
ormconfig.js

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이거 파일 위치가 여기가 아니텐데?!!
서버 안에 있는 .gitignore 파일에 해야하는데, 이미 되어 있을겁니다~

Comment on lines +10 to +35
INSERT INTO \`link\` (
\`id\`,
\`title\`,
\`type\`,
\`url\`,
\`displayOrder\`,
\`isActive\`
)
SELECT
'${sundayBulletinLinkId}',
'주일 주보',
'link',
'/bulletin/',
linkOrder.nextDisplayOrder,
true
FROM (
SELECT COALESCE(MAX(\`displayOrder\`), 0) + 1 AS nextDisplayOrder
FROM \`link\`
) AS linkOrder
WHERE NOT EXISTS (
SELECT 1
FROM \`link\`
WHERE \`id\` = '${sundayBulletinLinkId}'
OR \`title\` = '주일 주보'
OR \`url\` = '/bulletin/'
)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

링크 말고 메뉴에 넣어줘요!

Comment on lines +10 to +37
INSERT INTO \`link\` (
\`id\`,
\`title\`,
\`type\`,
\`url\`,
\`displayOrder\`,
\`isActive\`
)
SELECT
'${monthlySheetMusicLinkId}',
'월기 악보',
'link',
'https://m.site.naver.com/14Nhc',
linkOrder.nextDisplayOrder,
true
FROM (
SELECT COALESCE(MAX(\`displayOrder\`), 0) + 1 AS nextDisplayOrder
FROM \`link\`
) AS linkOrder
WHERE NOT EXISTS (
SELECT 1
FROM \`link\`
WHERE \`id\` = '${monthlySheetMusicLinkId}'
OR \`title\` = '월기 악보'
OR \`url\` = 'https://m.site.naver.com/14Nhc'
)
`)
}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

월기는 링크라서 이것도 괜찮을거 같기도?...

Comment on lines +1 to +2
"use client"

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

주보는 주차별로 목록이 있고 내려가면서 쭉 볼 수 있으면 좋을거 같은데!..
딱 이번주만 보이는것보단, 지난주도 볼 수 있으면 좋지 않을까요?

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.

3 participants