はじめに
SFCアドベントカレンダーの6日目を担当するしゅんた@____reiwa___です!
今、この記事を書いてるのは12/6ですが、なんか書くって書いておいてずっとなに書こうか迷っていたので だいぶやばいです 間に合いました(記事完成したのは朝7:00)。
Hack U SFCとは
今年の秋学期のインターネットの授業履修者(履修者じゃなくても参加可能)を対象にした、Yahooが開催しているハッカソンです。
https://hacku.yahoo.co.jp/sfc2019/
今回はこちらのハッカソンで炎上を防止するSNSを作成し、見事最優秀賞を頂くことができました🎉
作成したもの
炎上を防ぐSNSです。作成したものは、TwitterのようなSNSで、投稿にいいね、わるいねの評価を与えれる仕組みを作成しました。
わるいねをすると、対象の投稿の評価とその投稿をしたユーザの評価を下げ、評価が一定程度落ちてしまうと、タイムラインから消えます。
また、逆にいいねするとそれぞれの評価があがり、タイムラインによく表示されるようになります。
この仕組みによって、皆がみたくない投稿を見えなくすることができます。
面白かったりして伸びる投稿の例(画面内の数字が評価です)
他人の気分を損ねるなどして、表示されなくなる投稿の例(画面内の数字が評価です)
実装
開発環境
バックエンドはrails+mysqlで開発し、フロントエンドはnuxt.jsを使用しました。
また、最終的にはアプリ化をしたかったためcordvaを使用して、スマホアプリとして動かしました。
作成した機能
- フォロー中のユーザだけを見れるタイムライン
- すべてのゆーざの投稿を見れるタイムライン
- 通知(フォロー、リプライ)
- 投稿
- いいね/わるいねきのう
- 基本的なプロフィール設定機能(名前、bio、プロフィール画像)
- メール、パスワード変更等
などと、一般的なSNSのベースとなるものをすべて実装しました。
ここがよかった
- 6人チームでやった割にはあまり作業をしてない人/してる人で結構皆にタスクを割り当てられたところ
- ちゃんと自分たちが作ったものの利点、欠点まで言えたところ(見えなくなるツイートのせいでコミュニティーの多様化が起きない?という欠点を発見できたところ)
- あとはもちろん優秀賞頂けたところです!!
(おまけ)ここがやばかった
- ソースコードをOSSにしようと試みたとき、不注意でFirebaseのAPIkeyが漏れた(なのでいまはprivateにして修正してから公開します)
-
主にgitをいじってるのは3人ぐらいだけど、なんか皆めんどくさくてmasterブランチで作業してた
(楽しかった) - 前日は徹夜。と言うか最後の2,3日はほぼ徹夜。一ヶ月開発期間あるんだから余裕もとう....
終わりに
以上、簡単になりましたが、今回のハッカソンで作成したものの紹介でした!
来年インターネット(某ネットの父は引退するそうですが、あるのかな?)を履修する人で参加するチャンスがあったらぜひぜひ参加してみてください!!!
当日使用したスライドはこちら
また、このプロジェクトのgithubレポジトリを公開します。(まだprivateですが数日以内には公開する予定です!!!!)
あ、そういえば今回の景品として、m5stackを頂いたので、何かに使ってみたいです....