TRAINING
非エンジニア向け バックエンド基礎研修
インフラ技術とFirebaseの全体像
宛先
社内研修用
提出者
株式会社Gonmura
提出日
2026年4月21日
1
Chapter 1
インフラを支える主要技術
Webサービスを陰で支える5つの技術を
身近なたとえを使って把握しましょう
SECTION 1-1
全体マップ — 5つの技術の役割
DB
Database
データの保管庫
スプレッドシートの
高機能版
Authentication
ログイン管理
家の鍵・
身分証明書
Storage
ファイル保存
クラウドドライブ・
ファイル倉庫
Hosting
Webサイト公開
お店の看板・
ショーケース
Functions
処理の自動実行
裏方スタッフ・
注文処理
5つで1セット

Webサービスは「データ保存・ログイン・ファイル・公開・処理」の5役がそろって初めて動きます。
この5つをひとまとめに提供するのが Firebase です。

SECTION 1-2
データベース — スプレッドシートとの比較

スプレッドシート

Excelやスプレッドシートで手動管理するイメージ

A列(学籍番号)B列(氏名)C列(学年)
S001山田 太郎1年
S002鈴木 花子2年
S003田中 一郎3年

1シートに全情報を並べる。
行が増えると管理が大変になる。

データベース(テーブル)

役割ごとにテーブル(シート)を分けて管理

スプレッドシート用語データベース用語
シート名テーブル
行(1行分のデータ)レコード
列(項目名)カラム
ファイル全体データベース

テーブルを分けることで大量データでも
高速・正確に検索・更新できる。

スプレッドシートの延長線上にある仕組み — 規模が大きくなったら「データベース」が必要
SECTION 1-3
Authentication / Storage
Authentication(認証)

ログイン・ログアウトを管理する仕組み。
「誰がアクセスしているか」を確認します。

たとえ:家の鍵・身分証明書

日常Authenticationの役割
玄関の鍵を持っているログイン済みユーザー
合鍵を作るアカウント登録
鍵をなくしたパスワードリセット
身分証明書の確認本人確認(2段階認証)
Storage(ストレージ)

画像・動画・PDFなどのファイルを
クラウド上に保存する仕組みです。

たとえ:ファイル倉庫・クラウドドライブ

日常Storageの役割
Googleドライブへアップロードファイルの保存
共有リンクを発行URLで外部公開
フォルダで整理パス(階層)管理
容量を増やすストレージ拡張

どちらもFirebaseが標準で提供しており、数行のコードで利用を開始できます。

SECTION 1-4
Hosting / Functions
Hosting(ホスティング)

Webサイトをインターネット上に公開する仕組み。
誰でもURLからアクセスできる状態にします。

たとえ:お店の看板・ショーケース

日常Hostingの役割
お店の外観・看板URLで表示される画面
ショーケースに商品を並べるHTMLファイルを公開
改装してリニューアルデプロイ(更新)
Functions(関数)

特定のタイミングで自動的に処理を実行する仕組み。
サーバーを用意せず、必要な時だけ動きます。

たとえ:裏方スタッフ・注文処理

日常Functionsの役割
注文を受けて厨房に伝えるデータ更新時の処理
お客様へ確認メールを送る通知メール自動送信
閉店後の集計作業定期バッチ処理

主なホスティングサービス

サービス名提供元特徴
Firebase HostingGoogleFirebase連携が強み。静的サイト向き
Cloudflare PagesCloudflare高速CDN。独自ドメイン管理も簡単
GitHub PagesGitHub無料で手軽。ドキュメントサイトに最適
VercelVercelNext.js開発元。動的サイトにも対応
2
Chapter 2
Firebaseとは
Googleが提供するアプリ開発プラットフォーム
5つの機能がひとまとめになった便利パッケージ
SECTION 2-1
Firebaseの立ち位置
3大クラウド
AWS
(Amazon)
/
3大クラウド
Azure
(Microsoft)
/
3大クラウド
GCP
(Google)
GCP上で動く
Firebase
by Google
Firebase = GCPの便利パッケージ。中小規模のアプリ開発に特化したオールインワン

GCP との関係

GCP(Google Cloud Platform)は工場設備のような巨大インフラ。
FirebaseはGCPの上に載っている「すぐ使える道具箱」です。

大規模になればGCPの機能を直接使うこともありますが、
多くのアプリはFirebaseで十分対応できます。

