{"id":27974623,"url":"https://github.com/developerhost/gotoshisha","last_synced_at":"2025-07-12T08:36:51.753Z","repository":{"id":288937651,"uuid":"969558463","full_name":"developerhost/gotoshisha","owner":"developerhost","description":"シーシャいきたい","archived":false,"fork":false,"pushed_at":"2025-07-01T04:44:56.000Z","size":110682,"stargazers_count":3,"open_issues_count":26,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-01T05:25:42.139Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/developerhost.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-20T12:30:18.000Z","updated_at":"2025-06-30T02:43:02.000Z","dependencies_parsed_at":"2025-05-08T00:21:27.189Z","dependency_job_id":"4154e060-2f53-4c6e-bd87-0ce8c23cbce9","html_url":"https://github.com/developerhost/gotoshisha","commit_stats":null,"previous_names":["developerhost/gotoshisha"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/developerhost/gotoshisha","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/developerhost%2Fgotoshisha","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/developerhost%2Fgotoshisha/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/developerhost%2Fgotoshisha/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/developerhost%2Fgotoshisha/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/developerhost","download_url":"https://codeload.github.com/developerhost/gotoshisha/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/developerhost%2Fgotoshisha/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264963947,"owners_count":23690150,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2025-05-08T00:19:06.650Z","updated_at":"2025-07-12T08:36:51.742Z","avatar_url":"https://github.com/developerhost.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Gotoshisha - React Native マップアプリケーション\n\nこのプロジェクトは、Expo と React Native Maps を使用した React Native アプリケーションで、Hono + Cloudflare Workers で構築されたバックエンド API を持っています。\n\n## プロジェクト構成\n\n- **フロントエンド**: React Native + Expo + TypeScript\n- **バックエンド**: Hono + Cloudflare Workers + D1 Database + Prisma\n- **テスト**: フロントエンドとバックエンドの両方で Vitest を使用\n- **リンティング**: TypeScript サポート付き ESLint\n- **CI/CD**: 自動テストとリンティングのための GitHub Actions\n\n## 開発環境のセットアップ\n\n### 前提条件\n\n- Node.js 20+\n- pnpm パッケージマネージャー\n- Expo CLI\n\n### フロントエンドのセットアップ\n\n1. 依存関係をインストール:\n   ```bash\n   pnpm install\n   ```\n\n2. 開発サーバーを起動:\n   ```bash\n   pnpm start\n   # または iOS の場合\n   pnpm ios\n   # または Android の場合\n   pnpm android\n   ```\n\n3. トンネルモード（テスト推奨）:\n   ```bash\n   pnpm start:clear\n   ```\n\n### バックエンドのセットアップ\n\n1. バックエンドディレクトリに移動:\n   ```bash\n   cd backend\n   ```\n\n2. 依存関係をインストール:\n   ```bash\n   pnpm install\n   ```\n\n3. 環境変数を設定:\n   ```bash\n   cp .env.example .env\n   ```\n\n4. Prisma クライアントを生成:\n   ```bash\n   pnpm db:generate\n   ```\n\n5. 開発サーバーを起動:\n   ```bash\n   pnpm dev\n   ```\n\n## 利用可能なスクリプト\n\n### フロントエンドスクリプト\n\n- `pnpm start` - Expo 開発サーバーを起動\n- `pnpm ios` - iOS シミュレーターを起動\n- `pnpm android` - Android エミュレーターを起動\n- `pnpm web` - Web 開発サーバーを起動\n- `pnpm lint` - ESLint を実行\n- `pnpm lint:fix` - ESLint の問題を自動修正\n- `pnpm test` - ウォッチモードでテストを実行\n- `pnpm test:run` - テストを一度実行\n- `pnpm type-check` - TypeScript 型チェックを実行\n\n### バックエンドスクリプト\n\n- `pnpm dev` - Wrangler で開発サーバーを起動\n- `pnpm build` - プロダクション用にビルド\n- `pnpm deploy` - Cloudflare Workers にデプロイ\n- `pnpm lint` - ESLint を実行\n- `pnpm test:run` - テストを実行\n- `pnpm db:generate` - Prisma クライアントを生成\n- `pnpm db:push` - スキーマ変更をデータベースにプッシュ\n\n## CI/CD\n\nこのプロジェクトは継続的インテグレーションのために GitHub Actions を使用しています。CI パイプラインには以下が含まれます：\n\n### フロントエンド CI\n- TypeScript 型チェック\n- ESLint リンティング\n- Vitest ユニットテスト\n\n### バックエンド CI\n- Prisma クライアント生成\n- TypeScript 型チェック\n- ESLint リンティング\n- Vitest ユニットテスト\n\n### ビルドチェック\n- バックエンドビルド検証\n- Expo Web エクスポート検証\n\nCI は以下の場合に実行されます：\n- `main` および `develop` ブランチへのプッシュ\n- `main` および `develop` ブランチへのプルリクエスト\n\n## テスト\n\n### テストの実行\n\n```bash\n# フロントエンドテスト\npnpm test:run\n\n# バックエンドテスト\ncd backend \u0026\u0026 pnpm test:run\n\n# 全テスト（ルートから）\npnpm test:run\n```\n\n### テスト構造\n\n- フロントエンドテストは `src/` ディレクトリ内のソースファイルと同じ場所に配置\n- バックエンドテストは `backend/src/` ディレクトリ内に配置\n- テストファイルは `*.test.ts` パターンに従う\n- テストはプロジェクトガイドラインに従って日本語の説明で Vitest を使用\n\n## コード品質\n\n### リンティング\n\n```bash\n# フロントエンドリンティング\npnpm lint\n\n# バックエンドリンティング\ncd backend \u0026\u0026 pnpm lint\n\n# リンティング問題の修正\npnpm lint:fix\n```\n\n### 型チェック\n\n```bash\n# フロントエンド型チェック\npnpm type-check\n\n# バックエンド型チェック\ncd backend \u0026\u0026 pnpm type-check\n```\n\n### 期待される結果\n\n![期待される結果](./docs/expected.png)\n\n### 実際の結果\n\nApp.tsx でスタートアップ時に expo-asset を使用してアセットをキャッシュすることで、アセットバンドリングの結果をシミュレートしています。\n\n![実際の結果](./docs/actual.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeveloperhost%2Fgotoshisha","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdeveloperhost%2Fgotoshisha","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeveloperhost%2Fgotoshisha/lists"}