{"id":25857787,"url":"https://github.com/calloc134/callstack","last_synced_at":"2026-03-06T16:33:59.495Z","repository":{"id":176436293,"uuid":"656451514","full_name":"calloc134/callstack","owner":"calloc134","description":"pnpm/turborepo モノリポボイラープレート","archived":false,"fork":false,"pushed_at":"2023-11-11T14:34:39.000Z","size":2051,"stargazers_count":24,"open_issues_count":10,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-10T19:25:03.345Z","etag":null,"topics":["commitlint","devcontainer","graphql","graphql-yoga","nextui","pnpm","pnpm-workspaces","prisma","react","storybook","tailwindcss","turborepo"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/calloc134.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":null,"support":null,"governance":null}},"created_at":"2023-06-21T01:51:10.000Z","updated_at":"2024-12-03T12:20:17.000Z","dependencies_parsed_at":null,"dependency_job_id":"8c114e97-0ad6-4a7f-8a2c-286fd75426ee","html_url":"https://github.com/calloc134/callstack","commit_stats":null,"previous_names":["calloc134/turbopnpmtest"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/calloc134/callstack","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/calloc134%2Fcallstack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/calloc134%2Fcallstack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/calloc134%2Fcallstack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/calloc134%2Fcallstack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/calloc134","download_url":"https://codeload.github.com/calloc134/callstack/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/calloc134%2Fcallstack/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30185534,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-06T14:42:24.748Z","status":"ssl_error","status_checked_at":"2026-03-06T14:42:14.925Z","response_time":250,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":["commitlint","devcontainer","graphql","graphql-yoga","nextui","pnpm","pnpm-workspaces","prisma","react","storybook","tailwindcss","turborepo"],"created_at":"2025-03-01T19:17:52.602Z","updated_at":"2026-03-06T16:33:54.480Z","avatar_url":"https://github.com/calloc134.png","language":"TypeScript","readme":"\u003ch1 align=\"center\"\u003ecallstack\u003c/h1\u003e\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./callstack.png\" alt=\"callstack\" width=\"300\" /\u003e\n\u003c/p\u003e\n\n\u003ch2 align=\"center\"\u003e pnpm + turborepoで構成されたモノリポ構成のボイラープレート \u003c/h2\u003e\n\n\u003cp align=\"center\"\u003e\n   \u003cimg src=\"https://img.shields.io/github/stars/calloc134/callstack?style=flat-square\" alt=\"GitHub stars\" /\u003e\n    \u003cimg src=\"https://img.shields.io/github/forks/calloc134/callstack?style=flat-square\" alt=\"GitHub forks\" /\u003e\n    \u003cimg src=\"https://img.shields.io/github/issues/calloc134/callstack?style=flat-square\" alt=\"GitHub issues\" /\u003e\n    \u003cimg src=\"https://img.shields.io/github/license/calloc134/callstack?style=flat-square\" alt=\"GitHub license\" /\u003e\n    \u003cimg src=\"https://img.shields.io/github/last-commit/calloc134/callstack?style=flat-square\" alt=\"GitHub commit\" /\u003e\n    \u003cimg src=\"https://img.shields.io/github/languages/code-size/calloc134/callstack?style=flat-square\" alt=\"GitHub code size in bytes\" /\u003e\n    \u003cimg src=\"https://img.shields.io/github/repo-size/calloc134/callstack?style=flat-square\" alt=\"GitHub repo size\" /\u003e\n\n## コンテンツ内容\n\n- 📋 [概要](#概要)\n- ℹ️ [モノリポ構成とは](#モノリポ構成とは)\n- 🔧 [全体構成](#全体構成)\n- 🔧 [技術スタック](#技術スタック)\n  - 💻 [バックエンド](#バックエンド)\n  - 🌐 [フロントエンド](#フロントエンド)\n  - ⚙️ [開発環境整備](#開発環境整備)\n  - 🐳 [インフラ環境(開発環境)](#インフラ環境開発環境)\n  - 🐳 [インフラ環境(本番環境)](#インフラ環境本番環境)\n  - 🚀 [CI/CD 環境](#cicd-環境)\n- 📂 [ディレクトリ構成](#ディレクトリ構成)\n- 💻 [起動方法](#起動方法)\n  - 💻 [開発環境の起動方法](#開発環境の起動方法)\n  - 💻 [本番環境の起動方法](#本番環境の起動方法)\n- 📅 [今後の予定](#今後の予定)\n- 📜 [ライセンス](#ライセンス)\n\n# 概要\n\nこのプロジェクトは、pnpm と turbo を用いて構成されたボイラープレートです。  \n現在開発途上です。\n\n### モノリポ構成とは\n\nモノリポ構成とは、複数のプロジェクトを一つのリポジトリで管理する構成のことです。\n\n## 全体構成\n\nこのリポジトリは、バックエンドを graphql で、フロントエンドを react で実装した Web アプリケーションをモノリポ構成で管理しています。\n\n## 技術スタック\n\n### バックエンド\n\n- graphql-yoga  \n  graphql サーバの立ち上げに使用しています。\n- tsx  \n  開発環境のビルドツールとして利用しています。\n- swc\n  本番環境のビルドツールとして利用しています。\n- prisma  \n  データベースへのアクセスに使用しています。\n- grpahql-scalars  \n  日付型や JSON 型などのスカラー型を graphql-yoga へ追加するために使用しています。\n- graphql-codegen  \n  graphql スキーマから、resolver や型定義を生成するために使用しています。\n- @envelop/useAuth0  \n  後述する Logto との連携に使用しています。\n- @envelop/useGenericAuth  \n  認可処理や権限管理に使用しています。  \n  これを用いて graphql の@auth ディレクティブを実装しています。\n- graphql-armor  \n  様々なセキュリティ対策に使用しています。\n- @envelop/disable-introspection  \n  GraphQL のイントロスペクションを無効化するために使用しています。\n- jsonwebtoken  \n  JWT 認証処理に利用しています。\n- jimp  \n  画像のリサイズ処理に使用しています。\n- minio-js  \n  後述する minio にリサイズ画像をアップロードするために使用しています。\n\n### フロントエンド\n\n- react  \n  フロントエンドのフレームワークとして使用しています。\n- vite  \n  ビルドツールとして使用しています。\n- @tanstack/react-router\n  ルーティングに使用しています。\n- nextui  \n  tailwind 対応のコンポーネントライブラリとして使用しています。\n- tailwindcss  \n  CSS フレームワークとして使用しています。\n- storybook  \n  コンポーネントの管理に使用しています。\n- urql  \n  graphql クライアントとして使用しています。\n- @urql/exchange-auth\n  後述する Logto との認証連携に使用しています。\n- graphql-codegen  \n  graphql スキーマから、型定義を生成するために使用しています。\n- logto-js  \n  後述する Logto を用いた認証処理に使用しています。\n\n### 開発環境整備\n\n- pnpm  \n  パッケージマネージャとして使用しています。\n- turborepo  \n  モノリポ構成の管理に使用しています。\n- prettier  \n  コードのフォーマットに使用しています。\n- husky  \n  git のフックに使用しています。\n- commitlint  \n  コミットメッセージのフォーマットをチェックするために使用しています。\n- changesets  \n  バージョン管理とリリース管理に使用しています。\n\n### インフラ環境(開発環境)\n\n- devcontainer  \n  開発環境の立ち上げに使用しています。  \n  ベースとなるアプリケーションコンテナに加えて、PostgreSQL のデータベースコンテナと minio を立ち上げています。\n- minio  \n  AWS S3 互換のオブジェクトストレージです。\n\n### インフラ環境(本番環境)\n\n- docker compose  \n  本番環境の立ち上げに使用しています。\n- Logto  \n  Auth0 互換の認証サービスです。\n- minio  \n  AWS S3 互換のオブジェクトストレージです。\n- nginx  \n  フロントエンドの HTML ファイルの配信を行っています。  \n  nginx のコンテナ内でフロントエンドのビルドを行い、そのビルド済みのファイルを配信しています。\n- traefik\n  リバースプロキシとして使用しています。\n\n### CI/CD 環境\n\n- Github Actions  \n  ここで、型チェックを行っています。  \n  現時点では型チェックのみですが、今後はテストコードの実行も行う予定です。\n\n## ライセンス\n\nMIT License\n\nCopyright (c) 2023 calloc134\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcalloc134%2Fcallstack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcalloc134%2Fcallstack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcalloc134%2Fcallstack/lists"}