1192.tokyo

本サイトは一部のページでアフィリエイト広告を利用しています。リンク経由で申し込みが発生した場合、運営者に報酬が支払われることがあります。

開発の流れ

Webサービスを公開するまでの流れ|データとログインが入ると工程はどう増えるか

ハル
ハル 聞く人 読むだけのWebページの流れは分かりました。ログインがあるサービスになると、何が増えるんですか?
ヤドカリ先生
ヤドカリ先生 答える人 増える理由は1つで、他人のデータを預かることです。データの置き場所とログインを決める工程と、 公開の前に「他人のデータが読めない状態か」を確かめる工程が加わります。順に見ていきましょう。

このページの結論

工程は5つです。審査がないので自分の判断で出せます。Webページとの差は、データの置き場所とログインを決める工程が入ることと、公開の前に「他人のデータが読めない状態か」を確かめる工程が加わることです。

Webページとの違いは、預かるものがあること

読んでもらうだけのページなら、置いてあるファイルを返すだけで成り立ちます。 Webサービスは、使う人が入力した内容を保存し、次に来たときにその人にだけ返します。 ここに、2つの仕組みが要ります。

ことば データベースと認証 データベース は、入力された内容を整理して保存し、条件を指定して取り出せる仕組みです。 認証 は、いま操作しているのが誰なのかを確かめる仕組みで、ログインとログアウトがこれにあたります。 この2つが揃って初めて、「自分が保存したものだけが自分に見える」状態になります。

工程が増える理由は、ほぼこの2つに集約されます。 逆に言えば、保存するものがなく、ログインも要らないなら、 Webページ・ブログの流れと同じ工程で出せます。

公開までの全体の流れ

Webサービスの5工程
  1. 01 何ができるサービスか決める 誰の何が済むのか
  2. 02 手元で動かす まだ自分だけが使える
  3. 03 データの置き場所を決める 保存とログインを預ける先
  4. 04 公開する URLを配れば誰でも使える
  5. 05 使う人が増えたら見直す 費用と負荷が動く

Webページとの差は3つ目の工程です。ここで決めた先が、その後の費用の増え方も決めます。

順番で迷いやすいのが、2つ目と3つ目です。 データの置き場所を先に契約してから作り始める人が多いのですが、 先に手元で動く形を作った方が、何を保存したいのかがはっきりします。 保存する項目が決まっていない状態でデータベースを設計すると、あとで作り直しになります。

ハル
ハル 聞く人 手元で動かす、というのは、まだ自分のパソコンの中だけということですか?
ヤドカリ先生
ヤドカリ先生 答える人 そうです。この段階では、自分だけが使える状態です。 ここで一度動かしておくと、保存したい項目が具体的になります。 わたしは先にデータベースを作り込んでから作り始めて、 使ってみたら要らない項目が半分あった、ということをやりました。
ハル
ハル 聞く人 じゃあ、契約はあとからでもいいんですね。お金がかかる前に試せるのは助かります。
ヤドカリ先生
ヤドカリ先生 答える人 無料枠 のあるサービスが多いので、試す段階では費用が出ないことが多いです。 費用が動き始めるのは、使う人が増えてからです。

工程ごとに何を決めるか

この5つは、公開の場所も保存の場所も借りる前提の順番です。 自分でサーバーを管理する形を選ぶ場合は、4つ目の工程がまるごと入れ替わります。 その違いは「公開の場所をどちらにするか」の節で扱います。
1

何ができるサービスか決める

誰の、どんな用事が済むのかを1行にします。ここで「保存するものは何か」と「ログインが要るか」まで書き出しておくと、3つ目の工程で迷いません。

迷いやすいところ: 機能を並べ始めると終わりません。最初に出す版で残す機能を1つに絞ると、公開までの距離が短くなります。

2

手元で動かす

自分のパソコンの中で、一連の操作が通るところまで作ります。この段階では保存先を仮のもので済ませても構いません。

迷いやすいところ: 保存する項目は、ここで動かしてから確定させます。先に決めきると、作り直しになりやすい部分です。

3

データの置き場所を決める

保存の場所と、ログインの仕組みをどこに任せるかを決めます。この2つをまとめて借りられるサービスがあり、その場合は契約が1つで済みます。

迷いやすいところ: 誰がどのデータを読めるかの制限を、この工程の中で設定します。あとで足す作業になると、設定漏れに気づきにくくなります。

4

公開する

コードを公開先へ送ると、URLが割り当てられて誰でも使える状態になります。審査を待つ相手はいません。

迷いやすいところ: 公開する前に、ログインしていない状態と、別のアカウントでログインした状態の両方で開いて、他人のデータが見えないことを確かめます。

5

使う人が増えたら見直す

人が増えると、保存量と通信量が増え、無料枠の範囲を超えることがあります。どの数値が上限に近いかを見る場所が、契約したサービスの管理画面にあります。

迷いやすいところ: 料金は使った量で変わる形が多いため、上限に達したときに止まるのか、そのまま課金されるのかを、契約前に料金ページで確認します。

判断点1: データとログインをどこに任せるか

保存の場所と、ログインの仕組みは、別々に用意することもできますし、 まとめて借りることもできます。個人で作る場合は、まとめて借りる形が工程を減らします。 テーブル (保存したいものごとに作る表)を作り、 どのアプリから読み書きするかを繋ぐところまでが、この工程です。

