こんにちは!エンジニア系YouTuberのKBOYです。
2021年3月1日リリースしたCodeBoyというサービスについて技術的観点から紹介していきたいと思います。
CodeBoyとは
CodeBoyは、現役エンジニアとプログラミング学習者のマッチングプラットフォーム。「教えたいエンジニア」と「学びたい人」を繋ぎます。
競合にはMENTAさんやCycleさんがいますが、**CodeBoyのプラットフォーム手数料は業界最安値の10%**で、これが競合優位性の1つです。
プレスリリースはこちらです↓
YouTuberのKBOYが審査制プログラミング学習プラットフォーム「CodeBoy」を正式リリース!
CodeBoyの技術構成
CodeBoyのフロンエンドはFlutter Web、バックエンドはFirebase、決済はStripeで作られています。この技術構成はいつも僕がモバイルアプリを作るときと同じです。
FlutterはiOSとAndroidが同時に作れるクロスプラットフォームとして有名ですが、channelをbetaにすると、同じコードの書き方でWebも作れます。
また、ゼロから作ったわけではなく、KBOYのFlutter大学のオンラインサロンの管理画面がもともとFlutter Webで作られていたので、それをベースにカスタマイズしていき、今の形になりました。Flutter大学の管理画面についてはKBOYのFlutter大学オンラインサロン専用アプリの技術構成という記事に書きましたのでチェックしてみて下さい。
Flutter Webについて
Flutter Webのデメリット
こんな感じでブラウザに関する関するissueとか、 カーソル位置がずれるとか、**多分普通にWebアプリ開発出てたら問題にならないようなところで問題が起こったりします。**Flutter Webはまだベータですし、こういった細かいところで使いづらさが出ちゃうのが悩みどころです。
Flutter Web意外とイケるかも?
でも https://codeboy.jp に訪問していじってみて下さい。意外といい感じに動いてません?
これは僕的にも意外でしたが、日々Flutter自体がアップデートしていて、かなりまともに動作するようになってきています。本当にFlutterだけでモバイルもWebもやるのが普通になる世界が来るかもしれません。激アツですね。
Firebaseについて
- Auth(ログイン)
- Firestore(データベース)
- Storage(画像ストレージ)
- Functions(主にStripeを叩くAPIとして活用)
を使っています。
Functions以外はKBOYのFlutter大学のYouTube見れば出来るレベルなので、全然難しくありません。
Stripeについて

主にFirebase FunctionsからAPIを叩いて使っています。Stripeの提供するサービスにはいくつかありますが、今回使っているのはStripe Connectです。StripeConnectはCtoCサービスを作るときに便利で、購入者であるcustomerと販売者であるConnected Accountという2つのユーザー区分を作ることができます。APIで送金、出金なども全部やってくれるので便利です。
この実装も、もともと僕がCtoCアプリをSwift iOSで作ったことがあってそのときにcloud functionsで組んだものを流用できたので、意外とサクッと実装出来ましたが、初めてだと意味わからないかもです。StripeのAPIドキュメントはかなり読みまくったし、読んでも分からないときはStripeのサポートに連絡したりしてました。ちなみにStripeのサポートは英語だと5秒後くらいに返信くるので凄いです笑
まとめ
ということで、今回は2021年3月1日にリリースした、CodeBoyの技術構成について簡単に紹介させていただきました。是非、エンジニアの方は講師申請してプランを作って下さい!また、新しい技術の勉強に役立ててください!
リンク
CodeBoy
Flutterの勉強するならFlutter大学!!