kazuma sakata

大学院生です。よろしくお願いします!

kazuma sakata

大学院生です。よろしくお願いします!

マガジン

  • 1ヶ月でアプリ作成!

    一ヶ月でSNSアプリを作成していく様子を随時更新していきます。

最近の記事

投稿できず、申し訳ございません。

今、どうしても作りたいアプリを思いつきそれに夢中でした。引き続き、研究の空いている時間をみつけ料理共有アプリを完成させますのでよろしくお願いします。 いま考案中のアプリと言うのは、脅迫性障害を持つ方に向けた、やったことを残す、そして自分以外のユーザーはそのやったことに関する投稿へ「確認したよ」といいねのような機能をもたせるSNSを作ろうと思います。 経緯としては、友達がその病気を持っていて、鍵を閉めたのか何度も何度も確認してしまうのに苦労している様子からこうゆうのあれば彼ら

    • 20日目、メッセージング機能の続き

      昨日までに、メッセージング機能に必要なバックエンドの要素等作成したのでこれらをそれぞれのコントローラ、ビューで呼び出し完成させていきます。 1.トーク画面機能作成したfetchMessagesをチャットコントローラのfetchMessagesで呼び出し、さらにそれをviewdidloadで呼び出します。     func fetchMessages() {       MessageService.fetchMessages(forUser: user) { messag

      • 19日目、メッセージング機能の続き

        メッセージング機能の続きを今日も行っていきます。昨日はUIを作成したのでFirebase関連のことを今日は実装していきます。 1.Messageモデルの作成メッセージは以下の要素を持ちます。 toIdは送る先、fromIdは差出人、profileImageUrlは送る先の人の画像、usernameも送る先の人、isFromCurrentUserは差出人は現在ログインしているユーザかと言うことを示します。 なので以下のようになります。 struct Message {

        • 18日目、チャット機能の追加(UI、画面遷移、ユーザの受け渡し)

          今日から今までのアプリにメッセージング機能を追加していきます!(今日はコードがたくさんあるので画像のみにします。後日Githubにてコードを公開します) 1.タイムラインのナビゲーションバーにメッセージの画面を開くアイコンの追加まずは、画面遷移を行っていくためのアイコンをタイムラインのナビゲーションバーに追加しました! そしてメッセージングリストのコントローラに遷移するようにします。 2.トークリストページのUIの設定 3.ユーザの検索次に右上のトーク作成アイコンを押

        投稿できず、申し訳ございません。

        マガジン

        • 1ヶ月でアプリ作成!
          22本

        記事

          アウトプット ーAPI編ー

          今日は以下のYouTubeの動画でやっていることをAPI取得、リファクタリングの練習をかねてMVVM形式に変更して作成してみました。なお、ストーリボードは使用していません。 このくらいの短いコードであれば必要ないかもしれないですが練習のためですw また、動画では使っていなかったのですがURL画像を読み込むためにSDWebImageも活用しています! まずはストリーボードを使わないのでsceneDelegate.swiftにて以下のように変更します。 func

          アウトプット ーAPI編ー

          ここまでのまとめ

          17日まで進んだのでここまでの記事を以下でまとめておきます! なお、以下の動画が現在のアプリの動作確認動画です。ぜひご覧ください!

          ここまでのまとめ

          17日目、プロフィール編集

          今日はプロフィールページにてプロフィールのアップデート機能を実装しました。 まず昨日の投稿削除の機能の・・・が気に入らなかったのでまずはそこを少し変更します! このアイコンに変更しようと思います。 次からプロフィール編集画面です。 1.UIを設定 2.API処理①プロフィール画像の更新 static func updateProfileImage(forUser user: User, image: UIImage, completion: @escaping(S

          17日目、プロフィール編集

          16日目、投稿のメニューバー

          1.UIの設定以下のように投稿の右上に・・・をつけました。 他人の投稿でこの・・・を押すとフォロー解除ができるようにします 自分の投稿のときは投稿を削除できるようにします。 2.自分の投稿の削除まずは投稿削除機能の実装から。ここでは以下のような処理が実行されています(以下に分かりやすいようにデータベースのモデルも載せておきます。) ・まずはポストのコレクションのドキュメントからpost-likes(いいねしている人)のuidを取得します。その後、そのuidをユーザのコ

          16日目、投稿のメニューバー

          15日目、細かい仕様変更とバグの修正

          1.ログイン画面にてパスワードを忘れた際の処理①UIの設定 ②API処理 firebaseの機能にあるのでそれを利用します。 //MARK: パスワードのリセット static func resetPassword(withEmail email:String,completion:SendPasswordResetCallback?){ Auth.auth().sendPasswordReset(withEmail: email, completion

          15日目、細かい仕様変更とバグの修正

          14日目,フォロワーのみタイムラインに表示する

          今日はタイムラインにおいて,フォローしているユーザの投稿のみ表示する機能を実装しました. 1.データベースの構造データベースの構造は以下のようになっています.usersのドキュメントにuser-feedを持たせ,フォローしているユーザをタイムラインに表示できるようにしていきます. 2.firestoreへのアップロード //MARK: -フォローした後,そのフォローした人の投稿を自分のuser-feedに加える機能 static func updateUserF

          14日目,フォロワーのみタイムラインに表示する

          13日目、Notificationの追加要素

          今日は、お知らせページにおいて、セルとタップした時の処理、お知らせページにてフォローする機能の実装を行ないました。 ①お知らせページで投稿の写真をクリックすると画面遷移 ②お知らせ画面でフォロー、フォロー解除 ③cellを押すと、プロフィール画面へ ④その他①と②、③は処理の過程で少し違いがあります。 ③はUITableViewDelegateのdidSelectRowAtで画面遷移を行なっています。 //MARK: -UITableViewDelegateext

          13日目、Notificationの追加要素

          12日目、お知らせ機能の実装!

          昨日は疲れすぎて寝てしまいました😭 なんとか今日は1日でお知らせ画面、通知機能を実装させました!今日の投稿は少し長くなります🙇‍♂️ 後で自分が見返せるように今日から重要なところを詳細に書いていきます。 UIの作成から始まり、お知らせ(通知のことだがアプリ上の通知で、ロック中に表示はされない)の実装まで行いました。以下が今日のやってきた流れになります! 1.大まかなUIの構築 2.お知らせ(Notificationのデータモデル) notificationsのタイ

          12日目、お知らせ機能の実装!

          11日目、お気に入り(いいね)機能の実装

          今日はお気に入り機能の実装を行なった。 1.postのドキュメントの追加 2.お気に入り機能とお気に入り取り消し機能お気に入りボタン(バナナのアイコン)を押すと赤色になりデータベースにlikeの情報がアップロードされる。もう一度、バナナのアイコンを押すとものと色(黒)に戻り、データベースからも削除される!

          11日目、お気に入り(いいね)機能の実装

          10日目、投稿へのコメント機能の実装

          今日はコメント機能を追加した。 1.コメントページのUIの設定まず、UIの設定から 2.FireStoreへのコメントのアップロードとコメントの表示①DBの構造 postのドキュメントにcommentを追加 黒塗り部分は後に追加。 ②FireStoreの様子 ③コメントのアップロードと、コメントの取得、表示 コメントが長文の時 3.コメントをタップするとユーザページへ移動

          10日目、投稿へのコメント機能の実装

          9日目、投稿時のロード中の表示とタイムラインで投稿を取得。

          今日は、投稿時のロード中の表示とタイムラインで投稿を取得 の実装を行なった。 1.ロード中のViewを表示JGProgressHUDを利用してロード中の表示をした。 2.firestoreからの投稿の取得①データの取得 ②リフレッシュ ③プロフィール画面の投稿関連 ④UIの変更。 プロフィール画面での投稿の写真を大きくした ⑤cell (写真を押した時の処理)

          9日目、投稿時のロード中の表示とタイムラインで投稿を取得。

          8日目、投稿機能の実装

          今日は投稿機能の実装を行なった。投稿機能では、cocoapodsのYPImagePickerを使用した。 1.投稿するまでのUIの設定①YPImagePickerの画面 ②投稿画面のUIの設定 2.Firebaseへのアップロード①postのデータ構造 comment, post-like,ownerImageUrl,ownerUsernameは後に追加する。今の段階ではこの4つを除いたもので構成。 ②firebaseの様子

          8日目、投稿機能の実装