connpassには有意義なイベントがたくさん開催されておりとても利用しています。
人気があるconnpassイベントの傾向が見れるサイトがあったらいいのにと思ったふしから
今回connpassAPIとstreamlitを用いてランキングがわかるサイトを作ってみました。
streamlit
streamlitとは
streamlitとはフロントエンドの技術(HTML・CSS・Javascript)を用いずにpythonだけでwebサイトを作成できるpythonフレームワークです。
Streamlitは、plotly、matplotlib、pandas、numpyのような様々なデータ処理、可視化ライブラリなどとの連携をサポートしているおり、webでデータを可視化することができます。
詳しくはこちらをごらんください
streamlit Cloudとは
streamlitで作成したwebアプリをホスティングできる実行環境です。
streamlitCloudにデプロイされたwebアプリは外からアクセス可能なサイトとして利用できます。
実行環境も利用できるのはありがたいですね。ちなみに2022/09/23時点では無料でした。
デプロイする際はGithubと連携してリポジトリやブランチを指定します。
(リポジトリ上のpythonファイルの直リンクを指定することもできました。
詳しくはこちらをごらんください
作ったもの
向こう7日間で開催されるconnpassイベントの申込数をランキング形式で表示したサイトです。
現時点の実力ではここまでしか作成できなかった。
なぜ作ったのか
私はconnapssのイベントにはよく参加しており、企画や運営をすることもあります。
イベントを企画すること運営することは思った以上に大変なんです。運営者には頭上がらない。
たくさんのイベントに参加した経験から、イベント運営に役立てるものがないかと考えていました。
イベントについて何かを可視化することができればイベントへのフィードバックに繋がるのではという思いから、
運営者に貢献できるような仕組みを構築することに取り組みました
今後実装したいこと
まずはURLをリンク形式で表示できるようにしたい。
次はイベント内容を分類する可視化したい。下記のメリットがあるのではないかと思っています。
- イベント内容の分類結果と参加者数を可視化することでイベントの流行が可視化される。関心が高い技術領域や開催形式が
- SNSへの投稿数を表示することで参加者のリアクションが可視化できる。イベントの盛り上がりも可視化できる。
まとめ
pythonだけの知識でwebアプリを作れるstreamlitは便利
特にstreamlitCloudで実行環境を簡単に構築できることは大変ありがたい。
Django等のwebフレームワーク使ってたら環境面でもっと苦悩することが多かったでしょう。
個人開発ではノリで初めてみたものの、わからないことが増えてきて途中であきらめることが多く、
再開できる状況になっても当初のモチベーションもないので進まないことも多かったです。
そんな思いから今回は期限を決めてチャレンジHackathonに参加してみました。
実現したいことが全部実装できることは99%ないので
- 一番やりたいことだけはやる
- できない理由がわかるまではやる
そこだけ決めて今後も取り組んでいきたいと思います。
最後まで読んでいただきありがとうございました