1.背景
・本開発は3人(小規模)の共同開発で、XをモデルにしたSNSサービスのクローンを作成。
・共同開発における実装の流れ、必要なこと、個人の課題等について記載。
2.自己紹介
・実務経験:なし
・プログラミング学習歴:約1年
・習得言語:HTML、CSS、JavaScript、TypeScript、React、Node.js、PHP、Laravel 等
・個人開発経験:ToDoアプリ、家計簿アプリ、天気予報アプリ 等
3.概要及び仕様技術
フロントエンド
・Laravel Blade(テンプレートエンジン)
・HTML
・BootStrap(CSSフレームワーク)
バックエンド
・PHP(Laravelフレームワーク使用)
インフラ・環境構築
・Docker(開発環境)
・MySql(データベース)
・Adminer(データベース管理)
その他ツール
・GitHub(ソースコード管理、PRレビューによる運用)
・slack(タスク進捗共有、コミュニケーション)
4.テーマ
チームテーマ
・小規模チーム(3人)によるタスク分担と進捗共有を意識した開発。
・GitHubを用いたPRベースのコードレビュー運用
・毎週ミーテイングを実施、進捗共有及び課題発見、解決を図る。
個人テーマ
・【自走できるエンジニア】を目指して、タスク管理と自主的な開発サイクルを意識
・タスクごとに以下の流れを実施
①作業見積もり(作業量と時間)
②仕様確認(要件と期待動作の整理)
③実装設計(処理内容やファイル構成の設計)
④開発(コーディング)
⑤テスト(チェックリストを基に確認)
⑥PR作成(簡潔明瞭な内容で提出)
・また、日々の作業内容と学びを「日報」として記録し、振り返りと課題整理に活用した。
5.実装
実装タスク
①usersテーブルの作成
②ユーザー詳細ページの作成
③新規投稿機能
④ユーザ退会機能
⑤フォロー機能
⑥タイムライン機能
⑦画像投稿機能の追加
⑧投稿編集機能(画像含む)
⑨全体UIの調整
⑩管理者機能
6.GitFlow
・開発共有用にdevelopブランチを使用。
・各機能ごとに feature/名前/機能名 ブランチを作成。
・マージはレビュワー(エンジニア)が担当し、開発者自身は行わない運用ルールを適用。
7.感想及び課題
開発を通して得たこと
・現役エンジニアのレビューを通じて、実務視点での設計・実装・レビューの観点を学ぶことができた。
・Dockerを用いた環境構築、Git/GitHubを用いたPRレビューとブランチ運用など、現場で求められる基礎スキルを実践できた。
・Laravelを用いた開発により、MVC構造への理解が深まり、実務に近い開発体験を得られた。
・タスク処理のテンプレートを自作し、見積もりからPR作成まで一貫して自己管理できるようになった。
・設計段階で「チーム全体にとってわかりやすいコードとは何か」を意識するようになった。
反省と課題
・ミーティングにおける議題整理や資料準備が不足していたため、認識のズレや仕様のすれ違いが発生した。
→今後は、事前に仕様整理の資料を作成し、ミーティングで先回りして共有する体制を整えたい。
・共通処理やテストケースの整備が曖昧で、認識合わせに課題が残った。
→ルール化・ドキュメント化による明文化が必要。
・細かなミス(インデント、不要コードの削除漏れなど)を減らすため、フォーマッタ導入やPR前のチェックリスト運用を行いたい。
8.今後の展望
目標
今後は以下の軸を持って、活動する。
・企業にとって「採用するメリット」を明確に伝えられる人材へ
→ ポートフォリオや日々の開発記録を継続的に充実させ、実績として見せられる状態を作る。
・現場での業務改善やチームの課題解決にも貢献できる存在に
→ 技術力に加え、業務全体を俯瞰して「課題を見つけ、提案・改善できる」力を身につけるための実践を積む。
・「自走できるエンジニア」とは何かを問い続け、行動と内省を日々ルーチン化
→ 実装・振り返り・発信のサイクルを継続し、継続力・自律性のある開発姿勢を習慣化する。
・API開発を中心とした個人開発を継続
→ 設計〜実装〜テストまで一貫して手を動かし、どの工程にも対応できるエンジニアを目指す。
・タスク管理やドキュメントの運用を、実務レベルに近い形でブラッシュアップ
→ 実際の開発現場を想定し、より現実的な作業設計・情報共有の習慣を磨く。
・既存のポートフォリオの保守・アップデートを継続
→ 作って終わりではなく、保守運用を行い、より実務寄りの成果物を提出する。
・実務に即した開発フローの体験強化
→ Gitでのブランチ運用、Pull Requestベースの開発、コードレビュー対応などを意識的に取り入れ、開発プロセス全体の理解と経験を深める。
9.トップUI
10.タスク