็ฐไปฃๅ่ฎบๅ็ณป็ป๏ผไป็ปๅ
ธ Discuz ๆฐๆฎ่ฟ็งป่ๆฅ
Server Components ยท Edge Computing ยท ๅ
จๆ TypeScript ยท Rust TUI
Ellie ๆฏไธไธชไป Discuz ่ฎบๅๅนณๆป่ฟ็งปๅฐ็ฐไปฃๆๆฏๆ ็ๅ จๅ่ฝ็คพๅบ็ณป็ปใๅ็ซฏๅบไบ Next.js App Router (React Server Components)๏ผๅ็ซฏ่ฟ่กๅจ Cloudflare Workers ่พน็ผ็ฝ็ป๏ผๆฐๆฎๅญๅจไบ D1 (SQLite)ใๅๆถๆไพ Rust ็ผๅ็็ป็ซฏ TUI ๅฎขๆท็ซฏใ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Browser โ
โโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Next.js (Server Components) โ
โ apps/web (forum) โ apps/admin (admin console) โ
โโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ forumApi / adminApi
โโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Cloudflare Worker (Edge) โ
โ apps/worker โ REST API + Cron โ
โโโโโโโโฌโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโ
โ โ โ
โโโโโผโโโโ โโโโโโผโโโโโ โโโโโโโผโโโโโโ
โ D1 โ โ KV โ โ R2 โ
โ(SQLite)โ โ (Cache) โ โ (Assets) โ
โโโโโโโโโ โโโโโโโโโโโ โโโโโโโโโโโโโ
- ็ๅไธไธป้ข โ ๆ ๅฝข็ๅ็ปๆใไธป้ขๅ็ฑปใ็ฝฎ้กถ/ๅ ็ฒพ/้ซไบฎ
- ๅธๅญไธๅๅค โ ๅฏๆๆฌ็ผ่พใๆฅผไธญๆฅผ็น่ฏใ้ไปถไธไผ ใ@ๆๅ
- ็จๆท็ณป็ป โ ๆณจๅ/็ปๅฝใ็จๆท็ปใ็งฏๅ/ๅ้ฑใไธชไบบ่ตๆ
- ็ซๅ ไฟก โ Discuz ้ฃๆ ผ็งไฟกๆถๅ
- ๆ็ดข โ ๅ จๆๆ็ดขไธป้ข
- ็ฒพๅๅธ โ ๅค็บง็ฒพๅใๆๅนดไปฝ/็ๅ็ญ้
- ๆฏๆฅ็ญพๅฐ โ ่ฟ็ปญ็ญพๅฐๅฅๅฑใ็ญ็บงไฝ็ณป
- ไธป้ขๅ็ฑป โ ็ๅ่ชๅฎไนๅ็ฑปๆ ็ญพ๏ผๅฏ้ๅ็ผๆพ็คบ๏ผ
- ็ๅๅ ฌๅ โ ็ฎก็ๅๅฏ้ ็ฝฎ็ๅ็บงๅ ฌๅ
- ๅ ๅฎนๅฎกๆ ธ โ ไธพๆฅๅค็ใๆๆ่ฏ่ฟๆปคใ้ไปถ็ฎก็
- ็จๆท็ฎก็ โ ็ฆ่จ/ๅฐ็ฆ/IP ๅฐ็ฆใๆไฝๆฅๅฟ
- ็ป่ฎกๅๆ โ ่ฎฟ้ฎ้่ถๅฟใ็ปๅฝๅฎก่ฎกใKPI ็ๆฟ
- ็ซ็น้ ็ฝฎ โ ๅ็ๅฎๅถใๅ่ฝๅผๅ ณใๅ้กต่ฎพ็ฝฎใๅฏผ่ช้พๆฅ
- Rust TUI โ ratatui ๆๅปบ็็ป็ซฏ็้ข๏ผๆฏๆๆต่ง/ๅๅธ/ๅๅค
ellie/
โโโ apps/
โ โโโ web/ # Next.js ่ฎบๅๅ็ซฏ
โ โโโ admin/ # Next.js ็ฎก็ๅๅฐ
โ โโโ worker/ # Cloudflare Worker API
โโโ packages/
โ โโโ types/ # ๅ
ฑไบซ TypeScript ็ฑปๅ
โ โโโ cli-rs/ # Rust TUI ๅฎขๆท็ซฏ
โ โ โโโ ellie-core/ # API ๅฎขๆท็ซฏๅบ
โ โ โโโ ellie-tui/ # ็ป็ซฏ็้ข
โ โโโ db/ # D1 Schema & Migrations
โ โโโ repositories/ # ๆฐๆฎ่ฎฟ้ฎๅฑ
โ โโโ shared/ # ๅ
ฑไบซๅทฅๅ
ทๅฝๆฐ
โ โโโ ui/ # ๅ
ฑไบซ UI ็ปไปถ
โโโ tests/
โ โโโ integration/ # L2 ้ๆๆต่ฏ
โ โโโ e2e/ # L3 ็ซฏๅฐ็ซฏๆต่ฏ
โโโ docs/ # ่ฎพ่ฎกๆๆกฃ (40็ฏ)
โโโ scripts/ # ๅทฅๅ
ท่ๆฌ
| ๅฑ | ๆๆฏ |
|---|---|
| ๅ็ซฏ | Next.js 16 (App Router, RSC, Turbopack) |
| UI | Tailwind CSS 4 + shadcn/ui |
| ๅ็ซฏ | Cloudflare Workers (TypeScript) |
| ๆฐๆฎๅบ | D1 (SQLite at Edge) |
| ็ผๅญ | KV (่พน็ผ้ฎๅผๅญๅจ) |
| ๅญๅจ | R2 (ๅฏน่ฑกๅญๅจ) |
| ่ฎค่ฏ | NextAuth.js + JWT |
| TUI | Rust + ratatui |
| ๆต่ฏ | Vitest + Playwright |
| Lint | Biome |
| ๅ ็ฎก็ | Bun |
# ๅฎ่ฃ
ไพ่ต
bun install
# ้
็ฝฎ Worker
cp apps/worker/wrangler.toml.example apps/worker/wrangler.toml
# ็ผ่พ wrangler.toml ๅกซๅ
ฅไฝ ็่ตๆบ ID
# ้
็ฝฎ็ฏๅขๅ้
cp .dev.vars.example .dev.vars
# ็ผ่พ .dev.vars ๅกซๅ
ฅ API_KEY ๅ JWT_SECRET
# ๅฏๅจๅผๅๆๅกๅจ
bun run dev # Next.js (port 7031)
bun run worker:dev # Worker (local)| ๅฝไปค | ่ฏดๆ |
|---|---|
bun run dev |
ๅฏๅจ Next.js ๅผๅๆๅกๅจ |
bun run worker:dev |
ๅฏๅจ Worker ๆฌๅฐๅผๅ |
bun run build |
ๆๅปบ็ไบง็ๆฌ |
bun run typecheck |
TypeScript ็ฑปๅๆฃๆฅ |
bun run lint |
Biome ไปฃ็ ๆฃๆฅ |
bun run lint:fix |
่ชๅจไฟฎๅค lint ้ฎ้ข |
bun run worker:deploy |
้จ็ฝฒ Worker (่ชๅจ migrate) |
bun run release |
็ๆฌๅๅธ (patch) |
bun run release -- minor |
Minor ็ๆฌๅๅธ |
| ๅฑ | ๅ ๅฎน | ่งฆๅๆถๆบ | ๅฝไปค |
|---|---|---|---|
| L1 Unit | ViewModelใๅทฅๅ ทๅฝๆฐใHandler | pre-commit | bun run test |
| L2 Integration | ็ๅฎ Worker API ่ฐ็จ | pre-push | bun run test:integration |
| L3 E2E | Playwright ๆต่งๅจๆต่ฏ | CI | bun run test:e2e |
| G1 Static | TypeScript strict + Biome | pre-commit | bun run typecheck && bun run lint |
| G2 Security | osv-scanner + gitleaks | pre-push | ่ชๅจ |
# ่ฟ่กๅ
จ้จ L1 ๆต่ฏ
bun run test
# ๅธฆ่ฆ็็
bun run test:coverage
# Rust ๆต่ฏ
cd packages/cli-rs && cargo test --workspace# Worker ้จ็ฝฒ (่ชๅจๅ
apply migrations)
bun run worker:deploy
# Docker ้ๅๆๅปบ
docker build -f apps/web/Dockerfile -t ellie-web .
docker build -f apps/admin/Dockerfile -t ellie-admin .่ฏฆ่ง docs/docker-deployment.mdใ
| ๆๆกฃ | ่ฏดๆ |
|---|---|
| ๆถๆ่ฎพ่ฎก | ็ณป็ปๆดไฝๆถๆ |
| ๆฐๆฎๅบ Schema | D1 ่กจ็ปๆ |
| ๆฐๆฎ่ฟ็งป | Discuz โ Ellie ่ฟ็งปๆนๆก |
| ๅ็ซฏๆถๆ | MVVM + RSC ๆจกๅผ |
| Worker API | API ็ซฏ็นๅ่ |
| API ๅ่ | ๅฎๆด API ๆๆกฃ |
| ้็จ่ฎพ็ฝฎ | KV Settings ไฝ็ณป |
MIT ยฉ 2026 Zheng Li
