docs: README를 일반 사용자용 포털 사용법 안내로 개편
공개 레포라 비개발자도 보므로 로그인·개발도구·프로젝트 공유/수정·소통 사용법을 앞세우고 매뉴얼 링크 연결. 로그인 용어는 '행번'으로 표기. 개발자용 정보는 하단에 간단히. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
70
README.md
70
README.md
@@ -1,17 +1,53 @@
|
|||||||
# AI DEV — 사내 개발 포털
|
# AI DEV — 사내 개발 포털
|
||||||
|
|
||||||
직원이 한 곳에서 **사내 개발 사이트로 이동**하고, **만든 프로젝트를 공유·코멘트**하는 포털.
|
사내 개발 도구로 **한 번에 이동**하고, 내가 만든 프로젝트를 동료와 **공유·소통**하는 곳입니다.
|
||||||
GitHub 감성 UI. Keycloak SSO(사번 로그인). Node(Express+EJS) + Postgres.
|
행번으로 로그인하면 바로 쓸 수 있어요.
|
||||||
|
|
||||||
> 브랜드명 `AI DEV` 는 `PORTAL_BRAND` 환경변수로 바꿀 수 있습니다.
|
🔗 접속: **https://portal.bokdev.in**
|
||||||
|
📖 자세한 사용 매뉴얼: **https://gitea.bokdev.in/playground/MANUAL** (포털 헤더의 `매뉴얼` 버튼에서도 열 수 있어요)
|
||||||
|
|
||||||
## 기능
|
---
|
||||||
- **Keycloak OIDC 로그인** (realm `bokdev`, client `portal`, 사번 = preferred_username)
|
|
||||||
- **개발 사이트 모음** — 개발 핵심(Coder/Gitea/Kubero/Harbor) + AI·데이터(LiteLLM/Chat/OpenEverest/MinIO). 목록은 `src/sites.js`.
|
## 처음 오셨나요?
|
||||||
- **프로젝트 공유** — repo/앱 URL·설명·태그
|
|
||||||
- **코멘트 / 스타**
|
1. **로그인** — 포털에 들어가면 자동으로 사내 로그인(Keycloak) 화면으로 이동합니다.
|
||||||
|
**행번**과 비밀번호로 로그인하세요. 별도 회원가입은 없습니다.
|
||||||
|
2. 로그인하면 대시보드가 열립니다. 아래 세 가지를 할 수 있어요.
|
||||||
|
|
||||||
|
## 무엇을 할 수 있나요?
|
||||||
|
|
||||||
|
### 1. 개발 도구 바로가기
|
||||||
|
대시보드 맨 위 **개발 도구** 카드를 누르면 새 탭으로 이동합니다.
|
||||||
|
포털에 로그인돼 있으면 대부분 **다시 로그인 없이(SSO)** 바로 들어갑니다.
|
||||||
|
- 모두 사용: **Coder**(클라우드 IDE), **Gitea**(Git 저장소), **Kubero**(배포)
|
||||||
|
- 관리자 전용: Harbor·OpenEverest·MinIO·Keycloak·LiteLLM (권한이 있는 분에게만 보입니다)
|
||||||
|
|
||||||
|
### 2. 내 프로젝트 공유
|
||||||
|
- **새 프로젝트** 버튼으로 등록합니다. 제목·설명(Markdown 지원)·태그·저장소 URL·배포 URL을 넣을 수 있어요.
|
||||||
|
저장소 URL을 넣고 **README 가져오기**를 누르면 설명을 자동으로 채워줍니다.
|
||||||
|
- **공개/비공개**를 고를 수 있습니다. 공개하면 동료들의 피드에 보이고, 비공개는 나만 봅니다(언제든 전환 가능).
|
||||||
|
- 등록한 프로젝트는 상세 화면의 **✏️ 수정** 버튼으로 내용을 고치거나 삭제할 수 있습니다.
|
||||||
|
|
||||||
|
### 3. 동료 프로젝트 둘러보기
|
||||||
|
- **공유 프로젝트** 피드에서 동료들이 만든 결과물을 봅니다. 최신순·인기순 정렬, 헤더 검색으로 찾기.
|
||||||
|
- ❤️ **좋아요**, ⭐ **즐겨찾기**, 💬 **댓글**(답글·LGTM)로 응원과 피드백을 남겨보세요.
|
||||||
|
- 이름/아바타를 누르면 그 사람의 **프로필**로 이동해 그가 만든 프로젝트를 모아 볼 수 있습니다.
|
||||||
|
|
||||||
|
### 그 외
|
||||||
|
- **프로필 사진**을 올릴 수 있어요(내 프로필 → 사진의 + 버튼).
|
||||||
|
- 헤더에서 **다크/라이트 테마**를 전환할 수 있습니다.
|
||||||
|
|
||||||
|
## 문제가 있거나 아이디어가 있다면
|
||||||
|
버그·건의는 이슈로 남겨 주세요 — 언제든 환영합니다.
|
||||||
|
👉 https://gitea.bokdev.in/playground/ai-dev-portal/issues
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 개발자용 (참고)
|
||||||
|
|
||||||
|
서버 렌더링 기반의 가벼운 웹앱입니다. **Node(Express + EJS) + Postgres**, 로그인은 **Keycloak OIDC**.
|
||||||
|
프런트 프레임워크·번들러 없이 정적 CSS/바닐라 JS로 동작합니다.
|
||||||
|
|
||||||
## 로컬 실행
|
|
||||||
```bash
|
```bash
|
||||||
cp .project-env.example .project-env # 값 채우기 (OIDC_CLIENT_SECRET 등)
|
cp .project-env.example .project-env # 값 채우기 (OIDC_CLIENT_SECRET 등)
|
||||||
set -a; . ./.project-env; set +a
|
set -a; . ./.project-env; set +a
|
||||||
@@ -19,17 +55,7 @@ npm install
|
|||||||
npm run db:init # schema.sql 적용 (최초 1회)
|
npm run db:init # schema.sql 적용 (최초 1회)
|
||||||
npm run dev # http://localhost:3000
|
npm run dev # http://localhost:3000
|
||||||
```
|
```
|
||||||
- 로컬에서 OIDC 콜백을 받으려면 Keycloak `portal` client redirect 에
|
|
||||||
`http://localhost:3000/auth/callback` 이 등록돼 있어야 합니다(이미 등록됨).
|
|
||||||
|
|
||||||
## 배포 (Kubero)
|
- 배포는 Kubero(NodeJS buildpack), 도메인 `portal.bokdev.in`.
|
||||||
- NodeJS buildpack (`npm install` → `node index.js`). Dockerfile 불필요.
|
- 브랜드명 `AI DEV`는 `PORTAL_BRAND` 환경변수로 바꿀 수 있습니다.
|
||||||
- Kubero Env: `BASE_URL=https://portal.bokdev.in`, `DATABASE_URL`, `OIDC_*`, `SESSION_SECRET`, `PORTAL_BRAND`.
|
- 코드 구조·작업 규약·환경변수 등 자세한 내용은 **`CLAUDE.md`** 를 참고하세요.
|
||||||
- 도메인: `portal.bokdev.in` (게이트웨이/라우트 별도 구성 필요) 또는 `<app>.apps.bokdev.in`.
|
|
||||||
- 배포 도메인이 정해지면 Keycloak `portal` client redirect 에 `https://<도메인>/auth/callback` 추가.
|
|
||||||
|
|
||||||
## 연결 정보
|
|
||||||
- **DB**: OpenEverest `postgresql-6ox` 의 `appdb`, schema `portal`, role `portal_app`.
|
|
||||||
- **Issuer**: `https://keycloak.bokdev.in/realms/bokdev`
|
|
||||||
|
|
||||||
자세한 작업 규약은 `CLAUDE.md`.
|
|
||||||
|
|||||||
Reference in New Issue
Block a user