#このアプリについて
デモは以下をご覧ください。
コードへのリンク
#このアプリの機能について
・ログイン/ログアウト
・文章投稿
・投稿削除
・投稿編集
・通知機能(フォローされたアカウント名表示、リプライしたアカウント名表示)
・フォロー/フォロワー表示
・フォロー/フォロー解除
#データベースの仕組み
データベース名【twitter_clone】
テーブル名一覧
・tweets
・users
・followers
・reply
・notice
カラム名一覧【usersテーブル】
・id : 主キー
・name :アカウント名
・email :アカウントのメールアドレス
・password : アカウントのパスワード
・created_at : datetime型で投稿された日時を保管
カラム名一覧【tweetsテーブル】
・id : 主キー
・user_id : usersテーブルのidと連携している各アカウント一意のid
・created_at : datetime型で投稿された日時を保管
・tweet : text型で投稿したメッセージを保管
カラム名一覧【replyテーブル】
・id : 主キー
・reply_user : リプライしたuserのidを保管
・reply_message : text型で投稿したリプライを保管
・replied_tweet_id : リプライしたtweetのidを保管
カラム名一覧【followersテーブル】
・id : 主キー
・user_id : ログインしているアカウントのid
・following_id : フォローしたアカウントのid
カラム名一覧【noticeテーブル】
・id : 主キー
・created_at : datetime型で投稿された日時を保管
・user_id : ログインしているアカウントのid
・follow_check : bool値でフォロー通知のためのカラム(初期値はfalse)
・following_id : フォローしたアカウントのid
・reply_check : bool値でリプライ通知のためのカラム(初期値はfalse)
・reply_user : リプライしたアカウントのid
#アプリの作成工程
・1日目:要件定義
・2日目:データベース設計、コーディング
・3日目-9日目:コーディング
・10日目:フロント改修作業
・11日目:可読性upのためのコード改修作業
#苦労した点とどの様に対処したか
・phpもデータベースも触ったことがほとんどない初心者だったため、
pdo接続からSQLの操作まで一連の流れをつかむのに時間がかかった。
これに対する対処はググりまくって感覚を掴むしかなかった。
・バグ修正の仕方もよく分からなかったが、エンジニアの友人に
エラー文を逃げずに読むこととvar_dumpを使用してその都度
変数の中身を可視化してどの記述がおかしいか特定するように
助言されたためそれを実行した。
#作成した感想
書籍を淡々と読むだけの学習よりかは桁違いに成長を実感した。
完成した時の喜びは半端ではなかった。
#おわりに
つたない記事ですが、最後まで読んでいただきありがとうございました。
次はAmazonクローンやfacebookクローンなどを作ろうと思います。
機会がありましたら、また記事をupするのでよろしくお願いします!