DXRating

Registre officiel Autres

maimai DX songs, charts and internal levels, and rating and Best 50 calculators, from DXRating

Installation

Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).

Remote (streamable-http)
Claude Code
claude mcp add --transport http dxrating 'https://mcp.dxrating.net/mcp'
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "dxrating": {
            "type": "http",
            "url": "https://mcp.dxrating.net/mcp"
        }
    }
}

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. DXRating
  2. Usage
  3. Architecture
  4. Tech Stack
  5. Prerequisites
  6. Getting Started
  7. Deployment
  8. Useful Links
  9. License
  10. Security
  11. Contributors

?label=deployment>)

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

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 — The legacy compatibility snapshot and TypeScript helpers. New native clients read the published catalog API; this package remains while existing web and renderer consumers migrate.
  • packages/tsconfig — Shared TypeScript configuration used across all apps and packages.
Published catalog API

GET /api/v1/dxdata returns the complete current catalog and its metadata in one schema-versioned, null-free document. The producer stores immutable bodies in PostgreSQL and atomically advances the production-v1 pointer; the API never reconstructs the document per request or exposes stored provenance. The backend reads dxdata.catalog_publications, dxdata.catalog_snapshots, and dxdata.catalog_build_runs; identity translation joins the current dxdata.catalog_run_songs and dxdata.catalog_run_sheets memberships to dxdata.canonical_songs, dxdata.canonical_sheets, and dxdata.song_source_mappings.

The endpoint supports GET, metadata-only HEAD, strong ETag validators, and If-None-Match. Successful responses are public and use separate browser and CDN stale-while-revalidate policies. Errors are no-store. Cloudflare Cache Rules for the catalog and arcade-catalog paths are owned by the infrastructure Terraform repository, leaving this application repository with a single deployment authority.

Tech Stack

LayerTechnology
FrontendReact 19, Vite, UnoCSS, MUI 5, wouter, TanStack Query
BackendHono, oRPC, Drizzle ORM, PostgreSQL 16, Better Auth
EdgeCloudflare Workers, Hono
LanguageTypeScript 5.9, ESM throughout
MonorepoTurborepo, pnpm 10
Lintingoxlint + oxfmt
TestingVitest
ObservabilityPostHog, Sentry

Prerequisites

  • Node.js 26.12.1
  • 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:

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

License

The code is MIT. The dxdata song and chart data (packages/dxdata, /api/v1/dxdata) is CC BY-NC 4.0: credit DXRating and don't use it commercially.

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!

Questions fréquentes

Qu'est-ce que DXRating ?

maimai DX songs, charts and internal levels, and rating and Best 50 calculators, from DXRating

Comment installer DXRating ?

Il fonctionne comme serveur distant. Dans Claude Code : claude mcp add --transport http dxrating 'https://mcp.dxrating.net/mcp'. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.

Faut-il une clé API pour DXRating ?

Son entrée au registre n'indique aucune clé ni secret obligatoire. Certaines fonctions peuvent tout de même demander un compte auprès du service auquel il se connecte.

DXRating est-il open source ?

Oui. Son code est sur GitHub sous licence MIT.

Qui maintient DXRating ?

Il est publié par gekichumai. AI.tn le référence sans le maintenir ni le recommander.

Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.