Unityに関する記事を集めてくるサイト "Unicle" を作りました
Unityに関する記事を集めてくるサイトを作ったのでそのご報告です。
作った動機
毎日フロントエンドを主軸にした幅広い技術系の話題を拾うのに[menthas]をよく使ってたんですが、Unityに関しては特にそういったサイトが見当たらなくて毎日はてぶを見たりTwitterから流れてくる情報を追ってました。
もちろんそれで事足りると言えばそうなんですが、Unityに関する記事が流れてくる1本のストリームがあればこれからUnityについて日々情報を取り入れたい人もそのサイトだけ見てれば情報を追えるようになるので良さそうかなって思いもあって今回のWebサイトを作りました。
Webサイトとリポジトリ
(🌟 もし、よろしければスターください 🌟)
Webサイトの説明
1日2回くらいの頻度で、はてなブックマークとUnityに関して情報を発信している特定のブログから記事を集めてきます。 拾ってくる記事の種類も数もそれほど多くはないので、特にタグ分けなどはしてません。
仕組みについて
利用した技術
以下を利用して動いています
Backend
- node.js(serverless)
- typescript
Frontend
- Vue.js
Firebaseの各サービス
- Hosting
- Cloud Functions
- FireStore
その他
Cloud Functionに記事を取ってくる関数を登録しておいて、それをcron-jobで1日2回決まった時間に回します。 とってきた記事をFirestoreに突っ込んであげておいて、フロント側から突っ込まれた記事を取ってくるfetch apiを叩いて表示するという感じです。
今回の技術の中でもcron-jobが個人的に一番ありがたみを感じました。
記事の選定
実装を見てもらえればわかるんですが、ある種のアルゴリズムによって記事を選定して取ってきてるわけではなく、はてなブックマークを検索したページにスクレイピングをかけているのと特定のブログのRSSを取得して取ってきてるだけです。
本当は特に役に立つとか話題になっている記事だけ取ってこれるような素晴らしいアルゴリズムが思いつけばいいんですが、Unityの記事の時点でかなり対象が絞られていて緩めに集めてきて流すのでもいいのではないかと思ってこの選定方法になっています。
もし良さそうな選定方法・アルゴリズムがあればコメントください!
今後について
フロント・バックエンド共にかなり簡素に作っていて、デザインもかなり適当です。 都度各所を見直してちょっとずつブラッシュアップできればなって思ってます。
あと、ampとかpwaとか気になる技術の実験場にしていこうかなとも考えてます。