LoginSignup
17
8

More than 5 years have passed since last update.

無料で作る集計Webページ!N予備校フォーラム名誉会員のシステムについて

Last updated at Posted at 2019-04-15

スクリーンショット 2019-04-15 16.49.27.png
こんにちはー!
N予備校プログラミング入門コース、講師の 折原ダビデ竜 です。

N予備校には勉強に躓(つまず)いた時などに質問を投稿することができる「フォーラム」という最高すぎる機能があるのはご存知でしょうか。
ここでは日々たくさんの質問が投稿され、我々講師の方々などが返答しています。

ですが!

これらの質問に答えることこそ、実はすごく良い勉強になるのです。
そして実際に回答してくださっている受講者の方もたくさんいらっしゃっいます。

そこで!

  • このフォーラムの質問に回答してくださっている受講者の方々を讃えたい!
  • さらにより多くの受講者の方にも回答をしてみてもらいたい!

という気持ちが高ぶり

そしてこの度!

N予備校フォーラム名誉会員(めいよかいいん) という称号が回答を多くして下さっている受講者に与えられるシステムを作成いたしました✨
https://progedu.github.io/forum-ranking/
スクリーンショット 2019-04-15 17.19.30.png

N予備校フォーラム名誉会員 について

N予備校のフォーラムに回答してくれている回数が多い方々を「フォーラム名誉会員」とし、
フォーラム名誉会員のページに アカウント名・アイコン・フォーラム貢献数・コメント数 などが掲載され、讃えられます!

毎月更新される「月間フォーラム名誉会員」と全ての期間の「全期間フォーラム名誉会員」があり、日頃からフォーラムの質問に回答してくださっている方々に感謝の気持ちをお伝えしたく、作成いたしました。

こちらでも報告しています。
https://www.nnn.ed.nico/questions/10030

なんと!

この集計ページは全て無料のサービスで作られています!

次に、どのようにしてこの フォーラム名誉会員のページ が作られているのかについても書いてみたいと思います。

N予備校 フォーラム名誉会員のシステムについて

このフォーラム名誉会員のページは、GitHub Pages という無料で Webサイト を公開することができる GitHub の機能を使って無料で実現できています。
(GitHub Pages の使い方は プログラミング入門コース で教えています。)

そして N予備校のフォーラムからデータを取得し、回答数などを集計するシステムは Node.js のプログラムで書かれ、CircleCI にて毎朝4時に実行されることで毎日の集計を実現しています。
CircleCI は、無料でもプログラムのテストを実行してくれるサービスで、集計を行うプログラムを test.js ファイルに記述し、これを定期実行してもらうことでデータの集計を実現しています。
CircleCI についても N予備校プログラミング入門コース で教えています。)

集計結果のデータですが、本来ならばデータベースを使いたかったのですが、まだそれほど大きなデータでも無いということから JSON ファイルに集計結果を書き出すようししました。

以上を図にするとこんな感じです。
forumRankingSystem.png

このようにして GitHub(無料)、GitHub Pages(無料)、CircleCI(無料)のみを使用した無料の集計ページを作ることができました。
みなさまの開発の参考になればと思います。

また、GitHub にソースコードも載せていますので、このシステムをより良くできるアイデアなどありましたら気軽に issue や プルリクエストを投稿してみてください。
GitHub の URL → https://github.com/progedu/forum-ranking

最後に

N予備校には勉強に詰まった時に質問を投稿できる「フォーラム」というシステムがあります。
質問に答えることもすごく良い勉強になりますので、困っている人がいたら助け合い、N予備校をより良い物にしていきましょう。

そして日頃からフォーラムの質問に回答してくださっている方々に感謝をお伝えしたいと思います。

以上、Quiita 初投稿でした🎉

sugoi1_dqr.png

17
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
8