Firebaseが選ばれる理由

特徴メリット
セットアップが簡単数時間で環境構築完了
無料枠が充実小規模なら費用ゼロ
機能がひとまとめ複数サービスの管理不要
Googleが運営安定性・セキュリティ高
SECTION 2-2
Firebaseの主要サービス一覧
DB
Firestore
クラウドデータベース
リアルタイム同期対応
Authentication
ログイン・
ユーザー管理
Storage
画像・動画などの
ファイル保存
Hosting
静的Webサイトの
高速公開
Functions
サーバーレスで
処理を自動実行

その他の連携サービス

サービス名役割利用シーン例
Analytics利用状況の分析「何人が使ったか」「どのページが人気か」を把握
App Check不正アクセス防止正規のアプリからのリクエストのみ許可
Messaging (FCM)プッシュ通知スマホへのお知らせ通知を送信
App Hosting動的サイト公開Next.jsなど動的なWebアプリの公開
3
Chapter 3
データベース深掘り
テーブル型・ドキュメント型・正規化を
実例で理解しましょう
SECTION 3-1
データベースの仕組み — テーブル型とドキュメント型

テーブル型(RDB)— スプレッドシートのような表形式

行と列で整理されたデータを管理する

学籍番号氏名学年
S001山田 太郎1年
S002鈴木 花子2年
S003田中 一郎3年
特徴
行と列で整理し、SQLで操作する
銀行・基幹システム・業務システム向き
データの整合性を厳密に保てる

ドキュメント型(Firestore)— フォルダにメモを入れるイメージ

コレクション > ドキュメント > フィールドの階層構造

階層内容
コレクションstudents(フォルダ)
ドキュメントS001(1人分のメモ)
フィールドname: "山田 太郎", grade: 1
特徴
ドキュメントごとに項目を変えられる柔軟な構造
リアルタイム同期対応。Webアプリ・モバイル向き
SQLなしでシンプルなコードで操作できる
Firestoreは「フォルダの中にメモを入れる」イメージ。テーブル型と違い、メモごとに項目を変えられる柔軟さが特徴です。
Gonmuraの開発では主にFirestoreを採用 — Webアプリとの相性が良く、リアルタイム同期が強み
SECTION 3-2
正規化 — 「更新は1箇所だけ」の原則

正規化とは、データの重複をなくしてテーブルを分ける設計手法です。「同じ情報は1箇所だけに持つ」のが原則です。

Before(正規化前)

学籍番号氏名担任名担任メール
S001山田 太郎佐藤 先生sato@school.jp
S002鈴木 花子佐藤 先生sato@school.jp
S003田中 一郎田村 先生tamura@school.jp

担任情報が重複 → 佐藤先生のメールが変わったら全行を修正する必要がある

After(正規化後)

学籍番号氏名担任ID
S001山田 太郎T01
S002鈴木 花子T01
担任ID担任名担任メール
T01佐藤 先生sato@school.jp
T02田村 先生tamura@school.jp

担任変更は担任テーブルの1箇所だけ修正すれば完了

正規化の3つのメリット

変更容易性
データの修正は1箇所だけ。100人の生徒の担任が変わっても、担任テーブルの1行を直すだけで全員に反映されます。
変更漏れ防止
同じ情報が散在していると、一部だけ更新して矛盾が生じるリスクがあります。正規化でこれを根本的に防ぎます。
データの整合性
1つの事実を1箇所に保つことで、「どれが正しいデータか」で迷うことがなくなります。
原則:同じ情報は1箇所だけに持つ。更新・削除・追加のすべてが安全になる
SECTION 3-3
正規化の練習題材

題材①:注文管理テーブル

以下のテーブルにはどんな問題がありますか?

注文ID商品名顧客名顧客住所
001ノートPC山田 太郎東京都渋谷区1-1
002マウス山田 太郎東京都渋谷区1-1
003キーボード鈴木 花子大阪府大阪市2-3
ヒント

山田太郎さんが引っ越したら? → 顧客情報が重複しているため、全行を修正する必要があります。顧客テーブルを分けましょう。

題材②:銀行口座テーブル

口座番号氏名支店名支店住所残高
A001山田 太郎渋谷支店東京都渋谷区3-5¥150,000
A002鈴木 花子渋谷支店東京都渋谷区3-5¥320,000
A003田中 一郎新宿支店東京都新宿区1-2¥80,000
ヒント

