SkillAgentSearch skills...

Dxrating

maimai DX rating-related tools

Install / Use

/learn @gekichumai/Dxrating
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<img src="https://shama.dxrating.net/favicon/transparent-256x.png" alt="DXRating Logo" width="96px" />

GitHub Actions Workflow Status GitHub deployments GitHub License GitHub Repo stars GitHub contributors

DXRating

A web application for maimai DX (music arcade game) providing rating calculators, song data, and community features such as tags, comments, and aliases.

Usage

TestFlight

Cloudflare Pages

Architecture

This is a Turborepo monorepo using pnpm as the package manager.

apps/
├── web/          React 19 + Vite SPA (UnoCSS, MUI, wouter, TanStack Query)
├── backend/      Hono API server (oRPC, Drizzle ORM, PostgreSQL, Better Auth)
└── functions/    Cloudflare Workers (edge endpoints)

packages/
├── dxdata/       Pre-annotated maimai DX song & sheet metadata
└── tsconfig/     Shared TypeScript base configuration

scripts/
└── annotator/    Generates annotated song metadata from various sources

Apps

  • apps/web — The main frontend, serving both web and iOS (via WKWebView) variants. Built with React 19, Vite, UnoCSS, Material-UI 5, and shadcn/ui. Supports 4 languages (en, ja, zh-Hans, zh-Hant) via i18next, with an in-browser SQLite database (sql.js) for offline song data.

  • apps/backend — The API server built on Hono. Uses oRPC for type-safe API contracts (defined with Zod), Drizzle ORM with PostgreSQL 16 for persistence, and Better Auth for authentication (email/password, Google/GitHub OAuth, passkeys).

  • apps/functions — Cloudflare Workers edge functions built on Hono, mirroring select backend endpoints for lower latency.

Packages

  • packages/dxdata — Annotated maimai DX song and sheet metadata as JSON, with TypeScript enums for versions, categories, and difficulty levels. Generated by scripts/annotator.

  • packages/tsconfig — Shared TypeScript configuration used across all apps and packages.

Tech Stack

| Layer | Technology | |-------|-----------| | Frontend | React 19, Vite, UnoCSS, MUI 5, wouter, TanStack Query | | Backend | Hono, oRPC, Drizzle ORM, PostgreSQL 16, Better Auth | | Edge | Cloudflare Workers, Hono | | Language | TypeScript 5.9, ESM throughout | | Monorepo | Turborepo, pnpm 10 | | Linting | oxlint + oxfmt | | Testing | Vitest | | Observability | PostHog, Sentry |

Prerequisites

  • Node.js 25+
  • pnpm 10.30.3+
  • Docker (for running PostgreSQL locally)

Getting Started

Install dependencies

pnpm install

Set up the database

pnpm --filter @gekichumai/backend db:up

Configure environment

Copy the example env files and fill in the required values:

cp apps/backend/.env.example apps/backend/.env.local

Key variables:

  • DATABASE_URL — PostgreSQL connection string (default: postgres://postgres:postgres@localhost:5432/dxrating)
  • BETTER_AUTH_SECRET — Auth secret key

Start development servers

pnpm dev

This starts all apps concurrently:

  • Web: http://localhost:5173
  • Backend: http://localhost:3000

Build

pnpm build

Lint & Format

pnpm lint          # Check with oxlint
pnpm lint:fix      # Auto-fix lint issues
pnpm format        # Format with oxfmt
pnpm format:check  # Check formatting

Run tests

pnpm --filter @gekichumai/backend test    # Backend integration tests (requires PostgreSQL)
pnpm --filter @gekichumai/dxrating-web test   # Web unit tests

Deployment

  • Web — Cloudflare Pages
  • Backend — Docker container deployed via Coolify
  • CI/CD — GitHub Actions auto-tags versions on push to main and triggers deployments

Useful Links

License

MIT

Security

If you find a vulnerability in the repository, please email the organization owner (vulnerability@dxrating.net). We kindly ask you not to disclose the detail of the vulnerability to the public before we have released a fix. Thanks for making DXRating a better site!

Contributors

This project is made possible by the following contributors. Contributions are always welcome!

Contributors

Alt

View on GitHub
GitHub Stars100
CategoryDevelopment
Updated22h ago
Forks21

Languages

TypeScript

Security Score

100/100

Audited on Apr 9, 2026

No findings