MYAU
# サービス内容 MYAUは、猫好き専用のSNSアプリです。 飼っている猫の写真を投稿して猫好き同士でコミュニケーションしたり、里親を探している猫の里親募集ができます。 # 開発内容 このアプリは私が専門学校2年生から個人でサイドプロジェクトとして開発をしています。 会社のルールに関わらず好きな時間に好きな技術を使ってコードを書けることは会社で学べない違う勉強になると思っているので会社に就職してからも開発を続けてアップデートしています。 主に行った作業は以下になります。 1.個人のサイドプロジェクトのため毎日サーバーを管理してトラブルシューティングまですることは難しいのでサーバー側は全てFirebaseを使用してサーバーレス環境を作りました。FirebaseAuthでログイン、認証処理を行い、データバースはCloud FirestoreとFirebase Storageを利用しました。後、サーバー処理が必要な部分(通知やOGPなど)はCloud Functionsを利用しました。 2.Cloud Firestoreのリアルタイム性を利用してリアルタイムが必要な良いね数やチャットの部分を実装しました。 3.SNSで欠かせない通知を実装するためにCloud Functionsを利用しました。Cloud Functions内の言語はJavaScriptです。Cloud FunctionsでCloud Firestoreの変化を感知し良いねやフォローが行われた場合そのユーザーにCloud Messagingを利用して通知を送る流れで実装しました。 4.投稿の検索やユーザの検索が必要でしたたがFirebaseには全文検索がなかったためAlgoliaという外部サービスを利用しました。Algoliaのsearch apiを利用して全文検索を実装することができました。 5.SNSアプリをより広めるためにはシェア機能は欠かせません。そのためにシェア機能を実装にFirebaseのDynamic Linksを使用しました。アプリをダウンロードしているユーザーは直接アプリを開くようにしてアプリをダウンロードしていないユーザーはapp storeにリンクされるようにしました。 しかし、Dynamic Linksでは動的に写真や投稿内容が変わるOGPを設定することが出来なかったため、FirebaseのDynamic LinksとCloud FunctionsとHostingを組み合わせることで動的に写真や投稿内容が変わるOGPを実装することが出来ました。 6.デザインも自分でやる必要があるためsketchを利用してアイコンとapp store用のスクリーンショットを作りました。 7.app storeの証明書の設定などアプリのリリースまでの準備をしました。 # このプロジェクトに参加して得たもの 個人のプロジェクトなので全て自分で解決する必要があって大変な部分もありますしたたくさんの時間がかかることもありますが、自分の力で問題を解決した時の達成感は非常に大きいです。 問題を解決するためにどう調べて実装していくのかという流れを身に付けることが出来ました。 アプリの企画から開発してリリースするまでを自分自身でやることが出来ました。