渋谷支店が移転したら? → 支店情報が重複しています。支店テーブル(支店ID・支店名・支店住所)を分離し、口座テーブルには支店IDだけ持たせましょう。

考え方:「もし〇〇が変わったら何行修正する?」が2行以上なら、テーブルを分けるサイン
4
Chapter 4
押さえておくべき知識
開発言語とサイトの種類を理解しましょう
SECTION 4-1
開発言語とNext.js

Next.jsはWebサービスを作るための「枠組み(フレームワーク)」です。設計図や道具がひとまとめになっており、ゼロから作るより大幅に効率よく開発できます。

POINT 1
Reactフレームワークの中で最も人気のある選択肢
開発者コミュニティが大きく、情報・ライブラリが豊富。困ったときの解決策がすぐ見つかります。
POINT 2
AIが最も理解しやすい言語体系
学習データが膨大なため、AI(ChatGPT等)がNext.jsのコードを高精度で生成・修正できます。
POINT 3
Firebaseとの相性が抜群
公式サポートや豊富な導入事例があり、Firebase + Next.jsの組み合わせは業界標準です。
Next.js = Webサービスを作るための「枠組み」

建物に例えると:ゼロから家を建てる代わりに「柱・床・屋根がそろったキット」を使うイメージ。
Next.jsを使うことで、設計の手間を省いてサービスの機能開発に集中できます。

SECTION 4-2
サイトの種類 — 静的サイト vs 動的サイト
静的サイト

あらかじめビルド(組み立て)したファイルをそのまま配信。ブラウザ側でJavaScriptが動くので、見た目や機能は動的サイトと変わらない。

Firebase Hosting で公開

仕組み説明
配信方式ビルド済みファイルをCDNから高速配信
処理の場所ブラウザ(ユーザーの端末)
Firebase連携SDK経由でログイン・DB操作も可能
作り方の例Studio等のCMSツール、手作りHTML
動的サイト

サーバーがリクエストのたびにページを生成して返す。検索エンジン対策(SEO)やサーバー側での処理が必要な場合に使う。

Firebase App Hosting で公開

仕組み説明
配信方式サーバーがリクエストごとにページを生成
処理の場所サーバー(Google Cloud上)
向いている用途SEO重視のサービス、サーバー処理が必要な機能
開発フレームワークNext.js(サーバーサイドレンダリング)
どちらを選ぶか?

静的サイト:ブラウザだけで完結する → Firebase Hosting(多くのWebサービスはこれでOK)
動的サイト:サーバー側の処理が必要 → Firebase App Hosting(SEO・サーバー処理が重要な場合)
見た目や機能の違いではなく、"処理をどこでやるか" がポイントです。

5
Chapter 5
CLAUDE.md — AIとの協業ルール
AIコーディングツールにプロジェクトのルールを伝える仕組み
チームの業務マニュアルをAIに渡すイメージで理解しましょう
SECTION 5-1
CLAUDE.md とは

CLAUDE.md は AIコーディングツール(Claude Code)にプロジェクトのルールを教える設定ファイル です。

たとえ:新しいスタッフに渡す業務マニュアル

新しいバイトが入ったらまずマニュアルを渡しますよね。AIも同じで、プロジェクトのルールをあらかじめ教えておく必要があります。CLAUDE.md がそのマニュアルの役割を担います。

プロジェクトのルール定義
「このプロジェクトではNext.jsとFirebaseを使う」「テストは必ず書く」等、AIが守るべき方針を定義します。
コードベースの地図
ディレクトリ構成や重要ファイルの場所を教えることで、AIがプロジェクト内を迷わず移動できます。
チームの作法
コミットメッセージの書き方、コーディング規約など、チーム固有の慣習をAIに覚えさせます。

CLAUDE.md = AIに渡す業務マニュアル。プロジェクトごとに用意することで、AIが的確にコードを書けるようになります。

SECTION 5-2
CLAUDE.md の活用例
CLAUDE.md がない場合

・AIは毎回ゼロから質問が必要
・プロジェクトのルールを知らない
・一貫性のないコードが生成される

CLAUDE.md がある場合

・AIがプロジェクトを初めから理解
・ルールに沿ったコードを自動生成
・チームの一員のように動く

