Skip to content

y-temp4/minwada

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

98 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

みんなの話題

Rust Next.js

English README

Reddit 風のスレッド・コメントシステムのサンプル実装です。自由に話題を投稿し、コメントを通じてコミュニケーションを楽しめます。

Warning

本 README を含むプロジェクト内のコードは大半が AI により生成されたものであり、必ずしも正しい内容とは限らない点にご注意ください。

✨ 機能

  • 👤 ユーザー認証(JWT)
  • 📝 スレッド投稿・閲覧
  • 💬 木構造コメントシステム
  • 👨‍💻 ユーザープロフィールページ(投稿したスレッド・コメント一覧表示)
  • 📱 レスポンシブデザイン

🛠️ 技術スタック

バックエンド

フロントエンド

📂 プロジェクト構成

minwada/
├── backend/                 # Rust (axum) バックエンドAPI
│   ├── src/                 # ソースコード
│   │   ├── main.rs          # エントリーポイント
│   │   ├── config.rs        # アプリケーション設定
│   │   ├── models/          # データモデル
│   │   │   ├── auth.rs
│   │   │   ├── threads.rs
│   │   │   └── users.rs
│   │   └── handlers/        # APIハンドラー
│   │       ├── auth.rs
│   │       ├── threads.rs
│   │       └── comments.rs
│   ├── migrations/          # DBマイグレーション
│   ├── database/            # DB設定
│   └── Cargo.toml           # 依存関係
├── frontend/                # Next.js フロントエンド
│   ├── src/                 # ソースコード
│   │   ├── app/             # App Router
│   │   │   ├── layout.tsx
│   │   │   └── page.tsx     # ホームページ
│   │   ├── components/      # UIコンポーネント
│   │   └── lib/             # ユーティリティ
│   ├── generated/           # API自動生成コード
│   └── package.json         # 依存関係
├── justfile                 # タスクランナー
└── README.md                # このファイル

🚀 開発環境セットアップ

必要なツール

インストール手順

1️⃣ 事前準備

$ asdf install
$ cargo install cargo-watch

2️⃣ バックエンド

$ cd backend
$ cp .env.example .env  # 環境変数を設定

3️⃣ フロントエンド

$ cd frontend
$ cp .env.example .env.local  # 環境変数を設定
$ npm ci  # 依存関係をインストール

開発環境の立ち上げ

$ just dev  # バックエンドとフロントエンドの両方が起動します

アクセス先

💻 開発ワークフロー

  1. バックエンドで API 仕様変更
  2. OpenAPI 仕様が自動更新
  3. フロントエンドで npm run generate-api 実行(もしくは npm run generate-api:watch で自動生成)
  4. 型安全な API クライアントが再生成

🔍 実装済み API

👤 ユーザー関連
  • ユーザー登録・ログイン・ログアウト
  • ユーザープロフィール表示
  • ユーザーが投稿したスレッド一覧取得
  • ユーザーが投稿したコメント一覧取得
  • プロフィール編集
📋 スレッド関連
  • スレッド一覧取得
  • スレッド詳細取得
  • スレッド作成・削除
💬 コメント関連
  • スレッドのコメント一覧取得
  • コメント投稿・削除
  • 返信コメント(ネスト構造)

⚠️ 注意事項

  • 本プロジェクトは学習・デモ用途のサンプル実装です
  • 実際の運用にはセキュリティやパフォーマンスの考慮が必要です
  • 継続的に機能追加・改善を行っています
  • バグ報告や機能提案は Issue からお願いします