Firebase Next.jsでWeb回覧システム設計
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. ダッシュボード表示
  1. Firebase認証の活用
  • Googleアカウントでのシングルサインオン実装が容易
  • 社内のGoogleワークスペースと連携可能
  • セキュリティ面も信頼性が高い

web circular 241030

Firebaseプロジェクトの初期設定について説明させていただきます:

  1. Googleアナリティクスについて
  • 推奨: Yes(有効化することをお勧めします)
  • 理由:
    • ユーザーの行動分析が可能
    • エラー追跡が容易
    • ユーザー数やアクティブユーザーの把握
    • コストは無料
  1. データベース設計のポイント
  • Users: Firebaseの認証情報と連携
  • CircularContents: 回覧文書の管理
  • ReadStatus: 既読状態の管理
  • Roles & UserRoles: 権限管理の実装
  1. PHPバックエンドの役割
  • データのCRUD操作
    Create(作成)、Read(読み取り)、Update(更新)、Delete(削除)
  • ビジネスロジックの実装
  • Firebase認証のトークン検証
  1. 状態管理のポイント
  • 既読状態はリアルタイムで更新
  • ユーザーの権限に応じた表示制御
  • 期限切れ文書の自動アーカイブ

実装手順としては:

  1. まずFirebase認証の実装
  2. 基本的なCRUD機能の実装
  3. 既読管理機能の追加
  4. 権限管理の実装
  5. UI/UXの改善

WordPressをヘッドレスCMSとして使用する場合

  • 管理画面が既に用意されている
  • メディア管理しやすい

Firebaseの認証の実装

Web回覧システムにおけるFirebase認証の役割と目的について説明させていただきます。

Firebase認証の主な目的:

  1. 社内ユーザーの認証
  • 社員のGoogleアカウント(会社支給のメールアドレス)でログイン
  • シングルサインオン(SSO)の実現
  • 不正アクセスの防止