Shadmin — エンタープライズ向けフルスタックRBAC管理システム
概要
Shadminは「An Enterprise-Grade Full-Stack RBAC Permission Management System Built with Go + React」を掲げる、実運用を想定した権限管理プラットフォームです。バックエンドはGo、フロントエンドはReact(TypeScript)で構成され、UIからロール・権限・ポリシーを管理できます。コンテナ化やCI設定を備え、組織内の認可(authenticationではなくauthorization)基盤として導入しやすい設計です。軽量かつ拡張性が高く、API経由で他サービスと統合可能です。
リポジトリの統計情報
- スター数: 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字)
リポジトリ情報:
- 名前: shadmin
- 説明: An Enterprise-Grade Full-Stack RBAC Permission Management System Built with Go + React
- スター数: 14
- 言語: TypeScript
- URL: https://github.com/ahaodev/shadmin
- オーナー: ahaodev
- アバター: https://avatars.githubusercontent.com/u/10151414?v=4
READMEの抜粋:
Shadmin
An Enterprise-Grade Full-Stack RBAC Permission Management System Built with Go + React
简体中文 · English
Shadmin Showcase
[
]
[![TypeScript](https://img.shields.io/badge/TypeScript-5-3178C6?logo=typescript&logoColor=…