0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ジャンル別に投稿・チャットできるようなアプリ作ってみた〜苦労したところ〜

Posted at

一つ前の記事にアプリの概要を投稿しました。
ここからアプリ作成時の苦労したところなどを、記事にしたいと思います。

:star:大体がジャンルページから始まる

  1. まず、このアプリはジャンルを選択、または自分で作成します
  2. ジャンルを選択することで、ジャンルページが開きます
  3. ジャンルページの右側で投稿ができ、左側でジャンル内のチャットグループ検索ができるようになっています

    つまり大体のページ移行、データ送信に置いてgenru_idが必要になるのです

    これは大体のものがジャンルを親として紐づいている(ジャンル内にある)ことを意味します

    個人アプリQiita用.png

これが色々と邪魔をされました

色々やり方を検索するのですが、そのページ単体だったら簡単にできたものも、ジャンルページを挟んだものだとうまくいかないということがあったのです。

最初はなぜ上手くいかないのかと考えましたが、大体genru_idが抜けていました(笑)

:star: 中間テーブルが多かった

下記ER図をご確認ください。

:sunny:データベース(ER図)

Untitled Diagram (1)

  • この中で中間テーブルはいくつあるでしょうか?

    A => 3つ(UserGenrusテーブル/UsersGroupsテーブル/Likesテーブル)

実は、もう一つ中間テーブル(hopeテーブル)を作ろうとしたのですが、形がUsersGroupテーブルと同じだった為に、hopeテーブルはintegerを使ってレコード保存してます。なので、実質は4つになります。

特にUsersGroupsテーブルにグループメンバーのidを保存するのが大変でした(笑)
また、中間テーブルを作成するのに、ちょっと間違った作成方法をしてしまったのも大変だった理由ですね
この辺りについては別記事を作成する予定です

:star: いいね機能がJS化しなかった

結果から言えば、JS化しました(笑)
でも、最初はどうしてもJS化しなくて、「なんでだよ〜!」ってなってしまいました

  • なぜJS化できたのか

    => JS化とりあえず保留にして別機能を進めたら、そこにヒントがありました!

:star: 投稿機能の画像プレビュー化(JSにより)

投稿する前に、画像があっているか確認できるようにプレビュー化したんですが、これが曲者で...
プレビュー化できたと思ったら、枚数上限が上手くいかなかったりとかなり苦戦しました(笑)

:star2: 感想

今のところ、思いつく苦労したところはこのようなところでしょうか
本当は苦戦したところを詳しくやっていこうと思ったのですが、変更して、一つ一つの機能を記事にしていこうと思います

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?