CLAUDE.md に書く内容の例
項目記載例
プロジェクト概要「学校向け出席管理アプリ。Firebase + Next.js」
技術スタック「TypeScript, Next.js 15, Firestore, Tailwind CSS」
ディレクトリ構成「src/app/ にページ、src/lib/ にユーティリティ」
コーディング規約「関数コンポーネントを使用、日本語コメント推奨」
ビルド・テスト手順「npm run build でビルド、npm test でテスト実行」
CLAUDE.md はプロジェクトのルートに置くだけ。AIが自動で読み込み、ルールに従って作業します。
6
Chapter 6
GitHub — コードのバージョン管理
Google Driveとの違いと
基本操作を理解しましょう
SECTION 6-1
GitHubとは — Google Driveとの違い
Google Drive

ファイルをクラウドに保存・共有するサービス。ドキュメントや画像を手軽に管理できます。

特徴内容
保存対象あらゆるファイル(文書・画像・動画等)
共同編集同時編集が可能
履歴管理変更履歴は残るが比較が難しい
用途ドキュメント共有・ファイル管理
GitHub

ソースコードの変更履歴を管理・共有するサービス。「誰が・いつ・何を・なぜ変えたか」を追跡できます。

特徴内容
保存対象ソースコード(プログラム)が中心
共同編集ブランチで各自が独立して作業
履歴管理全変更を行単位で記録・比較できる
用途コードのバージョン管理・コードレビュー
Google Drive → 「ファイル共有」、GitHub → 「コードの変更管理」

Google Driveは「最新のファイルをみんなで共有」するのが得意。GitHubは「コードの変更履歴を厳密に管理し、チームで安全に開発する」ための仕組みです。

GitHubは「コードの変更管理に特化したGoogle Drive」— ただし履歴管理とチーム開発の機能が格段に強力
SECTION 6-2
Clone / Pull / Push — 3つの基本操作
Clone
初回ダウンロード
Pull
最新を取得
コードを編集
ローカルで作業
Push
変更を送信
Clone(クローン)
GitHubのプロジェクトを自分のPCにまるごとコピーする操作。初回だけ行います。Google Driveで「フォルダごとダウンロード」するイメージです。
Pull(プル)
他のメンバーが変更した最新のコードを自分のPCに取り込む操作。毎日の作業前に行います。「クラウドの変更をダウンロードして同期」するイメージです。
Push(プッシュ)
自分がPCで編集したコードをGitHubにアップロードする操作。「作業が完了したらクラウドに反映」するイメージです。
日常業務に例えると…
操作たとえ
Clone会社の資料フォルダを初日にまるごとコピー
Pull朝出社したら共有フォルダの最新版を確認
Push自分の作業結果を共有フォルダにアップロード
Clone → Pull → 編集 → Push のサイクルでチーム全員が安全にコードを共有・更新できる
SECTION 6-3
Gonmuraの活用法 — コード以外もリポジトリで管理
Gonmuraオリジナル — 営業段階からすべての情報がリポジトリに集約される仕組み

一般的な情報管理

情報保存場所
提案資料Google Drive
会議の議事録メール / ドキュメント
チャットのやりとりSlack / Chatwork
ソースコードGitHub

情報が分散 → 引き継ぎ時に「あの資料どこ?」「この判断の経緯は?」が頻発

Gonmuraの情報管理

情報保存場所
提案資料GitHub リポジトリ
会議の文字起こしGitHub リポジトリ
議事録GitHub リポジトリ
チャットログGitHub リポジトリ
ソースコードGitHub リポジトリ

すべてが1箇所に → 引き継ぎも検索も一発で完了

営業段階から蓄積
提案資料や顧客とのやりとりが開発開始前からリポジトリに存在。プロジェクトの「なぜ」が最初から残ります。
引き継ぎゼロコスト
担当者が変わっても、リポジトリを見れば経緯がすべてわかる。口頭での引き継ぎに頼らない仕組みです。
情報の抜け漏れ防止
「言った・言わない」がなくなる。会議の文字起こしやチャットが履歴として残るため、認識のズレを防げます。
最大のメリット

プロジェクトに関わるすべての情報が1つのリポジトリに集約されるため、「あの資料どこだっけ?」「この仕様の経緯は?」といった情報の抜け漏れが根本的になくなります。営業・企画・開発のすべてのフェーズが途切れなく繋がります。

PDF を生成しています...

PC でご覧ください

このスライドはPC画面(横向き)での閲覧を推奨しています。