概要
- ポートフォリオとして作成するWebアプリケーションにバックエンドでRailsをAPIモードで使用することにしたので、調べたことをまとめる
基本方針
- API開発をするにあたって、最初に設定する内容のみを最低限行うこと
- その後の開発に必要になるGemについてはその時々で導入すること
そうすることで、最初にバグっていなければ、後からGemを追加してバグったら
どのGemが原因でバグっているのか見当がつきやすい
また、どの機能を実装したり、どのように改善したりするのにGemを導入するのかが
最初に入れるとlogを見たときにわかりづらい
-
最初はpry,ruboCop,annotate,sprint,jbuilderのみを入れる
-
サインイン、サインアップ機能を実装するときにDevice,bcryptを入れる
-
画像アップロード処理を実装するときにcarrierwaveをいれる
やること
リンク集
-
Rails APIモード 環境構築
【Rails】Rails6でAPIモードの環境構築をしっかりやる
Rails6をAPIモードで環境構築する より詳しく書いている -
エンドポイント設計(URI + HTTP)
バックエンドの設計を任されたので、エンドポイント設計をしっかり学んでみる -
database.yml
Railsで使用するデータベースの設定を行うことができるファイル
MySQL用のデータベース設定ファイル(database.yml) -
Responceで返すJSONを加工する
Rails – ActiveModelSerializers gemでサクサクAPI開発 -
Railsに必要なGem、テスト駆動開発の基本
RailsでWEB API入門
Gem一覧
-
pry
コードにbinding.pry
をコードに挿入することでブレイクポイントを設定することができるGem
Rails で Pry を使う -
Device
ユーザー認証用のGem
Rails devise の使い方(導入からログアウトまで) -
annotate
Modelのスキーマ情報をファイルの上部や下部にコメントしてくれるGem
【Rails】annotateの使い方 -
spring
ライブラリをプリロードすることでコマンドの実行時間を短くできる
RailsでSpringを導入して開発効率を上げる -
Jbuilder
JSON構造を宣言するためのシンプルなDSL(ドメイン特化言語)を提供
【Rails】JSONデータを返却する「gem jbuilder」の便利な使い方 -
bcrypt
パスワードの暗号化
bcrypt【Rubyのパスワード暗号化Gem】
Gem Deviseによるパスワードの保存及び保安方法 -
carrierwave
画像のアップロード機能を提供
Rails 画像アップロード機能の実装方法 メモ
Carrierwaveの使い方 -
ruboCop
静的コード解析ツール
RuboCop is 何?