0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

FlutterでQiita Jobs 求人一覧を再現してみました

Last updated at Posted at 2020-10-04

前回はQiita Jobsの求人をPythonで取得し、ちょっとしたデータ分析を行ってきました。

Qiita Job 求人を分析してみた件

今回はそのデータを持って、今あるQiita jobsをFlutterで再現してみました。Flutterの経験がまだ少ないので、設計の面を大目に見ていただけると幸いです。

出来上がり

公式サイトの一覧とフィルターは大体こんな感じです。

qiita-job-raw-1.jpg
qiita-job-raw-2.png

再現の感じ

公式サイトの一覧には画像と「気になるボタン」と「画像」については、こちらの目的とやや無関係なため、なくしました。

画像表示したければ、静止画をAWS S3に保存し、CloudFrontで加速することで行ける気がします。

公式サイトによると「気になる」は、求職側と採用側に「作用」するので、そこまで再現する必要がないと思いました。

Qiita job overview.gif

フィルター機能

公式サイトの一覧確認でできる「利用技術」と「職種」で絞り込み以外に、勤務地のフィルターも追加しました。

Qiita job filter 1.gif

詳細閲覧

今回はそれぞれの求人の詳細を取得していないため、新たなタブを開き、Qiita jobsの公式ページにリンクさせていただきました。

Qiita job openurl.gif

結果なし

結果がなければ、何も表示しないのが普通?かもしれませんが、それですと、今までの表示履歴がなくなるので、Dialogで結果がないことを知らせることにしました。

Qiita job no result.gif

所感

再現することにあたって、最も困難なところはFlutter WebとFirebaseの連携&使用だと思います。

Flutterには、Android、iOS、Web同時開発できますが、Firebaseとの連携においていまいちだと思います。

今回はFirebaseのFirestoreに保存したデータをget, query, filter などにをするに苦労しました。それらを解決するにはもちろん公式ドキュメントFlutterFireが一番の選択肢だが、他に特に参考になったURLはGoogleとこちらです。

どうしてもない場合、サンプルデータでTry&Errorでやってきました。その中でも記憶にあるのは、

  • ページ化(Pagination)
  • フィルター機能(Filter)

があります。

改善点と今後

今回は極一般的な機能を作成してみました。このほかにまだまだ追加できそうなものもあります。

  • Filterの機能を豊富にする

    年収範囲、複数の技術選択などを追加する

  • Full-text search

    全文サーチは公式サイトに確認したところまだ公式対応はないみたいが、Algoliaなどのsearch serviceを利用することでできるとのことでした。

  • AWS Lambda, SES, API gatewayなどのクラウドサービスを使用して気になった勤務地、技術の求人があった場合のメール連絡もできる気がします。

  • などなど

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?