宮水の日記

宮水の日記

主に書評や資格取得について記事を書いています。

Techpitで初めて教材を作ってみた話

みなさんこんにちは!宮水です。


2020-03-06にTechpitで教材をリリースしました🎉
www.techpit.jp


f:id:kattyan53:20200425154619p:plain


教材を執筆するのは初めてでとても大変な作業でしたが、Techpitの運営の方々の手厚いサポートもありとても楽しかったです。
本記事では、教材の執筆過程や感想を書いていきたいと思います!

教材を書こうと思った理由

2020年1月のお正月休みに、ゆうすけ@Railsエンジニア (@ysk_pro) | Twitter と一緒にゴルフ場を検索して予約できるアプリを作りました。
予約可能なゴルフ場を一覧で表示してくれる便利なアプリです。
www.rakuraku-golf.com

ゆうすけがバックエンド、私がフロントを担当して作りました。
今までRailsだけでアプリを作っていた私たちにとって今回のアプリの構成は新鮮だったので、教材にしてみたら面白いのではないかと思い、執筆するに至りました。

f:id:kattyan53:20200425145330p:plain
移動時間で絞り込めるゴルフ場検索サービス「楽々ゴルフ」を作りました - 銀行員からのRailsエンジニア

教材の内容

教材では、以下のような内容になっています。

全体的な教材の思想

まずは動くものを作っていただいて、Reactって楽しいな、サーバーレスって手軽で便利だなって思っていただけるような内容を目指しました。一方で、現在もいただいた質問から随時内容をわかりやすくしたり、説明を追加したりしてアップデートしています。いつもありがとうございます。

Reactを使った開発

フォームで入力された検索条件をAPIへリクエストし、APIから受け取った条件に合ったゴルフ場を一覧表示するのにReactを使用しています。

などをアプリを作りながら学ぶことができるような構成にしました。

AWS Amplifyを使ったアプリケーションの公開

Reactで作ったアプリをAWS Amplifyを使ってデプロイしています。
GitHubアカウントがあればとても簡単にデプロイができることを体感できます。

サーバレス(AWS Lambda, DynamoDB, API Gateway)を使った開発

AWS LambdaとAPI Gatewayを使用して、ゴルフ場一覧を取得するAPIバッチ処理を作ります。
DBはDynamoDBを使います。

こういった技術を使用すると、インフラの難しい設定をする必要がないことや、小さい規模のAPIが手軽に作れることを体感できます。

Rubyを使った開発

AWS LambdaでRubyを用いた開発が学べます。
LambdaでRubyが使えるようになったのは割と最近のことで、Rubyで手軽にAPIを作れるようになったのはRubistには嬉しいですね。

Q: AWS Lambda がサポートする言語は何ですか?

AWS Lambda は、ネイティブでは、Java、Go、PowerShell、Node.js、C#PythonRuby のコードをサポートしています。また、関数の作成にその他のプログラミング言語を使用できるようにするための Runtime API を提供しています。Node.js、PythonJavaRubyC#、Go、PowerShell の使用に関するドキュメントをご覧ください。

Rakuten, Google Maps APIを使った開発

ゴルフ場の取得や移動時間を計算するのにRakuten APIGoogle Maps APIを使用しています。
登録手続きなど0から調べると結構大変ですが、スクショ付きで解説しています。

Techpitの方のサポート

お互い平日は仕事で時間が取れないので、Techpitの方々に細かいところをサポートしていただいて本当に助かっています。

GitHubで進める

教材はGitHubを使って書きました。
プルリクエストを提出すると、運営の方が細かい誤字や改行、マークダウンのスタイルの修正をしてくださいました。
教材の雛形や進め方までドキュメントがまとまっていてとても助かりました。

セールスページの作成

以下の教材TOPページのコンテンツの説明は、全て運営の方に書いていただきました。
【React × Ruby】サーバーレスでゴルフ場検索サービスを作ってみよう! | Techpit(テックピット)

ユーザーさんがこの教材の購入を検討するときにどんな内容が必要なのか私たちには全くわからなかったので、想像以上に丁寧に解説してくださって本当に驚きました。運営さん、ありがとうございました。

教材の確認

教材に不備がないか確認するために最初から通して教材を実践してくださり、大きなバグなくリリースすることができました。
私たちがやると内容がわかっていたり慣れていて「どの記述がわかりにくいのか」「やってみたら動かなかった」ということに気づけなかったと思うので、とてもありがたかったです。

質問対応

Slackでチャンネルを作っていただいて連絡を取り合います。
運営側で返答できる質問は代わりに返答いただき、執筆者が対応するべき質問はすぐに連絡してくださり、とても助かっています。

教材を書いてみたい人へ

運営さんからのサポートを受けつつ主体的に教材の執筆を進められるので、Techpitで教材を執筆するのは本当におすすめです!
執筆したいネタがある方はぜひ執筆者登録をしてください!

Techpit(テックピット) - 作りながら学べるCtoCプログラミング学習プラットフォーム (@techpit_jp) | Twitterauthor.techpit.jp


教材のこれから

この教材もこれで終わりではなくどんどんアップデートしていきたいと思っているので、忌憚のない意見をぜひDMなどでお聞かせ下さい!
宮水 (@rails_java_like) | Twitter


GWにオンラインもくもく会を開催する予定です!

2020-05-04の13:00-17:00に、オンライン勉強会を開催していただくことになりました!
気軽に質問しながら教材を進められる勉強会です☺️ 

↓もうすぐCompassで募集されると思います!もうしばらくお待ちくださいませ。
techpit.connpass.com