前提
超駆け出しwebエンジニアです.現在学習サイトを作りたいと考え,構想をねっているところです.
言語はPHP8でフレームワークがLaravel9です.
実現したいこと
学習コース1をクリアしたら学習コース2が解放されるといったステージ機能の実現です.
またそのコースの進捗度も計算してプログレスバーのように表示も行いたいと考えています.
考えている案
※アルゴリズムが猿の考えるようなものだったらごめんなさい.
現在考えているものは2つで,
1つ目はSQLに次のようなテーブルを作成し,ステージ1-1が1になったらステージ1-2を解放するという仕組みです.デフォルトは0に設定しておき,ステージをクリアしたときにクリアボタンなどを押して貰う仕組みにして1にしようと考えています.
ユーザーID | ステージ1-1 | ステージ1-2 |
---|---|---|
1 | 1 | 0 |
そしてhtml側では
html
1if(ステージ1-1 == 1){ 2 <img href="/stage1-2" src="xxx"> 3} else{ 4 <img style="opacity: 0.5;" src="xxx"> 5}
クリアしていたらリンクつき画像を表示,クリアしてなかったらリンクなしの半透明画像を表示.といった仕組みにしようと考えています.
2つ目の案では
ステージ1というカラムにクリアした分加算,すなわち
初期値を0にしておき,ステージ1-1をクリアしたら1を加算という仕組みです.
そして両方ともミドルウェアで判定を行って認可の設定を行いページが表示されないようにしようと考えています.
質問
初めて考えた設計なので普通学習サイトやステージシステムどのように設計されているかが全くわかりません.
また調べ方も難しく,機能の名前すらわからないため,
- 普通はどのような感じに設計されるのか
- 機能の名称
を教えていただきたいです.
解答よろしくおねがいします.
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/09/25 21:07