手順の実際はSupabaseのページにまとめています。 アプリの土台に何を使っているか( フレームワーク )によって繋ぎ方が変わるので、 そこは開発を頼んでいるAIに聞くと早い部分です。

判断点2: 公開の場所をどちらにするか

公開の場所は、送れば公開まで引き受けてくれる形と、 自分でサーバーを1台借りて管理する形に分かれます。 どちらを選ぶかで、4つ目の工程の中身が変わります。

任せる形と、自分で管理する形
任せる(ホスティング) 自分で管理する(VPS)
公開の工程 コードを送ると、変換から配置まで自動で進む サーバーを借り、動かす環境を自分で用意する
設定の範囲 決められた範囲の中で設定する 中身をほぼ自由に決められる
費用の形 無料の範囲から始められる 契約した時点から月ごとの費用がかかる
止まったとき サービス側の記録を見て原因をたどる 自分で入って原因を調べ、復旧させる
向いている場合 最初の1本。手を動かす先を作る側に寄せたい場合 任せる形では実現できない要件がある場合

「任せる」の側の流れはVercelのページに、 「自分で管理する」の側の流れはConoHa VPSのページにあります。 デプロイ (公開先に配置して使える状態にすること)を自動にしておくと、 直すたびの作業が「コードを送る」だけになります。

公開の前に確かめる: 誰がどのデータを読めるか

ここは、工程の中で最も落としやすく、落としたときの影響が大きい部分です。 データベースは、設定しなければ「置いてあるものを求められたとおりに返す」動きをします。 つまり、行ごとの制限をかけないまま公開すると、 ログインした誰もが他人の保存した内容を読める状態になり得ます。

この制限のことを RLS (行ごとのアクセス制限)と呼びます。 テーブルを作った直後に設定し、公開の前に、 別のアカウントでログインして他人のデータが出てこないことを実際に確かめます。 画面上は自分のデータしか出ていなくても、制限が入っていないことがあります。 設定の場所と確かめ方はSupabaseのページにあります。

ハル
ハル 聞く人 設定しないと、他の人のデータが見えてしまうんですか?
ヤドカリ先生
ヤドカリ先生 答える人 制限をかけていないと、そういう状態になり得ます。 画面の作りで見えないようにしているだけの場合、 アプリの画面を通さずにデータを取りに行かれると、そのまま返ってしまいます。
ハル
ハル 聞く人 じゃあ、自分の画面で確かめても足りないということですか?
ヤドカリ先生
ヤドカリ先生 答える人 足りないことがあります。もう1つアカウントを作って、 そちらでログインして開いてみるのが分かりやすい確かめ方です。 わたしは公開したあとに気づいて、一度サービスを止めて直しました。 止めている間は誰も使えないので、公開の前に済ませておく方が気が楽です。

工程の途中で出てくる、そのほかの判断点

サービスの内容によって、要る場合と要らない場合がある判断点です。 要らないなら工程を増やさずに済みます。

  • メールを送るかどうか ― パスワードの再設定や、登録の確認、通知を出すなら、送信の仕組みが要ります。 自分で用意すると届かない問題に時間を取られるため、 メール送信API に任せる形が現実的です。設定はResendのページにあります。
  • コードの置き場所と、公開の自動化 ― コードを リポジトリ に置いておくと、変更の履歴が残り、 おかしくなったときに前の状態へ戻せます。公開先と繋いでおけば、 送るたびに ビルド と公開が自動で走ります。 流れはGitHubのページにまとめています。
  • お金を受け取るかどうか ― 月額課金や買い切りにする場合は、決済を扱う工程が加わります。 自分が売り手になるため、表示の義務も生じます。 Stripe特定商取引法の表示を参照してください。

公開したあと ― 使われ方を見て直す

5つ目の工程は、公開したあとにずっと続きます。 見るのは2つで、使われ方と、費用です。

使われ方は アクセス解析 で記録します。 Webサービスの場合は、来た人数より「登録まで進んだ人がどこで止まったか」の方が手がかりになります。 入れ方はPostHogのページにあります。

費用は、無料枠から始められますが、使う人が増えると増えます。 増え方が読みにくいと感じたら、収益とコストの関係に整理してあります。

よくある質問

データベースは、作り始める前に決めておくものですか?

先に手元で動かしてから決める方が、保存する項目が具体的になります。項目が固まらないうちに作り込むと、作り直しになりやすい部分です。

ログインの仕組みは、自分で作った方がいいですか?

パスワードの保管や再設定まで自分で引き受けることになるため、個人で作る範囲では任せる形が選ばれることが多いです。データの保存とまとめて借りられるサービスがあります。

アクセス制限は、あとから設定してもいいですか?

公開の前に済ませる工程です。制限がないまま公開すると、他人の保存した内容が読める状態になり得ます。テーブルを作った直後に設定し、別のアカウントで確かめます。

無料枠を超えたら、いきなり請求が来ますか?

超えた分が課金される形と、そこで動きが止まる形があり、サービスによって違います。契約する前に、料金のページでどちらなのかを確認します。

公開したあとに大きく作り変えても大丈夫ですか?

アプリの側は差し替えられます。ただし保存済みのデータの形を変える場合は、すでに入っているデータをどう扱うかを決める必要があります。

次に読むページ

出典