
English | ๆฅๆฌ่ช | ็ฎไฝไธญๆ | ็น้ซไธญๆ
Contact us: Telegram | Discord
The image is sourced from the game Ark Order and features the character KUN (้ฒฒ).
AI-assisted development: Since version 5.1.0, this project has used LLM-assisted development tools, including Codex and Claude Code. All code through version 5.0.70 was written entirely by hand. The last fully hand-written revision is v5.0.70 (commit b4ad59e).
้ฒฒ Galgame ่ฎบๅ (KUN Galgame Forum)
Website Introduction
้ฒฒ Galgame is a community of people who love visual novels and Galgames. Its public sites include:
- ้ฒฒ Galgame ่ฎบๅ (this project)
- ้ฒฒ Galgame ่กจๆ ๅ
- ้ฒฒ Galgame ๅผๅๆๆกฃ
- ้ฒฒ Galgame ๅฏผ่ช
- ้ฒฒ Galgame ่กฅไธ็ซ
- ้ฒฒ Galgame ่ฎบๅ็ถๆ้กต
For more information, visit About ้ฒฒ Galgame.
Features
- Visual novel catalog โ Community submissions and review backed by the shared Catalog registry, with VNDB references, multilingual metadata, ratings, tags, engines, companies, and release information
- Resource sharing โ Game patches, translations, voice packs, and other resources with provider tracking plus platform and language filters
- Discussion forum โ Topics, replies, nested comments, polls, reactions, upvotes, favorites, drafts, and moderation workflows
- Collaborative editing โ Git-style proposals, review, revision history, reverts, and contributor credits through the Catalog editing engine
- Private messaging and chat โ Direct messages, contacts, read state, reactions, and recall support
- Moemoepoint โ An ecosystem-wide contribution score whose authoritative balance and ledger are owned by OAuth
- Rich content editing โ The shared KUN editor, built on Milkdown and CodeMirror, with KaTeX, syntax highlighting, mentions, and image uploads
- Personalized appearance โ Light and dark modes, configurable transparency, fonts, background images, and content-rating preferences
- Search and discovery โ Site-wide search across topics, replies, comments, users, and visual novels, plus rankings, activity feeds, release calendars, collections, and recommendations
- SEO and feeds โ Nuxt SSR, Schema.org metadata, chunked sitemaps, canonical redirects, and RSS feeds for topics and visual novels
Architecture
This repository is a pnpm workspace monorepo containing a Go API and a Nuxt frontend. It is a downstream application of nextmoe-infra, the identity and shared-service hub for the KUN ecosystem.
| Package | Responsibility |
|---|---|
apps/api |
Go Fiber v3 BFF and REST API โ owns forum data and interactions, enriches responses, talks to shared services, and runs scheduled synchronization jobs |
apps/web |
Nuxt 4 SSR frontend โ Vue pages, components, Pinia state, validation, SEO, and browser interaction; Nitro serves feeds, sitemap data, content-image handling, and legacy redirects |
The forum owns topics, replies, messages, resources, ratings, quizzes, collections, toolsets, local counters, and its PostgreSQL schema. Shared capabilities remain single-sourced in infra:
| Capability | Source of truth |
|---|---|
| Identity and user profile | OAuth; numeric user IDs stay identical across services |
| Browser authentication | An opaque kungal_session cookie backed by Redis; OAuth tokens never live in browser storage |
| Moemoepoint balance and ledger | OAuth; the forum keeps only a cached local view where required |
| Visual novel metadata, claims, and edit history | Catalog; newly submitted works adopt the registry-issued work ID as their forum gid |
| Avatars and content images | The content-addressed image_service |
| Galgame and resource comment threads | The shared Community service |
| Reports and enforcement | The shared Trust service |
| Toolset archives | The shared Artifact service |
The retired Galgame Wiki family is not a contract for new work. Some compatibility reads and notification surfaces remain temporarily while the catalog cutover finishes, but new submission, claim, review, and editing flows target Catalog.
Tech Stack
| Layer | Technology |
|---|---|
| Frontend | Nuxt 4 + Vue 3 SSR (Nitro node-server) |
| UI | @kungal/ui-nuxt and @kungal/ui-vue |
| Editor | @kungal/editor-nuxt, Milkdown, and CodeMirror |
| Styling | Tailwind CSS 4 |
| State management | Pinia with persisted state |
| Backend API | Go 1.26 + Fiber v3 |
| Database | PostgreSQL through GORM, with explicit raw-SQL migrations and no AutoMigrate |
| Cache and sessions | Redis |
| Search | PostgreSQL for forum content; the shared Catalog service for visual novels and taxonomy |
| Authentication | OAuth-backed BFF session with a 90-day sliding lifetime |
| Shared services | Catalog, Community, Trust, Image, Artifact, and OAuth clients |
| Scheduler | robfig/cron for daily maintenance and Catalog event synchronization |
| Validation and tests | Zod, Vitest, Vue Test Utils, and Go tests |
| Deployment | Docker images published to GHCR and deployed with Dokploy; legacy PM2 scripts remain available |
| Analytics | Umami |
Project Structure
โโโ apps/
โ โโโ api/ # Go Fiber v3 BFF / REST API
โ โ โโโ cmd/ # server, migrate, and one-off maintenance tools
โ โ โโโ internal/ # domain handlers, services, repositories, and models
โ โ โโโ migrations/ # explicit .up.sql / .down.sql migrations
โ โ โโโ pkg/ # shared clients, config, errors, permissions, and utilities
โ โโโ web/ # Nuxt 4 SSR frontend
โ โโโ app/ # pages, components, composables, Pinia stores, and styles
โ โโโ server/ # Nitro feeds, sitemap source, middleware, and redirects
โ โโโ shared/ # shared TypeScript types and utilities
โโโ docker/