Users
uid (PK)
email
name
department
created_at
updated_at
CircularContents
id (PK)
title
content
status
publish_date
expire_date
created_by (FK)
created_at
updated_at
ReadStatus
id (PK)
user_id (FK)
content_id (FK)
is_read
read_at
Roles
id (PK)
name
description
UserRoles
id (PK)
user_id (FK)
role_id (FK)
Users ← CircularContents (作成者)
Users ← ReadStatus (閲覧状態)
Users ← UserRoles (権限割当)
Roles ← UserRoles (権限定義)
CircularContents ← ReadStatus (閲覧記録)
Firebase認証フロー
User
Frontend
Firebase Auth
Backend
Database
1. Googleログインボタンクリック
2. Google認証リクエスト
3. ログイン画面でメール入力
4. 認証トークン返却
5. トークン検証
6. ユーザー情報保存
7. ダッシュボード表示
- Firebase認証の活用
- Googleアカウントでのシングルサインオン実装が容易
- 社内のGoogleワークスペースと連携可能
- セキュリティ面も信頼性が高い
web circular 241030
Firebaseプロジェクトの初期設定について説明させていただきます:
- Googleアナリティクスについて
- 推奨: Yes(有効化することをお勧めします)
- 理由:
- ユーザーの行動分析が可能
- エラー追跡が容易
- ユーザー数やアクティブユーザーの把握
- コストは無料
- データベース設計のポイント
- Users: Firebaseの認証情報と連携
- CircularContents: 回覧文書の管理
- ReadStatus: 既読状態の管理
- Roles & UserRoles: 権限管理の実装
- PHPバックエンドの役割
- データのCRUD操作
Create(作成)、Read(読み取り)、Update(更新)、Delete(削除) - ビジネスロジックの実装
- Firebase認証のトークン検証
- 状態管理のポイント
- 既読状態はリアルタイムで更新
- ユーザーの権限に応じた表示制御
- 期限切れ文書の自動アーカイブ
実装手順としては:
- まずFirebase認証の実装
- 基本的なCRUD機能の実装
- 既読管理機能の追加
- 権限管理の実装
- UI/UXの改善
WordPressをヘッドレスCMSとして使用する場合
- 管理画面が既に用意されている
- メディア管理しやすい
Firebaseの認証の実装
Web回覧システムにおけるFirebase認証の役割と目的について説明させていただきます。
Firebase認証の主な目的:
- 社内ユーザーの認証
- 社員のGoogleアカウント(会社支給のメールアドレス)でログイン
- シングルサインオン(SSO)の実現
- 不正アクセスの防止