りくばん!の技術的な話
前回の記事で新しい Web サービスをリリースしたという話を書きましたが。
今回は技術的な話をだらだらーっと書いていこうと思います。
作ろうと思ったきっかけ
ぶっちゃけバンド活動をやめて数年経っていまして、とはいえ今更バンド活動をまた再開したいなーとはまったく思っていなかったりします。
ただなんとなく当時使用していた OURSOUNDS や with9 を思い返したときに、もっと使いやすいプラットフォームを作ってみたいなーと思い開発に至りました。
使用した技術
まずは主な技術スタックをば。
- React
- Next.js
- TypeScript
- Atomic Design
- Vercel
- Firebase Authentication
- Contentful
- SendGrid
- PWA
いつも通りって感じです。
当初は募集記事周りで Algolia も採用していたんですが、結局 Contentful に統一しちゃいました。
良かったこと
開発全体を通して感じた良かったことをつらつら書いていこうと思います。
そこそこ大きめの Web サービスがリリースできた
競合かつ老舗サービスに OURSOUNDS や with9 が存在している以上、りくばん!はほぼ誰からも使われないんだろうなーと思っています、広告も打ってないですし。
とはいえ、自分 1 人でそこそこの規模感を持つ Web サービスがリリースできるようになったことは、経験として良かったなーと思います。
もちろん 1 人でも多くの方に使ってもらいたい気持ちはありますが、そこは結果論でしかないのでほぼ気になりません。
Contentful の使い方を学べた
React や Next.js 周りにおいて新たに得られた知識はそこまでなかったのですが。
Contentful については新たに学べたことが結構多かったです。
どうでも良いですが、Contentful の無料枠ってやっぱり頭おかしいと思います。
イラストを有償で外注できた
7:08 さんにイラストを頼んだところ、快く引き受けてもらえたのはありがたかったです。
予想以上に高クオリティなイラストを納品してもらい、ありがたい限りです。
りくばん!の開発をきっかけに 7:08 さんとちょくちょく話すようになれたのも嬉しい限りです、今度飲みに行ってきます。
新たな Npm パッケージに出会えた
今回もかなりの数の Npm パッケージを漁って試してみました。
とくに以下のパッケージについてははじめて導入に至りました。
フィールド系の実装ってパッケージを使うべきなのかバニラで実装すべきなのか、いっつも悩まされますね。
良くなかったこと
続いて良くなかったことを。
Firebase Authentication の Rule 周りの理解が追いついていない
いまだによくわかりません、誰か教えて!
Contentful の知識も追いついていない
今回の開発を通してかなり学べたのですが、まだまだ理解しきれていない範囲があることもわかってきました。
なんか CLI も提供されているっぽく、これをしっかり使いこなすことが求められるようです。
Algolia を使おうとした
Contentful の無料枠は 25,000 レコードしか作成することができません。
そのため、リスト系のデータを保存しようとするとあっという間にレコード数を食ってしまい困ってしまいます。
なので一部のデータは Algolia で管理しようとしたのですが…やっぱり使い勝手の悪さが目立ってしまい、使用を諦めてしまいました。
追加する予定の機能
一応リリースにはこぎつけましたが、まだ一部未実装の機能があったりします。
- 募集から 3 ヶ月経った募集記事と紐づくメッセージの自動削除
- 加入希望記事
- 販促動画
- Google Play Store でリリース
- App Store でリリース
とはいえ正直そこまで多くの人が使うとも思っていないので、どこまで作り込むやらって感じです。
そんな感じです、全体的にはすんなり開発できたと思います。
開発期間としては 3 ヶ月くらいで、そこそこ素早くリリースできたんじゃないかなと。
一応 リポジトリ も公開していますので、よければ。