live-forum/.kiro/steering/tech.md
zpc 908479e58f
Some checks failed
continuous-integration/drone/push Build is failing
更新文档说明
2026-03-24 11:46:06 +08:00

2.2 KiB

Tech Stack & Build

WebAPI (Main Forum API) — server/webapi/LiveForum/

  • .NET 8 Web API
  • ORM: FreeSql (SQL Server)
  • DI: Autofac (assembly scanning + property injection)
  • Cache: Redis (StackExchange.Redis)
  • Background Jobs: Hangfire (SQL Server storage)
  • Config: AgileConfig (remote config center with hot reload)
  • Logging: Serilog (console + file)
  • Auth: JWT tokens (Redis-backed token management, validated against DB)
  • WeChat SDK: SKIT.FlurlHttpClient.Wechat.Api
  • File Storage: Tencent COS
  • JSON: Newtonsoft.Json (camelCase, custom converters)
  • Testing: xUnit + FsCheck (property-based testing) + Moq
  • System Cache: Custom field-level and system-level caching layer (SystemCache/)
  • Domain Events: Event-driven async processing for likes, views, flowers, messages

Admin Panel — server/admin/ZrAdminNetCore/

  • .NET 8 (ZrAdminNetCore framework)
  • ORM: SqlSugar
  • Mapping: Mapster
  • Logging: NLog
  • Frontend: Vue 3 + Vite + Element Plus + Pinia (in ZR.Vue/)

Frontend (Mini Program) — 前端/live-forum/

  • uni-app (Vue 3, targets WeChat Mini Program)
  • UI: uview-plus
  • Date: dayjs
  • Styling: SCSS

Crawlers — server/crawler/

  • Python with Playwright for browser automation
  • Separate modules for commerce and entertainment data
  • CLI via main.py (login, fetch, daemon modes)

Load Testing — server/k6/

  • k6 scripts for API performance testing

Databases

  • SQL Server (primary, for both WebAPI and Admin)
  • Redis (caching, message queues, batch sync buffers, JWT token store)

Common Commands

WebAPI

cd server/webapi/LiveForum
dotnet restore LiveForum.sln
dotnet build LiveForum.sln
dotnet run --project LiveForum.WebApi
dotnet test LiveForum.Tests  # Run tests

Admin Backend

cd server/admin/ZrAdminNetCore
dotnet restore ZRAdmin.sln
dotnet build ZRAdmin.sln
dotnet run --project ZR.Admin.WebApi

Admin Frontend

cd server/admin/ZrAdminNetCore/ZR.Vue
npm install
npm run dev

Crawlers

cd server/crawler/commerce   # or entertainment
pip install -r requirements.txt
playwright install chromium
python main.py login         # Manual browser login
python main.py daemon        # Scheduled crawling

API Documentation

  • Swagger UI available at /swagger when running the WebAPI