
PNU-Modu — a serverless, Git-based collaborative CMS
A zero-install CMS where non-developer staff build print-grade digital brochures with one line of Markdown, and a single save auto-deploys. Auth, collaboration locking, and CI/CD were built on GitHub API and git commits alone. Designed and developed solo.
This article is written in Korean.
개요
부산대 AI융합교육원의 온라인 디지털 브로슈어를, 비전공 교직원이 코드를 몰라도 직접 제작·배포할 수 있게 만든 무설치형 협업 CMS입니다. 원장님의 “교직원 모두가 마크다운과 GitHub를 다룰 수 있어야 한다”는 방침에서 출발했지만, “개발자인 나조차 어려운데 비전공자는?“이라는 관점에서 문제를 다시 정의해, 복잡한 기술을 사용자가 체감하지 않도록 완전히 숨기는 방향으로 설계했습니다. 지시받은 과업이 아니라 스스로 판단해 만들어 공개했고, 도입 직전 단계까지 추진됐습니다.
핵심
- 서버리스 Git 기반 CMS — 백엔드·DB 없이 브라우저에서 GitHub REST API를 직접 호출. 저장 버튼 한 번이 곧 git 커밋 → CI/CD → 정적 배포.
- Soft Lock 분산 협업 잠금 —
.locks/*.json커밋으로 다중 사용자 동시 편집 충돌을 방지. heartbeat/TTL 크래시 복구,[skip ci]로 컨트롤/데이터 플레인 분리. :::디렉티브 DSL — 마크다운 한 줄을 디자인된 React 브로슈어 컴포넌트로 변환(디렉티브 15종). 콘텐츠와 디자인을 분리해 비전공자도 안전하게 저작.
기술 스택: React 19 · Docusaurus 3 · MDX · Vanilla JS(CMS) · GitHub REST/Actions/Pages.
상세 케이스스터디(Soft Lock 프로토콜, DSL 파이프라인, 인쇄 CSS 등)는 정리해 이어서 작성할 예정입니다.