외부 브랜딩 사이트와 내부 운영 도구를 하나의 제품으로 통합한 Next.js 기반 플랫폼입니다. 단순 소개 페이지가 아니라 관리자 대시보드·출석 관리·과제 운영·콘텐츠 발행·기록 축적 기능을 함께 다루는 운영 시스템입니다.
웹사이트 제작을 넘어 운영 체계 자체를 제품 안에 내장한 사례입니다. 478 commits가 축적되었고 실제 운영에 사용되는 플랫폼으로 안정화되었습니다.
클라이언트가 필요로 한 것은 보기 좋은 웹사이트 하나가 아니었습니다. 외부 방문자에게는 신뢰도 있는 브랜드 경험이 필요했고, 내부 운영팀에게는 콘텐츠 수정·출석 체크·과제 관리·활동 기록 누적을 한곳에서 처리할 수 있는 관리 도구가 필요했습니다. 운영 주체가 바뀌더라도 개발자 의존 없이 페이지와 데이터를 관리할 수 있어야 했고, 흩어진 도구를 오가며 생기는 운영 비용도 줄여야 했습니다.
Next.js 15 App Router 기반 구조 위에 퍼블릭 페이지와 관리자 기능을 함께 배치하고, Supabase를 통해 인증과 데이터 흐름을 일원화했습니다. 비개발자 관리자 대시보드를 별도 기능으로 두어 운영팀이 직접 콘텐츠를 수정하고 게시할 수 있게 했으며, BlockNote와 Tiptap을 결합해 문서형 콘텐츠 작성 경험도 강화했습니다. 출석 관리와 과제 관리를 같은 대시보드로 통합했고, Padlet 연동으로 외부 협업 흐름을 연결했으며, 스레드형 로그 시스템으로 활동 기록이 지속적으로 축적되도록 만들었습니다.
리포지토리는 `app/`·`components/`·`lib/`·`supabase/`·`middleware.ts`를 축으로 구성됩니다. `app/`은 퍼블릭 페이지와 로그인 이후 운영 화면을 포함하는 라우팅 레이어로, 외부 노출 영역과 내부 관리 영역을 단일 코드베이스 안에서 함께 다룹니다. `components/`는 대시보드 UI·편집기 인터페이스·공통 화면 요소를 모듈 단위로 분리해 재사용성을 높이고, `lib/`는 데이터 접근·유틸리티·도메인 로직 계층으로 작동합니다. `middleware.ts`는 접근 제어와 세션 기반 분기를 처리해 관리자 기능과 일반 사용자 흐름을 구분합니다.
| 개발 기간 | 2026-02-08 ~ 2026-04-13 |
|---|---|
| 개발 기간 기준 커밋 | 478 commits |
| 운영 상태 | 실제 운영에 사용된 플랫폼 |
| 핵심 운영 기능 | 관리자 대시보드·출석·과제 |
| 외부 연동 | Padlet |
| 기록 자산화 | 스레드형 로그 시스템 구축 |
Next.js · TypeScript · Supabase · Admin Dashboard · Content Systems · Operations Platform · App Router

