Shadmin — エンタープライズ向けフルスタックRBAC管理システム

Security

概要

Shadminは「An Enterprise-Grade Full-Stack RBAC Permission Management System Built with Go + React」を掲げる、実運用を想定した権限管理プラットフォームです。バックエンドはGo、フロントエンドはReact(TypeScript)で構成され、UIからロール・権限・ポリシーを管理できます。コンテナ化やCI設定を備え、組織内の認可(authenticationではなくauthorization)基盤として導入しやすい設計です。軽量かつ拡張性が高く、API経由で他サービスと統合可能です。

GitHub

リポジトリの統計情報

  • スター数: 14
  • フォーク数: 2
  • ウォッチャー数: 14
  • コミット数: 5
  • ファイル数: 21
  • メインの言語: TypeScript

主な特徴

  • フルスタック実装: React + TypeScriptの管理UIとGo製バックエンドでフロント/バック統合されたRBAC管理を提供。
  • エンタープライズ志向: 組織/ロール/パーミッション管理、ポリシー定義、APIベースの認可チェックを想定した機能群。
  • 実運用向けの構成: Dockerfile、CI/GitHubワークフロー、.githooksなど運用を補助する設定を同梱。
  • 拡張性と統合性: REST/GraphQL(リポジトリに準拠したAPI仕様に依存)経由で既存サービスに容易に組み込み可能。

技術的なポイント

Shadminの技術面での注目点は、言語・アーキテクチャの選択と運用性に重点が置かれている点です。バックエンドにGoを採用することで、高性能で軽量なAPIサーバーを実現し、同時接続やスループットが求められる環境にも耐えうる基盤を提供します。フロントエンドはReact + TypeScriptで型安全な管理UIを実装し、複雑な権限操作を扱いやすくしています。コンテナ化(Dockerfile)やCI設定、リポジトリフックを備えることでデリバリーの自動化とコード品質の担保がしやすく、企業環境での採用ハードルを下げます。また、RBACのコアであるロール・リソース・アクションのモデリングが明確で、ポリシー評価のための拡張ポイント(ミドルウェアやAPIフック)を備える想定になっているため、既存認証基盤やログ収集・監査ツールとの統合がスムーズです。TypeScript中心のコードベースはフロント側の保守性を高め、Goとの組合せはパフォーマンスと開発生産性のバランスを取っています。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .env.example: file — 開発/実行に必要な環境変数のテンプレート。
  • .githooks: dir — コミットやプッシュ時のフックでコード整形や静的解析を走らせる想定のスクリプト群。
  • .github: dir — ワークフロー(CI)やIssueテンプレートなどのGitHub設定。
  • .gitignore: file — ビルド成果物や環境固有ファイルの除外設定。
  • Dockerfile: file — アプリケーションのコンテナイメージを作る定義。運用環境向けに最適化可能。
  • README.md: file — プロジェクト全体の概要、セットアップ手順、機能説明。
  • docs/: dir — UIショーケースやアーキテクチャ図などのドキュメント(README内で参照されている画像群を含む)。
  • cmd/ または server/: dir — Goのエントリポイントとサーバー実装(通常バックエンドロジックが配置)。
  • web/: dir — React/TypeScriptのフロントエンドソース(コンポーネント、ストア、APIクライアント)。
  • scripts/: dir — 開発・デプロイ補助スクリプト(DBマイグレーションや初期データ投入など)。
  • config/: dir — アプリ設定(ポート、DB接続、認証/認可パラメータ)。
  • package.json / go.mod: file — それぞれの言語での依存管理ファイル。 …他 16 ファイル

各ディレクトリは役割が明確で、ローカル開発からコンテナデプロイ、CIによる自動テスト/ビルドまでの流れを想定した構成になっています。READMEやdocsにあるショーケース画像やバッジから、導入手順やサポート言語(英中)も用意されていることがうかがえます。

まとめ

実運用を見据えたRBAC基盤のスターターキットとして有望です。(約50字)

リポジトリ情報:

READMEの抜粋:

Shadmin

An Enterprise-Grade Full-Stack RBAC Permission Management System Built with Go + React

简体中文 · English

Shadmin Showcase

Go [React] [![TypeScript](https://img.shields.io/badge/TypeScript-5-3178C6?logo=typescript&logoColor=