From cb688391a97848746420f6dc5de8080b2306b9fd Mon Sep 17 00:00:00 2001 From: ejPark43 <130718231+ejPark43@users.noreply.github.com> Date: Fri, 6 Jun 2025 23:09:09 +0900 Subject: [PATCH] :memo: docs: Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Readme μž‘μ„± --- README.md | 114 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 113 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index feeef390..f5820ce0 100644 --- a/README.md +++ b/README.md @@ -1 +1,113 @@ -![CodeRabbit Pull Request Reviews](https://img.shields.io/coderabbit/prs/github/handong-app/CMS?utm_source=oss&utm_medium=github&utm_campaign=handong-app%2FCMS&labelColor=171717&color=FF570A&link=https%3A%2F%2Fcoderabbit.ai&label=CodeRabbit+Reviews) +![Docker](https://img.shields.io/badge/Container-Docker-blue?logo=docker) +![Nginx](https://img.shields.io/badge/WebServer-Nginx-green?logo=nginx) +![Spring Boot](https://img.shields.io/badge/Backend-SpringBoot%20(Java%2017)-6DB33F?logo=springboot) +![MariaDB](https://img.shields.io/badge/Database-MariaDB-003545?logo=mariadb) +![React](https://img.shields.io/badge/Frontend-React-61DAFB?logo=react) +![TypeScript](https://img.shields.io/badge/Language-TypeScript-3178C6?logo=typescript) +![Vite](https://img.shields.io/badge/Build-Vite-646CFF?logo=vite) +![MUI](https://img.shields.io/badge/UI-MUI-007FFF?logo=mui) +![Python](https://img.shields.io/badge/Worker-Python%203.12-yellow?logo=python) +![FFmpeg](https://img.shields.io/badge/Transcoder-FFmpeg-black?logo=ffmpeg) +![RabbitMQ](https://img.shields.io/badge/Queue-RabbitMQ-FF6600?logo=rabbitmq) +![MinIO](https://img.shields.io/badge/Storage-MinIO-red?logo=minio) +![Infisical](https://img.shields.io/badge/Secrets-Infisical-2B90B6) + +# 🎬 CMS + +## πŸ“š λͺ©μ°¨ + +- [μ†Œκ°œ](#μ†Œκ°œ) +- [🎯 μ£Όμš” λͺ©μ ](#-μ£Όμš”-λͺ©μ ) +- [πŸ”‘ μ£Όμš” κΈ°λŠ₯ μš”μ•½](#-μ£Όμš”-κΈ°λŠ₯-μš”μ•½) +- [πŸ“‚ ν”„λ‘œμ νŠΈ ꡬ쑰](#-ν”„λ‘œμ νŠΈ-ꡬ쑰) +- [πŸ–₯️ Client Environment](#️-client-environment) +- [🀝 Dev & Collaboration Tools](#-dev--collaboration-tools) +- [πŸ§ͺ ν…ŒμŠ€νŠΈ 및 ν’ˆμ§ˆ 관리](#-ν…ŒμŠ€νŠΈ-및-ν’ˆμ§ˆ-관리) +- [πŸ”„ CI/CD & μžλ™ 배포](#-cicd--μžλ™-배포) + +--- + +## μ†Œκ°œ + +> λ³Έ ν”„λ‘œμ νŠΈλŠ” λŒ€ν•™ 동아리 ν™œλ™μ„ μœ„ν•œ **온라인 μ½˜ν…μΈ  곡유 및 관리 ν”Œλž«νΌ**μž…λ‹ˆλ‹€. νšŒμ›λ“€μ€ κ°•μ˜ μ˜μƒκ³Ό ν•™μŠ΅ 자료λ₯Ό μ—…λ‘œλ“œν•˜κ³ , μ„œλ‘œμ˜ μ§„ν–‰ 상황을 κ³΅μœ ν•˜λ©°, 효과적인 ν•™μŠ΅ 및 μ†Œν†΅μ„ μ΄μ–΄κ°ˆ 수 μžˆμŠ΅λ‹ˆλ‹€. + +--- + +## 🎯 μ£Όμš” λͺ©μ  + +- 동아리 멀버 κ°„μ˜ **지식 κ³΅μœ μ™€ ν˜‘μ—…**을 지원 +- λ‹€μ–‘ν•œ ν˜•νƒœμ˜ μ½˜ν…μΈ (μ˜μƒ, 파일, 이미지, ν…μŠ€νŠΈ, ν€΄μ¦ˆ λ“±)λ₯Ό 톡합 관리 +- μ‚¬μš©μžλ³„ μ‹œμ²­ 이λ ₯κ³Ό ν•™μŠ΅ μƒνƒœλ₯Ό μ‰½κ²Œ 좔적 +- κ΄€λ¦¬μžλŠ” 멀버 정보와 클럽 μ†Œκ°œλ₯Ό κ°„νŽΈν•˜κ²Œ 관리 κ°€λŠ₯ + +--- + +## πŸ”‘ μ£Όμš” κΈ°λŠ₯ μš”μ•½ + +- πŸ” **둜그인 μƒνƒœμ— λ”°λ₯Έ 정보 뢄리** +- πŸ” **κ°•μ˜ 검색 κΈ°λŠ₯** +- πŸ“Š **μ‹œμ²­ 이λ ₯ 확인** +- πŸ’¬ **μ˜μƒ λ‚΄ λŒ“κΈ€ κΈ°λŠ₯** +- πŸ“¦ **λ‹€μ–‘ν•œ μ½˜ν…μΈ  μ—…λ‘œλ“œ 지원** +- πŸ›  **클럽 정보 관리** + +> 이 ν”Œλž«νΌμ€ λ‹¨μˆœν•œ μ½˜ν…μΈ  보관을 λ„˜μ–΄, **μ°Έμ—¬ μ€‘μ‹¬μ˜ ν•™μŠ΅ ν™˜κ²½**을 κ΅¬ν˜„ν•˜λŠ” 것을 λͺ©ν‘œλ‘œ ν•©λ‹ˆλ‹€. ν”„λ‘ νŠΈμ—”λ“œλΆ€ν„° λ°±μ—”λ“œ, λ―Έλ””μ–΄ μ²˜λ¦¬κΉŒμ§€ λͺ¨λ“  μ˜μ—­μ΄ ν†΅ν•©λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€. + +--- + +## πŸ“‚ ν”„λ‘œμ νŠΈ ꡬ쑰 + +![Architecture_Diagram_v3](https://github.com/user-attachments/assets/76eb492d-4023-4b0f-949f-12e35657246c) + +- **Frontend**: React + Vite 기반 μ‚¬μš©μž μΈν„°νŽ˜μ΄μŠ€ +- **Backend**: Spring Boot 기반 API μ„œλ²„ +- **Storage**: MinIO (S3 ν˜Έν™˜) +- **Message Queue**: RabbitMQ +- **Worker**: + νŠΈλžœμŠ€μ½”λ”© μš”μ²­μ„ λΉ„λ™κΈ°μ μœΌλ‘œ μ²˜λ¦¬ν•˜λŠ” Python Celery μ›Œμ»€ + β–Ά [cms-transcode-worker GitHub μ €μž₯μ†Œ λ°”λ‘œκ°€κΈ°](https://github.com/handong-app/cms-transcode-worker) + + +--- + +## πŸ–₯️ Client Environment + +| ν•­λͺ© | λ‚΄μš© | +|-------------------|------------------| +| **Build Tool** | Vite | +| **Language** | TypeScript | +| **Frontend Framework** | React | +| **UI Framework** | Material UI (MUI) | + +--- + +## 🀝 Dev & Collaboration Tools + +| ν•­λͺ© | λ‚΄μš© | +|-------------------|--------------------| +| **Version Control** | GitHub | +| **Code Review** | Coderabbitai | +| **CI/CD** | GitHub Actions | +| **Communication** | Discord | +| **PM Tools** | Notion | + +--- + +## πŸ§ͺ ν…ŒμŠ€νŠΈ 및 ν’ˆμ§ˆ 관리 + +- λ³Έ ν”„λ‘œμ νŠΈλŠ” **TDD(Test-Driven Development)** κ΄€μ μ—μ„œ ν…ŒμŠ€νŠΈλ₯Ό 섀계 및 μž‘μ„±ν–ˆμŠ΅λ‹ˆλ‹€. +- ν”„λ‘ νŠΈμ—”λ“œλŠ” **Vitest**λ₯Ό μ‚¬μš©ν•˜μ—¬ μ»΄ν¬λ„ŒνŠΈ 및 μœ ν‹Έ ν•¨μˆ˜ λ‹¨μœ„ ν…ŒμŠ€νŠΈλ₯Ό μˆ˜ν–‰ν–ˆμŠ΅λ‹ˆλ‹€. +- λΉ λ₯Έ μ‹€ν–‰ 속도와 `--watch` λͺ¨λ“œλ₯Ό 톡해 μ‹€μ‹œκ°„ ν”Όλ“œλ°± ν™˜κ²½μ„ κ΅¬μ„±ν–ˆμŠ΅λ‹ˆλ‹€. + +--- + +## πŸ”„ CI/CD & μžλ™ 배포 + +- GitHub Actions 기반 **CI/CD Pipeline** ꡬ좕 + - PR μ‹œ μžλ™ ν…ŒμŠ€νŠΈ 및 λΉŒλ“œ + - main 브랜치 λ¨Έμ§€ μ‹œ μžλ™ 배포 + - Docker 기반 μžλ™ 이미지 배포 적용 + +```bash +# μ˜ˆμ‹œ μ›Œν¬ν”Œλ‘œμš° 흐름 +Push β†’ Test & Build β†’ Docker Image 생성 β†’ Auto Deploy