{"id":24671855,"url":"https://github.com/q23isline/study_cakephp5","last_synced_at":"2026-04-08T21:32:20.833Z","repository":{"id":273053908,"uuid":"918454724","full_name":"q23isline/study_cakephp5","owner":"q23isline","description":"CakePHP 5 勉強用リポジトリ","archived":false,"fork":false,"pushed_at":"2026-01-11T09:47:44.000Z","size":1395,"stargazers_count":0,"open_issues_count":6,"forks_count":0,"subscribers_count":1,"default_branch":"develop","last_synced_at":"2026-01-11T11:08:28.783Z","etag":null,"topics":["cakephp","docker","docker-compose","github-actions","php","phpstan","sql-server","vuejs"],"latest_commit_sha":null,"homepage":"","language":"PHP","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/q23isline.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-01-18T01:19:46.000Z","updated_at":"2026-01-11T09:47:47.000Z","dependencies_parsed_at":"2025-02-02T08:23:32.092Z","dependency_job_id":"81d5c722-f4cd-4824-b362-a86975a6b5b9","html_url":"https://github.com/q23isline/study_cakephp5","commit_stats":null,"previous_names":["q23isline/study_cakephp5"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/q23isline/study_cakephp5","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/q23isline%2Fstudy_cakephp5","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/q23isline%2Fstudy_cakephp5/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/q23isline%2Fstudy_cakephp5/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/q23isline%2Fstudy_cakephp5/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/q23isline","download_url":"https://codeload.github.com/q23isline/study_cakephp5/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/q23isline%2Fstudy_cakephp5/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31575544,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T14:31:17.711Z","status":"ssl_error","status_checked_at":"2026-04-08T14:31:17.202Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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":["cakephp","docker","docker-compose","github-actions","php","phpstan","sql-server","vuejs"],"created_at":"2025-01-26T10:12:01.839Z","updated_at":"2026-04-08T21:32:20.812Z","avatar_url":"https://github.com/q23isline.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# study_cakephp5\n\n[![LICENSE](https://img.shields.io/badge/license-MIT-green.svg)](./LICENSE)\n![releases](https://img.shields.io/github/release/q23isline/study_cakephp5.svg?logo=github)\n[![GitHub Actions Backend](https://github.com/q23isline/study_cakephp5/actions/workflows/backend_ci.yml/badge.svg)](https://github.com/q23isline/study_cakephp5/actions/workflows/backend_ci.yml)\n[![GitHub Actions Frontend](https://github.com/q23isline/study_cakephp5/actions/workflows/frontend_ci.yml/badge.svg)](https://github.com/q23isline/study_cakephp5/actions/workflows/frontend_ci.yml)\n[![PHPStan](https://img.shields.io/badge/PHPStan-level%208-brightgreen.svg?style=flat-square)](https://github.com/phpstan/phpstan)\n[![Open in Visual Studio Code](https://img.shields.io/static/v1?logo=visualstudiocode\u0026label=\u0026message=Open%20in%20Visual%20Studio%20Code\u0026labelColor=555555\u0026color=007acc\u0026logoColor=007acc)](https://github.dev/q23isline/study_cakephp5)\n\n[![PHP](https://img.shields.io/static/v1?logo=php\u0026label=PHP\u0026message=v8.4.3\u0026labelColor=555555\u0026color=777BB4\u0026logoColor=777BB4)](https://www.php.net)\n[![CakePHP](https://img.shields.io/static/v1?logo=cakephp\u0026label=CakePHP\u0026message=v5.1.5\u0026labelColor=555555\u0026color=D33C43\u0026logoColor=D33C43)](https://cakephp.org)\n[![SQL Server](https://img.shields.io/static/v1?label=SQL%20Server\u0026message=v2022\u0026labelColor=555555\u0026color=FFFFFF\u0026logoColor=FFFFFF)](https://learn.microsoft.com/ja-jp/sql/sql-server/)\n[![MySQL](https://img.shields.io/static/v1?logo=mysql\u0026label=MySQL\u0026message=v9.0\u0026labelColor=555555\u0026color=4479A1\u0026logoColor=4479A1)](https://dev.mysql.com)\n[![Node.js](https://img.shields.io/static/v1?logo=node.js\u0026label=Node.js\u0026message=v22.12.0\u0026labelColor=555555\u0026color=339933\u0026logoColor=339933)](https://nodejs.org)\n[![npm](https://img.shields.io/static/v1?logo=npm\u0026label=npm\u0026message=v10.9.0\u0026labelColor=555555\u0026color=CB3837\u0026logoColor=CB3837)](https://www.npmjs.com/)\n[![Vue.js](https://img.shields.io/static/v1?logo=vue.js\u0026label=Vue.js\u0026message=v3.13.0\u0026labelColor=555555\u0026color=4FC08D\u0026logoColor=4FC08D)](https://ja.vuejs.org/)\n\nCakePHP 5 勉強用リポジトリ\n\n- [バックエンド開発ガイドライン](./backend/README.md)\n- [フロントエンド開発ガイドライン](./frontend/README.md)\n\n## 前提\n\n- インストール\n  - [Windows Subsystem for Linux](https://learn.microsoft.com/ja-jp/windows/wsl/)\n  - [Git](https://git-scm.com/)\n  - [Docker Desktop](https://www.docker.com/ja-jp/products/docker-desktop/)\n  - [Visual Studio Code](https://code.visualstudio.com/)\n  - [SQL Server Management Studio](https://learn.microsoft.com/ja-jp/sql/ssms/)\n\n## はじめにやること\n\n1. Windows Subsystem for Linux 上でプログラムダウンロード\n\n    ```bash\n    git clone https://github.com/q23isline/study_cakephp5.git\n    ```\n\n2. リポジトリのカレントディレクトリへ移動\n\n    ```bash\n    cd study_cakephp5\n    ```\n\n3. 開発準備\n\n    ```bash\n    rm -f .dockerignore\n    cp .vscode/extensions.json.default .vscode/extensions.json\n    cp .vscode/launch.json.default .vscode/launch.json\n    cp .vscode/settings.json.default .vscode/settings.json\n    cp backend/config/.env.example backend/config/.env\n    cp backend/config/app_local.example.php backend/config/app_local.php\n    ```\n\n4. アプリ立ち上げ\n\n    ```bash\n    # MySQL の場合\n    sudo chmod 644 docker/local/mysql/etc-mysql.cnf\n\n    docker compose build\n    sudo chmod -R ugo+rw ./\n    docker compose up -d\n    docker compose exec backend php composer.phar install\n    docker compose exec frontend npm install\n    sudo chmod -R 777 backend/vendor frontend/node_modules\n    docker compose exec backend bin/cake migrations migrate\n    docker compose exec backend bin/cake migrations seed\n    ```\n\n## 日常的にやること\n\n### システム起動\n\n```bash\n# DB、バックエンドコンテナ起動\ndocker compose up -d\n# バックエンド起動\ndocker compose exec backend bin/cake server -H 0.0.0.0\n# フロントエンド起動\ndocker compose exec frontend npm run dev -- --host\n```\n\n### システム終了\n\n```bash\n# フロントエンド起動ターミナルで Ctrl + c\n# バックエンド起動ターミナルで Ctrl + c\n\ndocker compose down\n```\n\n## 動作確認\n\n### URL\n\n#### バックエンド\n\n\u003chttp://localhost:8765/users/login\u003e\n\n#### フロントエンド\n\n\u003chttp://localhost:5173/\u003e\n\n#### ログイン情報\n\n| Email               | Password |\n| ------------------- | -------- |\n| \u003cadmin@example.com\u003e | admin00  |\n\n## Permission Deniedエラーが出た時の解決方法\n\n```bash\n# プロジェクト全体のファイルすべてに読み込み、書き込み権限を与える\nsudo chmod -R ugo+rw ./\n# インストールしたライブラリに実行権限を含めた全権限を与える\nsudo chmod -R 777 backend/vendor frontend/node_modules\n```\n\n## データベースへの接続\n\n### SQL Server の場合\n\n| 項目名                   | 設定値          |\n| ------------------------ | --------------- |\n| サーバー名               | 127.0.0.1       |\n| 認証                     | SQL Server 認証 |\n| ユーザー名               | sa              |\n| パスワード               | Passw0rd        |\n| サーバー証明書を信頼する | ON              |\n\n### MySQL の場合\n\n| 項目名     | 設定値    |\n| ---------- | --------- |\n| サーバー名 | 127.0.0.1 |\n| ユーザー名 | root      |\n| パスワード | Passw0rd  |\n\n## ログ出力場所\n\n| サービス                | ログ出力場所  |\n| ----------------------- | ------------- |\n| CakePHP (開発)          | backend/logs  |\n| SQL Server (開発・本番) | logs/db       |\n| Node.js (開発)          | logs/frontend |\n| CakePHP (本番)          | logs/backend  |\n| NGINX・PHP-FPM (本番)   | logs/web      |\n\n## 本番想定でのアプリ立ち上げ\n\n1. 本番想定のアプリ起動準備\n\n    ```bash\n    cp docker/prod/amazon_linux/nginx/ssl/server.crt.default docker/prod/amazon_linux/nginx/ssl/server.crt\n    cp docker/prod/amazon_linux/nginx/ssl/server.csr.default docker/prod/amazon_linux/nginx/ssl/server.csr\n    cp docker/prod/amazon_linux/nginx/ssl/server.key.default docker/prod/amazon_linux/nginx/ssl/server.key\n    cp .dockerignore.prod-default .dockerignore\n    ```\n\n2. アプリ立ち上げ\n\n    ```bash\n    cd study_cakephp5\n    docker compose -f docker-compose-prod.yml build\n    docker compose -f docker-compose-prod.yml up -d\n    docker compose exec app-prod bin/cake migrations migrate\n    docker compose exec app-prod bin/cake migrations seed\n    sudo chmod -R ugo+rw logs\n    ```\n\n### 本番想定での URL\n\n\u003chttp://localhost\u003e\n\n## 本番想定でのアプリ終了\n\n```bash\ndocker compose -f docker-compose-prod.yml down\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fq23isline%2Fstudy_cakephp5","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fq23isline%2Fstudy_cakephp5","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fq23isline%2Fstudy_cakephp5/lists"}