From 44daac67bbfc5a58a97e35b77322a9da47fbaafc Mon Sep 17 00:00:00 2001 From: GUARDiA AutoDeploy Date: Wed, 3 Jun 2026 19:48:04 +0900 Subject: [PATCH] =?UTF-8?q?fix(org):=20=EC=A1=B0=EC=A7=81=EB=8F=84=20?= =?UTF-8?q?=EC=97=B0=EA=B2=B0=EC=84=A0=20=EC=88=98=EC=A0=95=20+=20AI=20Age?= =?UTF-8?q?nt=20=ED=91=9C=EC=8B=9C=20[auto-sync]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/pages/Company.jsx | 200 +++++++++++++++++++++++++-------- 1 file changed, 153 insertions(+), 47 deletions(-) diff --git a/frontend/src/pages/Company.jsx b/frontend/src/pages/Company.jsx index 62dd097..c1575ae 100644 --- a/frontend/src/pages/Company.jsx +++ b/frontend/src/pages/Company.jsx @@ -174,71 +174,177 @@ function History() { } /* ── 조직도 ── */ +const DEPTS = [ + { + name: '개발본부', color: '#0051A2', icon: '💻', + teams: [ + { name: 'AI개발팀', ai: true }, + { name: '플랫폼개발팀', ai: true }, + { name: '프론트엔드팀', ai: true }, + ] + }, + { + name: '기술본부', color: '#0891b2', icon: '⚙️', + teams: [ + { name: '인프라팀', ai: true }, + { name: 'DBA팀', ai: true }, + { name: '보안팀', ai: true }, + ] + }, + { + name: 'PM본부', color: '#7c3aed', icon: '📋', + teams: [ + { name: 'SI사업팀', ai: true }, + { name: 'SM운영팀', ai: true }, + { name: 'PMO팀', ai: true }, + ] + }, + { + name: '경영지원본부', color: '#059669', icon: '🏢', + teams: [ + { name: '경영기획팀', ai: false }, + { name: '영업팀', ai: false }, + { name: '인사·총무팀',ai: false }, + ] + }, +]; + +const LINE = '#c7d2da'; + function Organization() { return (
- +
-
+
Organization

조직 구성

+

+ 🤖 표시는 AI Agent가 담당하는 팀입니다 — 24시간 자율 운영 +

-
+ + {/* ── 조직도 ── */} +
+ {/* 대표이사 */} -
-
대표이사
+
+
+ 👤 대표이사 +
-
- {/* 본부 */} -
- {[ - { - name: '개발본부', color: 'var(--primary)', - teams: ['AI개발팀', '플랫폼개발팀', '프론트엔드팀'] - }, - { - name: '기술본부', color: 'var(--accent)', - teams: ['인프라팀', 'DBA팀', '보안팀'] - }, - { - name: 'PM본부', color: '#7c3aed', - teams: ['SI사업팀', 'SM운영팀', 'PMO팀'] - }, - { - name: '경영지원본부', color: '#059669', - teams: ['경영기획팀', '영업팀', '인사·총무팀'] - }, - ].map((dept, i) => ( -
-
-
-
- {dept.name} + + {/* CEO → 수평선 연결 수직선 */} +
+
+
+ + {/* 수평 연결선 + 각 본부 수직 드롭 */} +
+ {/* 수평 연결선 (본부들을 가로지름) */} +
+ + {/* 본부 컬럼들 */} +
+ {DEPTS.map((dept, i) => ( +
+ {/* 수평선 → 본부 수직 드롭 */} +
+ + {/* 본부 박스 */} +
+ {dept.icon} {dept.name} +
+ + {/* 본부 → 팀 수직선 */} +
+ + {/* 팀 목록 — 세로 연결선 포함 */} +
+ {dept.teams.map((team, j) => ( +
+ {j > 0 &&
} +
+ {team.ai ? '🤖' : '👤'} {team.name} +
+
+ ))} +
-
- {dept.teams.map((t, j) => ( -
{t}
- ))} -
-
- ))} + ))} +
+
+
+ + {/* AI Agent 범례 */} +
+
+ 🤖 +
+
AI Agent 팀
+
Ollama 온프레미스 · 24시간 자율 운영
+
+
+
+ 👤 +
+
인간 담당 팀
+
전략 결정 · 최종 승인
+
+
+
+ 75% +
AI Agent 운영 비율
{/* 인원 현황 */} -
+
{[ - { label: '전체 임직원', value: '50+', unit: '명' }, - { label: '개발 인력', value: '70', unit: '%' }, - { label: '평균 경력', value: '8', unit: '년+' }, - { label: '국가 공인 자격', value: '30+', unit: '개' }, + { label: 'AI Agent', value: '50+', unit: '개', icon: '🤖' }, + { label: 'AI 운영 비율', value: '75', unit: '%', icon: '⚡' }, + { label: '평균 응답시간', value: '0.3', unit: '초', icon: '🚀' }, + { label: '운영 가용성', value: '99.9', unit: '%', icon: '🛡️' }, ].map((s, i) => ( -
-
- {s.value}{s.unit} +
+
{s.icon}
+
+ {s.value}{s.unit}
-

{s.label}

+

{s.label}

))}