{"id":15142618,"url":"https://github.com/gtaiyou24/saas-dashboard","last_synced_at":"2026-01-28T17:33:56.351Z","repository":{"id":256114703,"uuid":"854354255","full_name":"gtaiyou24/saas-dashboard","owner":"gtaiyou24","description":"SaaS ダッシュボード | 🔑 ユーザー認証 / 👤 アカウント管理 / 👥 メンバー管理 / 🏠 テナント / 📋 プロジェクト","archived":false,"fork":false,"pushed_at":"2024-12-01T00:36:14.000Z","size":736,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-16T02:53:53.963Z","etag":null,"topics":["authjs","clean-architecture","ddd","fastapi","nextauth","nextjs"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gtaiyou24.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-09-09T02:39:47.000Z","updated_at":"2024-09-24T07:18:20.000Z","dependencies_parsed_at":"2024-09-14T15:31:46.227Z","dependency_job_id":"82b92d00-1236-4b80-9a3f-d375f9a357e4","html_url":"https://github.com/gtaiyou24/saas-dashboard","commit_stats":{"total_commits":91,"total_committers":2,"mean_commits":45.5,"dds":"0.21978021978021978","last_synced_commit":"5d30b6bb7801373eb254b02000204a6128a147ee"},"previous_names":["gtaiyou24/saas-dashboard-nextjs-fastapi","gtaiyou24/saas-dashboard"],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/gtaiyou24/saas-dashboard","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gtaiyou24%2Fsaas-dashboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gtaiyou24%2Fsaas-dashboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gtaiyou24%2Fsaas-dashboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gtaiyou24%2Fsaas-dashboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gtaiyou24","download_url":"https://codeload.github.com/gtaiyou24/saas-dashboard/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gtaiyou24%2Fsaas-dashboard/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28847842,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-28T15:15:36.453Z","status":"ssl_error","status_checked_at":"2026-01-28T15:15:13.020Z","response_time":57,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["authjs","clean-architecture","ddd","fastapi","nextauth","nextjs"],"created_at":"2024-09-26T09:43:10.080Z","updated_at":"2026-01-28T17:33:56.333Z","avatar_url":"https://github.com/gtaiyou24.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SaaS Dashboard\n\u003ca href=\"https://github.com/gtaiyou24/saas-dashboard/actions/workflows/test.yml\" target=\"_blank\"\u003e\u003cimg src=\"https://github.com/gtaiyou24/saas-dashboard/actions/workflows/test.yml/badge.svg\" alt=\"Test\"\u003e\u003c/a\u003e\n\u003ca href=\"https://coverage-badge.samuelcolvin.workers.dev/redirect/gtaiyou24/saas-dashboard\" target=\"_blank\"\u003e\u003cimg src=\"https://coverage-badge.samuelcolvin.workers.dev/gtaiyou24/saas-dashboard.svg\" alt=\"Coverage\"\u003e\u003c/a\u003e\n\n## 🔥 ダウンロード\n```bash\npip install copier\ncopier copy https://github.com/gtaiyou24/saas-dashboard my-project --trust\n```\n\n## 📚 使い方\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003e🏃 起動する\u003c/b\u003e\u003c/summary\u003e\n\n**Step.1** : Create a `.env` file at `./backend` folder.\n```bash\ncp backend/.env.local backend/.env\n```\n\n**Step.2** : Then run `docker-compose up` to start the server.\n```bash\ndocker-compose up --build\n```\n\n - [Front](http://localhost:3000)\n - [Swagger UI](http://localhost:8000/docs)\n - [MailHog](http://0.0.0.0:8025/)\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003e🔌 ローカルDBに接続する\u003c/b\u003e\u003c/summary\u003e\n\nConnect to Redis\n```bash\nredis-cli -p 6379\n\n# 127.0.0.1:6379\u003e keys *\n```\n\nConnect to MySQL\n```bash\nmysql -h 127.0.0.1 -P 3306 -u user -p\n# Enter password: pass\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003e🛠️ OpenAPI から TypeScript のクライアントコードを生成する\u003c/b\u003e\u003c/summary\u003e\n\n```bash\ncd frontend\nnpm run generate-client\n```\n\nAppendix\n\n - [openapi-typescript | OpenAPI TypeScript](https://openapi-ts.pages.dev/introduction)\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003e✅ テストを実行する\u003c/b\u003e\u003c/summary\u003e\n\n```bash\npip install pytest pytest-env httpx\npytest -v ./backend/test\n```\n\n\u003c/details\u003e\n\n---\n## 🛠️ 技術スタック\n### 🔨 バックエンド\n\n - ⚙️ 開発言語: Python\n - ⚡️ フレームワーク: [FastAPI](https://fastapi.tiangolo.com/)\n - ✍️ 設計手法: [DDD(ドメイン駆動設計)](https://amzn.to/4gjk6AQ)\n - 🧰 ライブラリ:\n   - 💾 [SQLAlchemy](https://www.sqlalchemy.org/) : Python SQL DataBase interactions (ORM).\n   - ✅ [PyTest](https://docs.pytest.org/en/stable/) : Python test.\n   - 🔈️ [slf4py](https://pypi.org/project/slf4py/) : Logging.\n   - 🔀 [di4injector](https://pypi.org/project/di4injector/) : DI injection.\n - 💾️ DB: Postgresql / Redis\n - 🔌 クライアント連携: GraphQL\n - 🚀 CI: [GitHub Actions](https://docs.github.com/ja/actions)\n - 📃 Doc: Markdown / [Mermaid](https://mermaid.js.org/)\n\n### 🔧 フロントエンド\n\n - ⚙️ 開発言語: TypeScript\n - ⚡️ フレームワーク: [Next.js 14 App Router](https://nextjs.org/docs)\n - 🧰 ライブラリ:\n   - 🔐 [Auth.js(NextAuth.js V5)](https://authjs.dev/)\n - 🎨 CSS: [Tailwind](https://tailwindcss.com/) / [shadcn/ui](https://ui.shadcn.com/) / [Headless UI](https://headlessui.com/)\n - 🚀 CI: [GitHub Actions](https://docs.github.com/ja/actions)\n\n### ☁️ インフラ\n\n - ☁️ クラウドサービス: GCP Cloud Run / [Neon](https://neon.tech/) / [Upstash](https://upstash.com/)\n - 🌍️ IaC: [Terraform](https://www.terraform.io/)\n - 🐋 DevOps: [Docker Compose](https://www.docker.com)\n - 🚨 エラー/ログ監視ツール: [Sentry](https://sentry.io/welcome/) / [New Relic](https://newrelic.com/jp)\n - 📧 メールサービス: Gmail / SendGrid\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgtaiyou24%2Fsaas-dashboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgtaiyou24%2Fsaas-dashboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgtaiyou24%2Fsaas-dashboard/lists"}