Coopetについてまとめてみる
はじめに
今回の記事は私が開発しているSNS、「Coopet」について説明してみるというものです。
完成したサービスの紹介でなく、まだまだ企画段階なのですが、現時点で考えていることについてまとめておこうと思います。
いつもの記事のような技術解説的な要素は薄めなのですが、よろしければ御覧ください!
Coopetとは
Coopetは「ペットでつながるSNS」をテーマにしたサービスです。
以下のような機能の搭載を予定しています。
・Twitter的なつぶやき機能(ペット画像・動画投稿、いいね・コメント機能)
・ペット管理機能(餌やり、散歩記録)
・ペットプロフィール機能(どんな動物か、可愛いのかかっこいいのかなどをタグ付けして検索できるような)
まだランディングページとログイン画面しか作ってないですが、こんな感じの画面になる予定です。
目標としてはフリーランスとして活動を始める、8月までにはなんとかオープンしたいと思っています。
なぜ作ろうと思ったのか
SNS的なWebサービスを作ろうと思ったのは、8月からフリーランスとして活動するにあたり、人に見せられるポートフォリオ的なものがほしいと思ったからですね。
現在はSIerとしてお客さんが業務で使用するWebアプリケーションを開発しているのですが、そうしたアプリケーションはオープンなWebサービスではなく、お客さんのイントラネット内でしか使用できないものだったりするので、他の人にこんなもの作りましたーって実物を見せることができないんですね。
業務経歴書で説明すればいいんですが、やはり目で見てもらうのが一番わかりやすいですし、説得力もあるのかなーと。
その中でも「ペットでつながるSNS」というテーマを掲げたのは、私自身ペットを飼っており、動物好きであるからですね。
(私が飼っているのはデグーマウスという動物です!興味のある方はぜひYoutubeなどで調べてみてください!)
やろうとしていることは大体Twitterみたいなものなんですが、Twitterは世界中の人が色々なことを呟いているので、その中からペットや動物関連の話題だけを集めるのも大変ですし、ペットや動物関連の発信をしても他の話題に埋もれてしまうことも多いと思います。
ですので、ペットを中心としたSNSを作れば、自分のペットの可愛さを発信したい人や、動物を見て癒やされたい人には話題が絞れていいんじゃないかと思ったんです。
技術構成は?
Coopetは以下のような構成で作ろうと思っています。
各々軽く解説していきます。
フロントエンド
Angular
フロントエンドのJavaScriptフレームワークは自分が最も使い慣れている「Angular」を使用します。
Webエンジニアとして自分の最も売りとなると考えている部分はこのAngularの業務経験だと思っているので、そこをアピールするためにもここは外せません。
Ionic
Angularと相性の良いUIフレームワークということで選定しました。
また今回のアプリはPWAとして開発したいと思っているので、それに標準対応している部分も評価しました。
詳しい選定内容についてはこちらの記事をご覧ください。
サーバーサイド
サーバーサイドは基本、AWS(Amazon Web Service)を使おうと思っています。
自分が持っている技術をアピールするという観点で考えると、実務経験のないAWSを選定しているのはAngularの選定理由と矛盾しますが、私はバックエンド側の経験はそれほどなく(Javaでひと通りはやっていますが)、
またシングルページアプリケーションにするとサーバーサイドはかなり薄くなるので、Javaフレームワークでごりごり書くよりは、パブリッククラウドのサービスを組み合わせてコード量も最小限に抑えようと考えました。
パブリッククラウドは今後避けては通れないところだと思っているので、今のうちに触っておきたいというのも理由のひとつですね。
パブリッククラウドの中でもAzureやGCPでなくAWSを選んだのは、単純にネット上に情報量が多いという点からですね。
後聞くところによるとサポートも迅速で質も高いらしいので、パブリッククラウド初心者には優しいのかなと。
使用するAWSの各サービスについては詳細はまた記事にしてご紹介しようとも考えているので、ここでは最小限の紹介で済ませます。
・AWS Cognito(ユーザーのサインアップ/サインインおよびアクセスコントロール)
・Amazon API Gateway(Web API の作成)
・AWS Lambda (サーバー側業務ロジック)
・Amazon S3(動画像の保存)
おわりに
今回は私が開発しているSNSサービス「Coopet」をご紹介しました。
本業とゲーム開発の合間を縫って開発することになるので、そこまで多くの時間リソースを割けないのですが、少しずつ形にしていきたいと思います。
進捗状況はこのブログの記事や私のTwitterでお伝えしていこうと思います。
それでは今回はこのへんで。ここまで読んでいただきありがとうございました!
感想やご意見・質問等ございましたら、私のTwitterまでお気軽にどうぞ。