Files
knowledge_base/README.md
Yutaka Kurosaki 691ac566e2 docs: Update README.md with comprehensive project documentation
- Add feature overview and tech stack
- Update Docker service names to match compose.yml (kb_*)
- Add admin functionality documentation
- Add document creation guide with wiki links
- Add troubleshooting section
- Update setup instructions
2025-11-29 11:31:46 +09:00

224 lines
6.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Knowledge Base
Markdown対応のナレッジベースアプリケーションです。Wiki風のリンク記法`[[ページ名]]`)をサポートし、ドキュメント間の相互リンクを簡単に作成できます。
## 機能
- 📝 **Markdownエディタ** - リアルタイムプレビュー付きのドキュメント編集
- 🔗 **Wikiリンク** - `[[ページ名]]` 記法でドキュメント間リンクを作成
- 🔍 **クイックスイッチャー** - Ctrl+K (Cmd+K) で高速ドキュメント検索
- 📁 **階層構造** - フォルダ形式でドキュメントを整理(タイトルに `/` を含めると自動で階層化)
- 🌳 **サイドバーツリー** - 折りたたみ可能なドキュメントツリー
- 👥 **ユーザー管理** - 管理者によるユーザーのCRUD操作
- 🔒 **認証** - Laravel Breezeによるログイン/登録機能
- 🎨 **シンタックスハイライト** - コードブロックの自動ハイライト
## 技術スタック
- **Backend**: Laravel 11 + Livewire 3
- **Frontend**: Alpine.js + Tailwind CSS
- **Database**: MySQL 8.0
- **Server**: Nginx + PHP-FPM 8.2
## Docker構成
| サービス | コンテナ名 | ポート | 説明 |
|---------|-----------|--------|------|
| Nginx | kb_nginx | 9700 | Webサーバー |
| PHP | kb_php | - | PHP-FPM + Composer + Node.js |
| MySQL | kb_mysql | 9702 | データベース |
| phpMyAdmin | kb_phpmyadmin | 9701 | DB管理ツール |
| MailHog | kb_mailhog | 9725 | メールテストSMTP: 1025 |
## ディレクトリ構成
```
.
├── docker/
│ ├── nginx/
│ │ └── default.conf
│ ├── php/
│ │ ├── Dockerfile
│ │ └── php.ini
│ └── mysql/
│ └── my.cnf
├── src/
│ ├── app/
│ │ ├── Console/Commands/ # Artisanコマンド
│ │ ├── Http/Controllers/ # コントローラー
│ │ ├── Livewire/ # Livewireコンポーネント
│ │ ├── Models/ # Eloquentモデル
│ │ └── Services/ # ビジネスロジック
│ ├── resources/views/
│ │ ├── layouts/ # レイアウト
│ │ ├── livewire/ # Livewireビュー
│ │ └── admin/ # 管理画面
│ └── routes/
│ └── web.php # ルーティング
├── compose.yml
└── README.md
```
## セットアップ
### 1. リポジトリのクローン
```bash
git clone <repository-url>
cd knowledge-base
```
### 2. 環境変数の設定
```bash
cp src/.env.example src/.env
```
`src/.env` を編集:
```env
DB_CONNECTION=mysql
DB_HOST=kb_mysql
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=root
MAIL_MAILER=smtp
MAIL_HOST=kb_mailhog
MAIL_PORT=1025
```
### 3. Dockerコンテナの起動
```bash
docker compose up -d
```
### 4. 依存関係のインストール
```bash
# Composer
docker exec kb_php composer install
# npm
docker exec kb_php npm install
docker exec kb_php npm run build
```
### 5. データベースのセットアップ
```bash
# マイグレーション
docker exec kb_php php artisan migrate
# 初期ユーザーの作成(オプション)
docker exec kb_php php artisan db:seed --class=UserSeeder
```
### 6. 管理者の設定
```bash
# 既存ユーザーを管理者に設定
docker exec kb_php php artisan user:set-admin admin@example.com
# 管理者権限を削除する場合
docker exec kb_php php artisan user:set-admin admin@example.com --remove
```
## アクセスURL
| サービス | URL |
|---------|-----|
| アプリケーション | http://localhost:9700 |
| phpMyAdmin | http://localhost:9701 |
| MailHog | http://localhost:9725 |
## 初期アカウント
UserSeederを実行した場合
- **Email**: admin@example.com
- **Password**: password
## よく使うコマンド
```bash
# コンテナ操作
docker compose up -d # 起動
docker compose down # 停止
docker compose restart # 再起動
docker compose logs -f # ログ確認
# PHPコンテナ内でコマンド実行
docker exec kb_php php artisan [command]
docker exec kb_php composer [command]
docker exec kb_php npm [command]
# コンテナに入る
docker exec -it kb_php bash
```
## 管理者機能
管理者(`is_admin = true`)は以下の機能にアクセスできます:
- **ユーザー管理** (`/admin/users`)
- ユーザー一覧表示
- 新規ユーザー作成
- ユーザー編集(名前、メール、パスワード、管理者権限)
- ユーザー削除
管理者はログイン後ダッシュボードへ、一般ユーザーはフロントページへリダイレクトされます。
## ドキュメントの作成
### 基本的な使い方
1. サイドバーの「New Document」をクリック
2. タイトルとMarkdownコンテンツを入力
3. 保存
### 階層構造の作成
タイトルに `/` を含めると自動的に階層化されます:
- `Laravel/Livewire/Components``Laravel/Livewire/` フォルダ内に作成
- `git/認証設定``git/` フォルダ内に作成
### Wikiリンク
`[[ページ名]]` 記法でリンクを作成できます:
```markdown
詳細は [[Getting Started]] を参照してください。
[[Laravel/Livewire/Components]] も確認してください。
```
## トラブルシューティング
### パーミッションエラー
```bash
docker exec kb_php chmod -R 775 storage bootstrap/cache
docker exec kb_php chown -R www-data:www-data storage bootstrap/cache
```
### コンテナが起動しない
```bash
docker compose down --remove-orphans
docker compose up -d
```
### Nginxがエラーで停止する
`docker/nginx/default.conf``fastcgi_pass``kb_php:9000` になっているか確認してください。
### データベース接続エラー
`src/.env``DB_HOST``kb_mysql` になっているか確認してください。
## ライセンス
MIT License