ModParks は、Minecraft Java Edition 向けの Mod および Plugin プラットフォームです。 日本発のプラットフォームとして、開発者とプレイヤーがより円滑に作品を共有し、コミュニケーションできる場を提供することを目的としています。
- プロジェクトの公開と探索: ModやPluginを検索、発見、ダウンロード。
- バージョン管理: バージョンごとのJar/Zipファイルのアップロード(Cloudflare R2対応)または外部URL(GitHub Releases, Modrinth, CurseForge 等)へのリンク機能。
- 多言語対応 (i18n): 日本語と英語の表示切り替え(
next-intlによる実装)。 - 認証: GitHub アカウントを用いたセキュアなログイン(Auth.js / NextAuth)。
- アイデアボード: ユーザーが「こんなModが欲しい!」を投稿・議論し、実現されたプロジェクトと紐付けられる機能。
- 通報システム: ガイドライン違反のプロジェクトを管理者に報告する機能。
- Framework: Next.js (App Router, v15)
- Language: TypeScript
- Styling / UI: Material-UI (MUI v6)
- Database: Cloudflare D1
- ORM: Drizzle ORM
- Storage: Cloudflare R2
- Authentication: Auth.js (NextAuth v5)
- i18n: next-intl
- Node.js (v20以上)
- npm, yarn, または pnpm
git clone https://github.com/Pitan76/modparks.git
cd modparksnpm installプロジェクトルートにある .env.local.example を参考に、.env.local を作成してください。
# 例: .env.local
AUTH_SECRET="your-auth-secret" # 任意のランダムな文字列
AUTH_GITHUB_ID="your-github-client-id"
AUTH_GITHUB_SECRET="your-github-client-secret"ローカル開発用の D1 データベースにマイグレーションを適用します。
npm run db:generate
npm run db:migrate:localnpm run devブラウザで http://localhost:3000 にアクセスして確認してください。
注意: ローカル開発環境では wrangler.getPlatformProxy のキャッシュ機構 (lib/proxy.ts) によって、Next.jsのホットリロード時にも重いプロキシインスタンスの再起動が防がれ、軽快に動作するよう設計されています。
app/: Next.js App Router (ルーティング, Server Components)components/: 再利用可能なReactコンポーネント (UI, フォーム等)db/: Drizzle ORM のスキーマ定義 (schema.ts)lib/: データベース接続 (db.ts), APIクライアント, アクション群, バリデーション等messages/:next-intl向けの翻訳ファイル (ja.json,en.json)
このプロジェクトは MIT License の元に公開されています。
- Modrinth、CurseForgeとの連携
- 非ログイン時でもお気に入りに入れることができるようにする(クッキーによる管理)
- フロントエンドとバックエンドを完全にわけるためにあらかじめ、APIを固めておく
- 利用規約、プライバシーポリシーを作成する
- 「リストに保存する」で追加することができない
- 前提MODタグ(library)を追加する