中央システム株式会社

ついに実装(part2)!!チームGEEK!!(2024-09)

社長
社長

昨年同時期、新入社員とICTプロダクト開発を行っていました。
昨年からの記録(「社長と新入社員のICT開発」の記事一覧)
今年も同じように新入社員と一緒に頑張っています。
今回はコンテンツ作成も任せてみました。

はじめに

R
R

今月もチームGEEKの進捗を報告させていただきます!
よろしくお願いします!

M
M

よろしくお願いします!

N
N

よろしくお願いします!

9月の進捗報告

M
M

まず、8月はどこまで進んでいましたか?

R
R

8月は画面の作成を主に行っていました。
ログイン画面、トップページ画面、編集画面などのボタンを配置したりなど
見た目のところから進めていました。

M
M

8月の投稿では今後はFirebaseを使用してバックエンドの処理を行っていく予定だと言っていましたが、9月の進捗はどうですか?

R
R

Firebaseの中でも認証機能を実装するためのFirebase Authentication、
動画や画像を保存するためのCloud Storage for Firebase、その他の
データを保存するためのFirestoreの3つの機能を使って実装を進めていました。

R
R

その他は動画の再生・停止や再生速度倍率の調整、描画機能やメモ機能などを実装しました。
Firestoreを使うことで、日付やタイトル、メモ内容などの動画についての詳細情報を入力してそれをトップページに一覧として表示することができました。

M
M

制作の様子はYoutubeのShortで紹介していますよね!

R
R

こちらの再生リストですね。
今後は解説で音声を入れていきます。

苦労したこと

N
N

今月苦労したことはありますか?

R
R

Firebaseを使ってのバックエンド処理が苦労しました。
データを保管するためにFirestoreを使用しました。

FirestoreとはGoogle社が提供するNoSQL型のデータベースです。
RDBとは異なるデータ構造だったため、どこにどのデータを保管するなどを考えるのに苦労しました。

N
N

今回の例で言うとどんなことがありますか?

R
R

今回は動画ごとにカテゴリーを選択・登録できるような機能を考えていました。最初はUsersコレクションと同じ階層にCategoriesコレクションを作成していました。
つまり / Categories / {category_id} / このようなパスです。しかし、これだとすべてのユーザーでカテゴリーが共有されている状態です。
今回は各々が自分だけのカテゴリーで選択して欲しかったので画像のように変更しました。
/ Users / {user_id} / Categories / {category_id} / このようにUsersコレクションの配下にサブコレクションとしてCategoriesコレクションを作成しました。
以上のようにどこにどのデータを保管するかで大きく内容が異なるのが大変でした。

最後に一言&コラム

N
N

いきなり出てきたFirebaseについてもう少し教えてください!

R
R

Firebaseは、Googleが提供するクラウドサービス「MBaaS(Mobile Backend as a Service)」です!
Firebaseはモバイルアプリ開発に特化していて、Firebaseを導入することでモバイルアプリ開発に
必要なものがほとんど揃うというメリットがあるため今回使用しました。

M
M

先ほど進捗の時に言っていたFirebase Authentication、Cloud Storage for Firebase、Firestoreの3つについても教えてください!

R
R

Firebase Authenticationはいわゆるユーザー認証機能です。
メールアドレス、パスワード、電話番号、SNSアカウント(Facebook、Twitter、GitHub、Googleなど)を使用した認証機能があります。iOS、Android、ウェブのすべてで対応可能です。

R
R

Cloud Storage for Firebaseは写真や動画など、ユーザーが作成したコンテンツを保管することができるサービスです。今回は読み込む動画そのものと、トップ画面に表示するサムネイル画像を保管しています。

R
R

FirestoreはNoSQL クラウドデータベースを使用して、クライアントサイドおよびサーバーサイド開発用のデータを保存および同期するものです。今回は、ユーザ情報や動画の情報などを保管しています。

N
N

確かにFirebaseを導入すればモバイルアプリ開発に必要なものがほとんど揃いそうですね。
では今回はこの辺で終わりにしましょう。今月もありがとうございました。

M
M

ありがとうございました!

R
R

ありがとうございました~!