5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Rails + GraphQL + Next.js】技術研修でTODOアプリを作成しました

5
Last updated at Posted at 2025-12-02

2025年10月に株式会社mofmofへ入社しました。
入社に伴い、2ヶ月の研修期間をいただき、スクラム開発でTODOアプリを作成しました。
研修内容を以下にまとめます。

概要

mofmofの基本技術スタックを学び、案件の進め方を体験することを目的として、TODOアプリの開発を行いました。

  • 以下の機能を持ったTODOアプリを作成
    • タスクの登録、更新、削除、参照
    • タスクのステータス管理
    • CSVによるインポート、エクスポート
    • ログイン(管理者と一般ユーザーの区別)
    • プロフィール画像の登録
    • タスク期限のメール通知
  • スクラムで開発する
    • PO役、メンター、私でスクラムイベントを実施
    • メンターとデイリースクラムを実施
  • 成果物
    スクリーンショット.png

技術スタック

カテゴリ 技術 / ツール 備考
フロントエンド Next.js App Routerを使用
フロントエンド TypeScript
フロントエンド Tailwind CSS
バックエンド Ruby on Rails APIサーバーとして使用
API GraphQL Rails側で実装
APIクライアント Apollo Client Next.jsで使用
バックグラウンド Sidekiq ジョブスケジューラ
メール送信 Mailgun メール送信
コンテナ Docker Compose
インフラ Heroku
ストレージ S3 CSVファイル・プロフィール画像を保存
監視 / エラー追跡 Sentry アプリケーション監視
課題管理 Linear ユーザーストーリーやポイントを管理

得られた学び

これまで触れてこなかった技術要素

特にHeroku周りは今回が初めてで、デプロイフローやアドオンの扱いなど、とても勉強になりました。
その他、今回の研修で以下のような技術要素に触れ、学ぶことができました。

  • GraphQL を用いたデータ取得の処理フロー
  • Rails + Next.js + S3でファイルの保存・取得
  • Docker での開発環境構築、Herokuへのデプロイ

スクラム、アジャイル開発の基本

プランニングポーカーやユーザーストーリーの詳細化など、実際に体験することで、より一層理解を深めることができました。

POとの距離感や意思決定

定例会などのスクラムイベントを行う中で、どのタイミングで何を決めて、POとどうコミュニケーションを取るべきかを学ぶことができました。
「実案件では〜ということもあって…」というように、実際の業務に即して教えていただき、案件に入った時のことを考えながら研修に臨むことができました。

もう1ヶ月あったらやりたいこと

重複している処理の共通化

機能実装を優先したこともあり、共通化できそうな処理がいくつか残っています。
また、機能間で処理が微妙に揃っていない箇所もあるので、ルールを決めて揃えるべきでした。
保守性を上げるためにも、設計の見直しやリファクタリングを行いたいです。

エラーハンドリングや非機能要件

上項に関連しますが、ストーリーやその受け入れ条件に無かった部分の作りが甘いです。
ユーザーと開発者に優しい実装がもっとあっただろうなと感じます。

チーム機能の実装

TODOリストの実装機能はあらかじめ用意されていて、その中に任意項目として「チーム機能の実装」(例:チームの共通タスク)が設定されていました。
考慮すべき点が増えそうなので、取り組んでみたいと感じました。

その他振り返り

  • 最終的にAIエージェントにサンプルを用意してもらって、内容を確認しつつ実装というやり方に落ち着きました。
  • デイリースクラムで「Slackでわざわざ聞くことではないけど…」というレベルの疑問点を随時解決できて、安心して進めることができました。
    また、メンターからは「デイリースクラムで状況の確認ができたので、それ以外の時間で心配になることがなかった。時間を取られたという印象はない。」とコメントをいただきました。
  • プランニングポーカーを行いましたが、基準にした1ptストーリーがやや大きく、相対見積もりならではの難しさを体感しました。

所感

使ってこなかった言語やスクラムでの開発など、得るものが大変多い研修でした。
やはり新しい技術を理解するには、公式のリファレンスを見て、手を動かして自分で考えるのが一番だと感じました。

しばらくRubyと仲良くしていたのですが、TypeScriptで書いてみて静的型付け言語の安定感には惹かれるものがあります。
書いた側からエディターに怒られるの、安心感ありますね。
今回の研修では、AIエージェントの活用により実装スピードはかなり向上したと感じています。
ただ、自身の価値を見失わない程度に、AIエージェントとの上手な付き合い方を探っていきたいです。

5
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?