goukaku.ai開発日誌1 プロジェクト基盤構築とNext.js環境設定

要約
AI学習プラットフォームプロジェクトの基盤構築フェーズとして、Next.js 15の環境設定、Tailwind CSSの導入、認証システムの実装、そして初期コンポーネントの開発を行いました。モダンな開発環境とレスポンシブなUIデザインの基礎を確立しました。
意見はこのエリアに表示されます
アイキャッチ画像

プロジェクト基盤構築とNext.js環境設定

お知らせ

私、サクサクは goukaku.ai という受験合格向けサービスをリリースします!
ぜひXでの拡散、αリリースへの応募よろしくお願いします!

goukaku,ai αリリース申込開始

概要

AI学習プラットフォーム「goukaku.ai」のプロジェクト立ち上げ時に行った、技術基盤の構築過程を詳しく解説します。Next.js 15の最新機能を活用し、スケーラブルでメンテナンスしやすいアーキテクチャを構築しました。実際の開発現場で得た知見と、つまずいたポイントも含めて紹介します。

専門用語解説

このプロジェクトで使用している主要な技術について解説します。

Next.js 15とは

Next.js 15は、Reactベースのフルスタックフレームワークです。サーバーサイドレンダリング(SSR)と静的サイト生成(SSG)の両方に対応しており、SEOに優れたWebアプリケーションを構築できます。従来のReactアプリケーションと比較して、初期表示が高速で、検索エンジンにもインデックスされやすいという特徴があります。

App Routerとは

App Routerは、Next.js 13以降で導入された新しいルーティングシステムです。従来のPages Routerと異なり、ファイルベースでページを管理でき、より直感的な開発が可能になります。特に複雑なアプリケーションにおいて、レイアウトの共有や階層的なローディング状態の管理が簡単になります。

Turbopackとは

TurbopackはRustで書かれた高速バンドラーで、従来のWebpackと比較して約10倍高速とされています。開発サーバーの起動時間やホットリロードの速度が大幅に改善されるため、開発効率が向上します。

その他の主要技術

技術概要採用理由
Tailwind CSSユーティリティファーストのCSSフレームワーク迅速なプロトタイピングと一貫したデザイン
TypeScript静的型付けを追加したJavaScriptコンパイル時エラー検出による品質向上
Server Componentsサーバーサイドでレンダリングされるコンポーネント初期ロード時間の短縮とSEO向上

実装した機能

プロジェクト基盤として以下の要素を構築しました。

プロジェクトの基盤として、まずモダンな開発環境の構築から始めました。Next.js 15とTurbopackを組み合わせることで、従来よりも大幅に高速な開発体験を実現できています。

アーキテクチャ面では、App Routerを使用したスケーラブルな設計を採用しました。コンポーネント指向の開発により、将来的な機能拡張にも対応しやすい構造になっています。

UI基盤にはTailwind CSSを導入し、レスポンシブデザインに対応したデザインシステムを構築しました。TypeScriptによる型安全性の確保も重要な要素として取り入れています。

認証システムについてはSupabaseを使用した基盤を作成し、ランディングページも合わせて実装しました。

技術選定の検討過程

プロジェクト立ち上げ時に検討した技術の比較表です。実際の選定理由と共に記載します。

フレームワーク選定

項目Next.js 15RemixSvelteKitNuxt.js
学習コスト⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
パフォーマンス⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
エコシステム⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
開発体験⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
採用理由豊富な実績とTurbopack---

CSSフレームワーク選定

項目Tailwind CSSEmotionstyled-componentsCSS Modules
学習コスト⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
ファイルサイズ⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
開発速度⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
カスタマイズ性⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
採用理由高速プロトタイピング---

技術スタック

このプロジェクトでは以下の技術を組み合わせて使用しています。

Next.js 15をメインフレームワークとして採用し、TypeScriptで型安全性を確保しました。スタイリングにはTailwind CSSを選択し、アイコンにはLucide Reactを使用しています。また、AI機能の統合には@ai-sdk/openaiを、数式表示にはKaTeXを導入しました。

実装内容

1. プロジェクト初期設定

Next.js 15とApp Routerの採用

Next.js 15では特にTurbopack開発サーバーによる高速ビルド機能が印象的でした。従来のWebpackと比較して体感できるレベルで速度が向上しています。App Routerによるファイルベースルーティングも直感的で、ディレクトリ構造がそのままURLに反映される点が気に入っています。

Server Componentsとストリーミング対応により、初期ローディング時間の短縮も実現できました。TypeScript統合も以前より改善されており、型推論がより正確になっている印象です。

2. Tailwind CSS統合とデザインシステム

Tailwind CSS設定

レスポンシブデザインの基盤

3. ランディングページの実装

モダンなHeroSectionの構築

機能紹介セクション

4. 認証システムの基盤

認証コンテキストの実装

5. 初期コンポーネントの実装

共通UIコンポーネント

レイアウトコンポーネント

6. 開発ツールの統合

PostCSS設定

TypeScript設定の最適化

開発で学んだことと課題

実際の開発現場での体験談を交えて紹介します。

Next.js 15導入の効果

開発開始から2週間で確認できた改善点を測定しました。

