Skip to content

Repository files navigation

PractiCase Light for PHP

33 課題 / PHP 8.5 / Docker / Redmine / 実務フロー / 無料・課金なし

PractiCase Light for PHP

コードを書く力を、今以上に現場で通用する力へ。

PractiCase Light for PHPは、チケットを受け取り、コードを調査・修正し、テストし、報告して閉じるまでを 繰り返す実務体験型のエンジニア育成教材です。入門向けの33課題が含まれます。

完成済みのアプリを操作するだけではなく、 Redmine × VS Code × check × 報告という仕事の流れを通して学びます。

必要な環境

  • GitHubアカウント(教材の取得・Pull Requestに使用)
  • Git(ブランチ作成・commit・mergeに使用)
  • VS Code(コードの調査・修正に使用)
  • Docker Desktop(Docker Composeを含む。教材環境の起動に使用)

RedmineとPostgreSQLをホストへ個別にインストールする必要はありません。 Docker Composeが固定済みのイメージを取得・起動します。

導入手順

  1. PractiCase Lightを開き、 Use this template → Create a new repositoryを選びます。Ownerに自分のアカウント、 Repository nameに任意の名前を指定して、Create repositoryを押します

  2. 作成した自分用リポジトリをcloneし、VS Codeでリポジトリの一番上を開きます

    git clone https://github.com/<自分のアカウント>/<リポジトリ名>.git
    cd <リポジトリ名>
    code .
    

    codeコマンドを利用できない場合は、VS Codeの「ファイル → フォルダーを開く」から cloneしたフォルダーを選びます。

  3. アプリ、PCP、Redmineを起動し、アプリのDBを初期化します

    docker compose --profile redmine up -d
    docker compose exec app php tools/init-db.php
    
  4. PowerShellでRedmineを初期設定し、Lightの全33課題を投入します

    Get-Content -Raw tools/redmine/bootstrap.rb | docker compose --profile redmine exec -T redmine sh -c 'SECRET_KEY_BASE="$REDMINE_SECRET_KEY_BASE" bin/rails runner -'
    docker compose exec -T app php tools/redmine-seed.php --ticket-root=packs/php/tickets --all

    Git Bashのコマンドや停止・再初期化手順は Redmine運用ガイドにあります。

  5. ブラウザで動作を確認します

    開く場所 役割
    http://127.0.0.1:8280 Redmine。チケット選択、担当、進捗、コメント
    http://localhost:8180 PractiCaseアプリ。症状の再現と修正後の確認
  6. 導入からチュートリアル2完了までの手順書を開き、 T-000tutorialtutorial-2の順で進めます

使う場所と役割

場所 役割
Redmine チケットを選び、担当者・ステータス・見積・結果を記録する場所
VS Code ticket.md、仕様、コードを読み、実装する場所
ターミナル Git、Docker、tools/check.phpを実行する場所
ブラウザ アプリの症状を再現し、修正結果を確認する場所

それぞれ役割が別です。Redmineは進捗、ticket.mdは課題内容、check.phpは合否を管理します。 Redmineではチケットを英語やAPI上でissueと表記することがあります。

1枚のチケットを完了する流れ

  1. Redmineでチケットを開き、自分を担当者にしてNewIn Progress
  2. ブラウザで症状を再現する
  3. VS Codeでbranchを作り、ticket.mdに従って調査・実装する
  4. ターミナルでdocker compose exec app php tools/check.php <課題ID>を実行する
  5. ブラウザで修正結果を確認し、報告を作成してcommitする
  6. RedmineへPASS結果をコメントし、ResolvedClosed

Redmineが使えないときだけ、ticket.mdのfront matterで進捗を管理できます。 Redmineとfront matterは自動同期されません。

次に読む文書

初回学習では、AIコード補完・生成AI拡張を無効にして、自分で読む・探す・直す・確かめる流れを 一度経験することを推奨します。設定方法はセットアップガイドにあります。

利用条件

本教材の著作・利用・再配布条件はTERMS.md、AIツール利用時の遵守事項は AI_USAGE.mdを確認してください。

About

PractiCase Light for PHP — チケットを読み、仕様を確かめ、コードを書き、設計し、SQLで調べ、報告する実務型PHP教材。

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages