시스템 개요
1. 디캠프(dcamp) 소개
섹션 제목: “1. 디캠프(dcamp) 소개”디캠프는 스타트업과 투자사를 연결하고, 다양한 프로그램과 행사를 통해 사람과 정보 공유를 촉진하여 스타트업의 성장을 지원하는 플랫폼입니다.
2. 관리자 시스템 개요
섹션 제목: “2. 관리자 시스템 개요”DCAMP-ADMIN은 디캠프 웹사이트의 헤드리스 CMS(Content Management System) 백엔드입니다.
헤드리스 아키텍처란?
섹션 제목: “헤드리스 아키텍처란?”“주방(기능)과 홀(서비스)의 분리”
기존 CMS(Monolithic)는 백엔드와 프론트엔드가 하나의 시스템에 묶여있어 확장이 어려웠습니다. 헤드리스 구조에서는 각자의 역할에 집중하여 더 나은 서비스를 제공합니다.
┌─────────────────────────────────────────────────────────────────────────┐│ LEGACY (Monolithic) ││ ┌─────────────────────────────────────────┐ ││ │ 한 공간에 혼재 │ ││ │ 주방(백엔드)과 홀(프론트엔드)이 │ ││ │ 하나의 시스템에 묶여있어 확장이 어려움 │ ││ └─────────────────────────────────────────┘ │└─────────────────────────────────────────────────────────────────────────┘ ↓┌─────────────────────────────────────────────────────────────────────────┐│ HEADLESS (현재 구조) ││ ┌───────────────────┐ ┌───────────────────┐ ││ │ Drupal │ API │ Astro │ ││ │ 주방 (Data) │ ◄──────────► │ 홀 (View) │ ││ │ admin.dcamp.kr │ JSON:API │ dcamp.kr │ ││ └───────────────────┘ └───────────────────┘ ││ 각자의 역할에 집중하여 더 나은 서비스 제공 │└─────────────────────────────────────────────────────────────────────────┘- 백엔드 (Admin): 콘텐츠 관리, 회원 관리, 프로그램 관리 등 관리자(디캠프 임직원)가 웹사이트를 관리하는 영역
- 프론트엔드 (Front): 사용자에게 보여지는 디캠프 웹사이트
3가지 핵심 개선사항
섹션 제목: “3가지 핵심 개선사항”| 개선 영역 | 내용 |
|---|---|
| 개인정보 보호 | 불필요한 정보 수집 최소화 / 회원 탈퇴 시 데이터 즉시 파기 / 관리자·사용자 계정 DB 물리적 분리 |
| 사용자 경험 (UX) | 페이지 로딩 속도 3~5배 향상 / 모바일 최적화 반응형 디자인 / 직관적인 내비게이션 구조 |
| 관리 편의성 | 기존과 동일한 관리자 UI 유지 / 서비스 중단 없는 독립적 업데이트 / 콘텐츠 편집 기능(CKEditor) 강화 |
3. 회원 계정 완전 분리 정책
섹션 제목: “3. 회원 계정 완전 분리 정책”가장 중요! 보안 강화와 개인정보 보호를 위해 일반 회원과 관리자 계정 시스템이 완전히 분리되었습니다. 기존과 달리 하나의 이메일로 두 가지 권한을 동시에 가질 수 없습니다.
계정 유형
섹션 제목: “계정 유형”| 구분 | 일반 회원 | 관리자 (임직원) |
|---|---|---|
| 타입 | user.user | user.manager |
| 대상 | 디캠프 서비스 이용자 | 디캠프 운영 담당자 |
| 접속 사이트 | dcamp.kr | admin.dcamp.kr |
| 주요 기능 | 프로그램 신청, 공간 예약, 마이페이지 이용 | 프로그램 등록, 신청자 관리, 심사, 콘텐츠 편집 |
| 제한 사항 | 관리자 페이지(Admin) 접근 절대 불가 | 사용자 화면 로그인 불가 (확인 필요 시 별도 계정) |
교차 접근 불가
섹션 제목: “교차 접근 불가”- 일반 회원 계정으로
admin.dcamp.kr접근 불가 - 관리자 계정으로
dcamp.kr로그인 불가 - 사용자 화면 확인이 필요한 경우 별도의 일반 회원 계정 생성 필요
왜 이렇게 분리했나요?
섹션 제목: “왜 이렇게 분리했나요?”| 이유 | 설명 |
|---|---|
| 보안 강화 | 권한 분리로 시스템 보호 |
| 개인정보 보호 | 불필요한 정보 수집 방지 |
| 시스템 안정성 | 독립적 운영 환경 보장 |
4. 주요 기능
섹션 제목: “4. 주요 기능”| 기능 | 설명 |
|---|---|
| 회원 관리 | 일반 회원, 관리자 계정 관리 |
| 프로그램 관리 | 배치, 오피스아워, 그로스코칭 등 프로그램 운영 |
| 포트폴리오 관리 | 스타트업, 파트너사, 캠퍼스 정보 관리 |
| 심사 시스템 | 프로그램 지원자 심사 및 평가 |
| 콘텐츠 관리 | 공지사항, 인사이트, 페이지 관리 |
| 메인화면 관리 | 홈페이지 메인화면 구성 및 편집 |
| 문의 관리 | 사용자 문의 확인 및 응답 |
5. 시스템 구성
섹션 제목: “5. 시스템 구성”기술 스택
섹션 제목: “기술 스택”| 구분 | 기술 |
|---|---|
| CMS | Drupal 11 |
| 언어 | PHP 8.4 |
| 데이터베이스 | MariaDB |
| 파일 저장소 | AWS S3 |
| 인증 | OAuth 2.0 |
관리자 화면 구성
섹션 제목: “관리자 화면 구성”관리자 화면은 크게 두 가지로 구성됩니다:
-
Drupal 기본 관리 화면:
/admin/*경로- 콘텐츠 관리
- 사용자 관리
- 시스템 설정
-
커스텀 관리 화면 (SPA):
/admin/dcamp/*경로- 메인화면 관리
- 페이지 설정
- Featured Contents 관리
6. 접속 정보
섹션 제목: “6. 접속 정보”URL 전체 구성
섹션 제목: “URL 전체 구성”| 환경 | 사용자 사이트 (Front) | 관리자 사이트 (Admin) |
|---|---|---|
| 운영 | https://dcamp.kr | https://admin.dcamp.kr |
| 개발 | https://dcamp.sknkwoxs.com | https://dcamp-admin.sknkwoxs.com |
접근 권한
섹션 제목: “접근 권한”| 사이트 | 접근 가능 대상 |
|---|---|
| 사용자 사이트 (운영) | 누구나 접근 가능 |
| 관리자 사이트 (운영) | Cloudflare Access 인증 필요 (디캠프 관리자만) |
| 개발 서버 (전체) | Cloudflare Access 인증 필요 (허용된 인원만) |
참고: 관리자 사이트와 개발 서버는 Cloudflare Access를 통해 허용된 인원만 접속할 수 있습니다. 일반 사용자는 URL을 알아도 접근할 수 없습니다. 접근 권한이 필요한 경우 시스템 관리자에게 문의하세요.
다중 보안 레이어 구조
섹션 제목: “다중 보안 레이어 구조”관리자 페이지는 3단계 보안 레이어로 보호됩니다.
Layer 1. Cloudflare Access (MFA) - Gateway
섹션 제목: “Layer 1. Cloudflare Access (MFA) - Gateway”관리자 도메인(admin.dcamp.kr) 접근 시 1차 검증 수행
- 이메일 인증
- 사전 등록자만 허용
Layer 2. Drupal Login - Authentication
섹션 제목: “Layer 2. Drupal Login - Authentication”시스템 내부 계정 정보와 대조하여 2차 로그인
- 5회 실패 시 잠금
- 소셜 로그인 불가
Layer 3. 세션 제어 및 모니터링 - Session
섹션 제목: “Layer 3. 세션 제어 및 모니터링 - Session”로그인 이후 지속적인 보안 상태 모니터링
- 30분 타임아웃 (무활동 시 자동 로그아웃)
- 동시접속 차단
보안 실무 팁
섹션 제목: “보안 실무 팁”| 상황 | 권장 사항 |
|---|---|
| 자리 비움 시 | 잠시 자리를 비울 때도 화면 잠금(Win+L / Cmd+Ctrl+Q) 또는 로그아웃을 습관화하세요. |
| 작업 중 수시 저장 | 30분 동안 활동이 없으면 자동 로그아웃되므로 긴 글 작성 시 주의하세요. |
| 공용 PC 사용 주의 | 다른 PC에서 로그인 시 기존 세션이 종료될 수 있습니다. |
주요 관리 메뉴 경로
섹션 제목: “주요 관리 메뉴 경로”| 메뉴 | 경로 |
|---|---|
| 대시보드 | /admin |
| 콘텐츠 관리 | /admin/content |
| 회원 관리 | /admin/people |
| 이벤트 관리 | /admin/content/event |
| 포트폴리오 관리 | /admin/content/portfolio |
| 메인화면 관리 | /admin/dcamp/main |
| 페이지 설정 | /admin/dcamp/pages |
7. 용어 정리
섹션 제목: “7. 용어 정리”| 용어 | 설명 |
|---|---|
| 노드(Node) | 콘텐츠의 기본 단위 (공지사항, 페이지 등) |
| 엔티티(Entity) | 시스템에서 관리하는 데이터 객체 |
| 번들(Bundle) | 엔티티의 세부 유형 (예: 포트폴리오 → 스타트업, 파트너) |
| 택소노미(Taxonomy) | 콘텐츠 분류 체계 (카테고리, 태그) |
| 웹폼(Webform) | 신청서, 지원서 등의 양식 |
| 뷰(View) | 콘텐츠 목록을 표시하는 방식 |