diff --git a/README.md b/README.md index 09e812c..2a214af 100644 --- a/README.md +++ b/README.md @@ -1 +1,107 @@ -# pkm \ No newline at end of file +# K-PaaS 기반 개인 지식서재 플랫폼 + +작품명: 하늘책방 + +> 클라우드 환경에서 기록·지식·관계를 연결하는 MSA 구조의 PKM(Personal Knowledge Management) 서비스 + + +[K-PaaS 서비스 개발 공모 작품 제출작](https://pkm-frontend-zeta.vercel.app): 대회 기간이 종료됨에 따라 서버 중단 + +
+ +## 📆 개발 개요 + +| 항목 | 내용 | +|------|------| +| **개발 기간** | 2025.09.05 ~ 2025.11.01 | +| **개발 환경** | NCP K-PaaS 클러스터 (CPU 2core, 4GB 노드 2대) | +| **참여 팀원** | @downfa11(backend), @minwooggi(backend, frontend), @breakpack (frontend), @leejaejjun(PM) | +| **기술 스택** | Java, Go, Spring MVC, Spring Webflux, Spring Cloud Gateway, MongoDB, Elasticsearch, Yorkie, Redis | + +
+ +## 🏗️ 시스템 아키텍처 + +**서비스 전체 아키텍처** + +PKM Schema + +
+ +> 총 4개의 서비스가 서로 독립적인 배포 및 장애 격리 기능을 갖춤 + +MSA Architecture Diagram + +
+ +각 서비스 간 호출은 HTTP REST 기반이며, +API Gateway는 `Resilience4j`로 Circuit Breaker, Retry, Fallback 적용 + +
+ +Circuit Breaker + +
+ +## 📚 주요 기능 + +| 기능 | 설명 | 이미지 | +|------|------|--------| +| **지식 시각화 (Graph)** | `D3.js` 기반 지식 네트워크 시각화 | Zettel Graph | +| **상향식 글쓰기 구조 변환** | 방법론간 구조 변환 알고리즘 | Convert PARA | +| **실시간 문서 협업** | Yorkie 기반 실시간 동시 협업과 RBAC 인가 | Sequence Diagram | + +
+ +## 🔄 CI/CD 파이프라인 + +> NCP source Build, Registry, Deploy를 활용한 자동화된 배포 파이프라인 구조 + +CI/CD Pipeline + +- GitHub Actions → K-PaaS API 연동 +- 브랜치 단위 Build → Container Registry Push → Deploy 자동화 +- 장애 발생 시 Rollback 및 재배포 자동 수행 + +
+ +## 🧠 데이터 및 메타 구조 + +> 노트 간 연결과 태그, 문맥, 유사도 기반 탐색 구조 + +
+ +**데이터 테이블 관리** + +- ElasticSearch + MongoDB 하이브리드 조회 + +Data Table + +
+ +## 📊 모니터링 & 운영 + +모니터링 설계 + +Monitoring System + +
+ +Grafana Dashboard + +Grafana Dashboard + +
+ + +## 시연 스크린샷 + +Dashboard Screenshot + +Book Structure + +Zettelkasten Model + +BOOK CI + +Node Editor \ No newline at end of file diff --git a/assets/BOOK-CI.png b/assets/BOOK-CI.png new file mode 100644 index 0000000..8f01e78 Binary files /dev/null and b/assets/BOOK-CI.png differ diff --git a/assets/BOOK.png b/assets/BOOK.png new file mode 100644 index 0000000..8c4c051 Binary files /dev/null and b/assets/BOOK.png differ diff --git a/assets/CONVERT-TO-PARA.png b/assets/CONVERT-TO-PARA.png new file mode 100644 index 0000000..99e8b6e Binary files /dev/null and b/assets/CONVERT-TO-PARA.png differ diff --git a/assets/DASHBOARD.png b/assets/DASHBOARD.png new file mode 100644 index 0000000..5b65b87 Binary files /dev/null and b/assets/DASHBOARD.png differ diff --git a/assets/NODE-EDITOR.png b/assets/NODE-EDITOR.png new file mode 100644 index 0000000..753cf2d Binary files /dev/null and b/assets/NODE-EDITOR.png differ diff --git a/assets/PARA.png b/assets/PARA.png new file mode 100644 index 0000000..c6a02e5 Binary files /dev/null and b/assets/PARA.png differ diff --git a/assets/circuit-breaker.drawio.png b/assets/circuit-breaker.drawio.png new file mode 100644 index 0000000..d2077ed Binary files /dev/null and b/assets/circuit-breaker.drawio.png differ diff --git a/assets/data-table.jpg b/assets/data-table.jpg new file mode 100644 index 0000000..4979a15 Binary files /dev/null and b/assets/data-table.jpg differ diff --git a/assets/grafana.png b/assets/grafana.png new file mode 100644 index 0000000..4e9f36d Binary files /dev/null and b/assets/grafana.png differ diff --git a/assets/monitoring-system.drawio.png b/assets/monitoring-system.drawio.png new file mode 100644 index 0000000..81c98dd Binary files /dev/null and b/assets/monitoring-system.drawio.png differ diff --git a/assets/monitoring-system.png b/assets/monitoring-system.png new file mode 100644 index 0000000..81c98dd Binary files /dev/null and b/assets/monitoring-system.png differ diff --git a/assets/msa-architect.jpg b/assets/msa-architect.jpg new file mode 100644 index 0000000..56958a3 Binary files /dev/null and b/assets/msa-architect.jpg differ diff --git a/assets/pkm-cicd-pipeline.png b/assets/pkm-cicd-pipeline.png new file mode 100644 index 0000000..5c85d5a Binary files /dev/null and b/assets/pkm-cicd-pipeline.png differ diff --git a/assets/pkm.png b/assets/pkm.png new file mode 100644 index 0000000..16664c0 Binary files /dev/null and b/assets/pkm.png differ diff --git a/assets/rest-api.jpg b/assets/rest-api.jpg new file mode 100644 index 0000000..a146051 Binary files /dev/null and b/assets/rest-api.jpg differ diff --git a/assets/yorkie-sequence-diagram.jpg b/assets/yorkie-sequence-diagram.jpg new file mode 100644 index 0000000..ccba8aa Binary files /dev/null and b/assets/yorkie-sequence-diagram.jpg differ diff --git a/assets/zettel.png b/assets/zettel.png new file mode 100644 index 0000000..86e787b Binary files /dev/null and b/assets/zettel.png differ