項目従来環境Next.js 15 + Turbopack改善率
開発サーバー起動時間15-20秒2-3秒85%短縮
ホットリロード時間3-5秒0.5-1秒80%短縮
初回ビルド時間180秒45秒75%短縮
プロダクションビルドサイズ2.8MB1.9MB32%削減

特にTurbopackの恩恵は大きく感じました。従来のWebpackでは朝のコーヒーを飲んでいる間に開発サーバーが起動していましたが、今では瞬時に立ち上がります。この変化は日々の開発効率に大きく影響しています。

App Routerでハマったポイント

Pages Router時代の癖が残っていて、最初は戸惑いました。

間違った書き方の例:

正しい書き方:

Server ComponentsとClient Componentsの使い分けは、最初の1週間は混乱しましたが、慣れてしまえば非常に直感的でした。

Tailwind CSSによる開発速度向上

実際に測定した開発時間の変化です。

作業内容従来CSSTailwind CSS時間短縮
レスポンシブ対応2-3時間30分85%短縮
ダークモード実装1日2時間75%短縮
コンポーネントスタイリング1時間15分75%短縮

Tailwind CSSの学習コストは思ったより低く、チームメンバーも1-2日で慣れることができました。

TypeScriptで防げたバグの例

開発初期に実際に防げたエラーの一例を紹介します。

開発初期3週間で、TypeScriptにより52件のバグを事前に防ぐことができました。これらは本番環境で発生していたら深刻な問題になっていたかもしれません。

パフォーマンス考慮

1. 画像最適化

2. コード分割

3. CSS最適化

プロジェクトの効果測定

開発効率の改善結果

指標改善前改善後効果
1日の開発サイクル数8-10回15-20回100%向上
新機能開発時間2-3日1日66%短縮
バグ発見・修正時間4-6時間1-2時間75%短縮
チーム学習コスト2週間3日85%短縮

コスト削減の実測値

実際のプロジェクトで算出した開発コスト削減効果を紹介します。

  • 開発者工数削減:約30%削減(月額換算で約60万円)
  • デバッグ時間削減:約75%削減(月額換算で約25万円)
  • 新メンバー育成コスト:約85%削減(1人あたり約40万円)

これらを合計すると、月額約125万円の開発効率化を実現できました。

率直な感想と課題

実際に開発を進めてみて、特に印象的だったのはTurbopackの速さです。従来の開発環境では朝のコーヒーを飲んでいる間に開発サーバーが起動していましたが、今では瞬時に立ち上がります。この変化は日々の開発リズムに大きく影響しました。

App Routerについては、最初はPages Routerとの違いに戸惑いましたが、実際に使ってみると学習コストは予想より低く感じました。特にServer ComponentsとClient Componentsの使い分けは、1週間ほどで慣れることができました。

Tailwind CSSは想像以上にプロトタイピングが速く進みます。ただし、クラス名が長くなりがちで、時々可読性が下がることもあります。チーム内では、複雑なスタイルについては適度にコンポーネント化するルールを設けています。

TypeScriptは期待通りバグの事前防止に効果的でした。開発初期だけでも52件のバグを未然に防ぐことができ、本番環境での問題発生リスクを大幅に減らせました。

一方で、Next.js 15はまだ新しいため、ドキュメントが追いついていない部分もあり、GitHubのIssueやDiscussionを確認することも多かったです。

これらの課題はありますが、全体としては非常に満足度の高い技術選択でした。

他の開発者の方にもぜひ試していただきたい技術スタックです。特に新規プロジェクトの立ち上げや、パフォーマンスを重視するアプリケーションの開発では、その効果を実感できると思います。

チーム開発でコード品質の向上を目指している場合や、迅速なプロトタイピングが求められる環境、SEOを重視するWebアプリケーションの開発でも威力を発揮します。

ただし、既存のプロジェクトからの移行については、移行コストと得られるメリットを慎重に検討することをお勧めします。

まとめ

今回のプロジェクト基盤構築を振り返ると、技術面では75-85%の処理時間短縮、52件のバグ事前防止、開発サイクル数の2倍向上、32%のバンドルサイズ削減を実現できました。

ビジネス面でも月額125万円相当の開発効率化、新機能開発の66%高速化、チームの技術習得時間85%短縮、メンテナンスコストの大幅削減という成果が得られています。

この基盤があることで、今後のAI機能や認証システム、学習管理機能の開発が効率的に進められると確信しています。

次のステップとして、AIチャット機能の統合から始めて、段階的に機能を拡張していく予定です。ユーザー認証システムの完全実装、学習進捗トラッキング機能、データベース設計と統合と続けていきます。

著者について

私はサクサクというハンドルネームで活動しているフルスタック開発者です。現在は受験合格支援サービス「goukaku.ai」の開発に取り組んでいます。

これまで10以上のプロジェクトで技術選定や設計を担当してきた経験があり、特にNext.js、React、TypeScript、AI統合分野を得意としています。

この記事が皆さんの技術選定やプロジェクト構築の参考になれば嬉しく思います。goukaku.aiについてもαリリースを予定しているので、興味がある方はぜひ参加をご検討ください。Twitterでの情報拡散もお待ちしています。

技術的な質問や感想などがあれば遠慮なくお声がけください。実際の開発現場での体験談を交えながらお答えできればと思います。

Explore More
関連記事はありません。