Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gtaiyou24/saas-dashboard
SaaS ダッシュボード | 🔑 ユーザー認証 / 👤 アカウント管理 / 👥 メンバー管理 / 🏠 テナント / 📋 プロジェクト
https://github.com/gtaiyou24/saas-dashboard
authjs clean-architecture ddd fastapi nextauth nextjs
Last synced: 7 days ago
JSON representation
SaaS ダッシュボード | 🔑 ユーザー認証 / 👤 アカウント管理 / 👥 メンバー管理 / 🏠 テナント / 📋 プロジェクト
- Host: GitHub
- URL: https://github.com/gtaiyou24/saas-dashboard
- Owner: gtaiyou24
- License: other
- Created: 2024-09-09T02:39:47.000Z (25 days ago)
- Default Branch: main
- Last Pushed: 2024-09-20T06:36:35.000Z (14 days ago)
- Last Synced: 2024-09-22T15:03:48.875Z (11 days ago)
- Topics: authjs, clean-architecture, ddd, fastapi, nextauth, nextjs
- Language: TypeScript
- Homepage:
- Size: 624 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
README
## 🔥 ダウンロード
```bash
pip install copier
copier copy https://github.com/gtaiyou24/saas-dashboard my-project --trust
```## 📚 使い方
🏃 起動する**Step.1** : Create a `.env` file at `./backend` folder.
```bash
cp backend/.env.local backend/.env
```**Step.2** : Then run `docker-compose up` to start the server.
```bash
docker-compose up --build
```- [Front](http://localhost:3000)
- [Swagger UI](http://localhost:8000/docs)
- [MailHog](http://0.0.0.0:8025/)🔌 ローカルDBに接続する
Connect to Redis
```bash
redis-cli -p 6379# 127.0.0.1:6379> keys *
```Connect to MySQL
```bash
mysql -h 127.0.0.1 -P 3306 -u user -p
# Enter password: pass
```🛠️ OpenAPI から TypeScript のクライアントコードを生成する
```bash
cd frontend
npm run generate-client
```Appendix
- [openapi-typescript | OpenAPI TypeScript](https://openapi-ts.pages.dev/introduction)
✅ テストを実行する
```bash
pip install pytest pytest-env httpx
pytest -v ./backend/test
```---
## 🛠️ 技術スタック
### 🔨 バックエンド- ⚙️ 開発言語: Python
- ⚡️ フレームワーク: [FastAPI](https://fastapi.tiangolo.com/)
- ✍️ 設計手法: [DDD(ドメイン駆動設計)](https://amzn.to/4gjk6AQ)
- 🧰 ライブラリ:
- 💾 [SQLAlchemy](https://www.sqlalchemy.org/) : Python SQL DataBase interactions (ORM).
- ✅ [PyTest](https://docs.pytest.org/en/stable/) : Python test.
- 🔈️ [slf4py](https://pypi.org/project/slf4py/) : Logging.
- 🔀 [di4injector](https://pypi.org/project/di4injector/) : DI injection.
- 💾️ DB: Postgresql / Redis
- 🔌 クライアント連携: GraphQL
- 🚀 CI: [GitHub Actions](https://docs.github.com/ja/actions)
- 📃 Doc: Markdown / [Mermaid](https://mermaid.js.org/)### 🔧 フロントエンド
- ⚙️ 開発言語: TypeScript
- ⚡️ フレームワーク: [Next.js 14 App Router](https://nextjs.org/docs)
- 🧰 ライブラリ:
- 🔐 [Auth.js(NextAuth.js V5)](https://authjs.dev/)
- 🎨 CSS: [Tailwind](https://tailwindcss.com/) / [shadcn/ui](https://ui.shadcn.com/) / [Headless UI](https://headlessui.com/)
- 🚀 CI: [GitHub Actions](https://docs.github.com/ja/actions)### ☁️ インフラ
- ☁️ クラウドサービス: GCP Cloud Run / [Neon](https://neon.tech/) / [Upstash](https://upstash.com/)
- 🌍️ IaC: [Terraform](https://www.terraform.io/)
- 🐋 DevOps: [Docker Compose](https://www.docker.com)
- 🚨 エラー/ログ監視ツール: [Sentry](https://sentry.io/welcome/) / [New Relic](https://newrelic.com/jp)
- 📧 メールサービス: Gmail / SendGrid