Skip to content

KUN1007/kun-galgame-nuxt4

Repository files navigation

kun-galgame-nuxt4

Contact us:Telegram | Discord

The image is sourced from the game Ark Order, featuring the character 'KUN' (鲲).

Note on AI-assisted development: Starting from version 5.1.0, this project uses LLM-assisted tools including but not limited to Claude Code for Vibe Coding. All code up to and including version 5.0.70 was written entirely by hand. The last purely hand-written codebase can be found at: v5.0.70 (commit b4ad59e)

KUN Visual Novel Forum

Website Introduction

KUN Visual Novel is a collective of individuals passionate about the Galgame genre. It currently consists of the following sub-websites:

For more information, please visit the website's About Us page directly

https://www.kungal.com/kungalgame

Features

  • Galgame Database — Community-driven Galgame catalog with VNDB integration, multi-language metadata (EN / JA / ZH-CN / ZH-TW), ratings, tags, engine info, and developer profiles
  • Resource Sharing — Upload and share game patches, translations, voice packs, and other resources with provider tracking and platform/language filters
  • Discussion Forum — Full-featured topic system with rich Markdown editing (Milkdown + CodeMirror), replies, nested comments, polls, upvotes, and favorites
  • Collaborative Editing — Git-style PR (Pull Request) workflow for Galgame information edits, with edit history tracking and contributor credits
  • Real-time Messaging — Socket.IO powered chat system with private messaging and chat rooms
  • Moemoepoint System — Community reputation points earned through contributions (posting, sharing resources, editing Galgame info)
  • Rich Content Editing — Milkdown Markdown editor with KaTeX math formulas, code highlighting, and image upload via drag & drop
  • Dark / Light Theme — System-aware color mode with customizable page transparency, fonts, and background images
  • SEO Optimized — Server-side rendering, structured data (Schema.org), sitemap generation, and RSS feeds for Galgames and topics

Tech Stack

Layer Technology
Framework Nuxt 4 (Vue 3 Composition API + Nitro Server)
Styling Tailwind CSS 4
State Management Pinia with persisted state
Database PostgreSQL + Prisma 7 ORM
Cache Redis
Authentication JWT (dual token — access + refresh)
Real-time Socket.IO
File Storage S3-compatible object storage (images + resources)
Validation Zod
Editor Milkdown + CodeMirror
Deployment PM2
Analytics Umami

Project Structure

├── app/                 # Frontend (pages, components, composables, stores, validations)
├── server/              # Backend (API endpoints, plugins, WebSocket, scheduled tasks)
├── shared/              # Shared code (TypeScript types, utility functions)
├── prisma/schema/       # Database models (modular .prisma files)
├── lib/                 # Libraries (S3 client, icon config)
├── scripts/             # Build & migration scripts
├── public/              # Static assets
└── docs/                # Documentation

Getting Started

# Install dependencies
pnpm install

# Copy and configure environment variables
cp .env.example .env

# Generate Prisma Client
pnpm prisma:generate

# Push schema to database
pnpm prisma:push

# Start dev server (http://127.0.0.1:1007)
pnpm dev

Scripts

Command Description
pnpm dev Start development server
pnpm build Production build
pnpm lint Run ESLint
pnpm format Run Prettier
pnpm typecheck TypeScript type checking
pnpm prisma:generate Generate Prisma Client
pnpm prisma:push Push schema changes to database
pnpm prisma:studio Open Prisma Studio GUI
pnpm start / pnpm stop PM2 production start / stop

Join / Contact Us

License

This project follows the AGPL-3.0 open-source license.

Contributors