😇
やること モダンな環境でのアプリ開発
中長期プロジェクト: REST APIで時間管理ツールを開発
プロジェクト概要
時間管理ツールをテーマに、実務で役立つ機能を備えたアプリケーションを開発。学んだ内容をブログで発信しながら、技術力を高めることを目指します。
機能要件
-
プロジェクト管理
- プロジェクトの作成、編集、削除、閲覧。
-
タスク管理
- タスクの登録、進捗更新、ステータス管理。
-
タイムトラッキング
- 作業時間の記録と集計。
-
データの視覚化
- AWS QuickSightを活用して作業時間やタスク進捗をグラフ化。
技術スタック
-
バックエンド: Laravel
- REST APIの構築。
- 認証機能の実装(例: Sanctum)。
- タスクやプロジェクトのデータ管理。
-
フロントエンド: React
- ダッシュボードUIの作成。
- リアルタイム更新(例: WebSocketやPolling)。
-
データベース: MySQL
- プロジェクト、タスク、時間記録データの管理。
-
クラウドサービス: AWS
- S3でログやファイルの保存。
- QuickSightでデータ視覚化。
- EC2またはECSでアプリケーションをホスト。
-
GitHub Actions
- CI/CDフローを構築して、以下を自動化:
- 自動テストの実行(例: PHPUnit)。
- 問題がなければAWS上に自動デプロイ。
- CI/CDフローを構築して、以下を自動化:
GitHub Actionsの自動化フロー
-
トリガー
-
main
ブランチへのプッシュやプルリクエストを検知。
-
-
ステップ
- コードのチェックアウト。
- 依存関係のインストール(Laravel: Composer、React: npm)。
- 自動テストの実行。
- ビルド処理(React:
npm run build
)。 - AWS S3やEC2へのデプロイ。
-
設定
- AWS CLIを活用し、S3やEC2にデプロイ。
- SecretsにAWSのキーを設定。
期待する成果
-
学べること
- LaravelとReactでのAPI・UI開発。
- AWSを活用したクラウドホスティングとストレージ管理。
- GitHub ActionsによるCI/CDフローの構築。
-
アウトプット
- 実務で活用できるアプリケーション。
- ブログ記事や技術的知見の発信。
-
スキルアップ
- モダンな開発フローの習得。
- クラウドと自動化の技術力向上。
次のステップ
-
プロジェクトの設計
- 機能要件の詳細化。
- データベース設計。
-
環境構築
- 開発環境(Laravel + React)を構築。
- GitHubリポジトリとGitHub Actionsの設定。
-
実装開始
- バックエンドAPIからスタートし、順次フロントエンドやAWS統合を進める。
できたらめっちゃかっこいい!
Discussion