TechAcademy [テックアカデミー]Webアプリケーションコース
(8週間プラン)第5回目のメンタリング。今回はサイトマップやフレームワークについてです。
前回のメンタリングでは、オリジナルサービス案を思いつく限りあげてみて、それらに関する質問をしました。今回は前回から2日しか経っていませんが、一応作ろうと思っているサービスの、
- サイトマップ
- ワイヤーフレーム
- データベース図
をある程度完成させました。実際オリジナルサービスを頭の中で考えるだけでなく、一度cacooというサービスを使って上記3つを完成させ、その課題に合格してからようやくプログラムを組んでいくことができるんですね。
上記の3つは以下のようなものです。
サイトマップ
ワイヤーフレーム
データベース図
このようなものをある程度完成させてから、メンタリングに入りました!
【第5回】メンタリング内容
第5回目となるメンタリングの内容は、主に僕が考えたオリジナルサービスをメンターの方にみてもらい、それについてコメントしてもらうという感じでした。
大まかには、
- テーブルを別に作った方が良い場合
- カラムの統一
- 最初のオリジナルサービスは難しすぎないものから
です。
テーブルを別に作った方が良い場合
僕が作ろうとしているサービスの新規投稿ページに以下のような、欄を作っていました。
データベース図では、postsテーブルの中にclass_nameとteacher_nameを書いていたのですが、新たにclassesテーブルとteachersテーブルを作った方が良いとアドバイスをくれたので、メンターの方が修正してくれました。
こっちの方がデータを取り出しやすいということですね。また、上記の中に入っているcommentも、userテーブルとpostsテーブルの中間テーブル(多対多の関係を表すもの)として作ったほうが良いとのことなので、テーブル名をrepliesとして新規に作成しました。
カラムの統一

一つ疑問に思ったことがあるのですが上記で挙げたrepliesテーブルのカラムにあるmessageは、replyの方がいいんじゃないですか?

replyでもいいけど、他のテーブルでmessageカラムを指定している箇所があるから、カラムを統一した方が分かりやすくなるよ!
最初のオリジナルサービスは難しすぎないものから
今回作ろうとしているサービスは、教材でも学習した「Twitterクローン」にコメント機能やDM機能、新規投稿の項目を追加しただけの簡単なものです。
メンターの方いわく、

最初にサービスを作るときは、教材で習ったことに少し機能を追加して作る方が良いね。最初から難しすぎるサービスを作ろうとすると、完成せずに受講期間が終わってしまって、メンターの方にも聞けなくなるし、モチベーションが下がってしまうしね。
メンターの方は最初に難しいサービスを作ろうとしたために失敗してしまったそう。まずはサービスを完成させることが大切だということが分かりました!
【まとめ】第5回メンタリング
5回目となるメンタリングで、どんなテーブルやカラムを作ればいいのかが詳細に分かりました。
上記でも挙げたように、
- サイトマップ
- フレームワーク
- データベース図
をしっかりと作成しておかないとプログラムを組んでいくときに大変になるので、今回のアドバイスを活かして、次回のメンタリングまでには完成させて作成開始する!


コメント