This is part of the Rails API sequence of talks. Each talk has its own repository with a reference README.
Each talk is designed to walk through the creation of a real Rails API, feature-by-feature, using "error driven development".
During the sequence, we will be building the following features for this API.
The API contains a few important branches:
master
contains starter code.tutorial
contains detailed commit history, and tags for where each talk should end.solution
contains a feature-complete reference API. History is not canonical.
- Fork and clone this repository.
- Create a new branch,
training
, for your work. - Checkout to the
training
branch. - Install dependencies with
bundle install
. - Create a
.env
for sensitive settings (touch .env
). - Generate new
development
andtest
secrets (bundle exec rails secret
). - Store them in
.env
with keysSECRET_KEY_BASE_<DEVELOPMENT|TEST>
respectively. - Setup your database with
bin/rails [db:drop] db:create db:migrate db:seed
. - Run the API server with
bin/rails server
.
Developers should run these often!
bin/rails routes
lists the endpoints available in your API.bin/rails test
runs automated tests.bin/rails console
opens a REPL that pre-loads the API.bin/rails db
opens your database client and loads the correct database.bin/rails server
starts the API.scripts/*.sh
run variouscurl
commands to test the API. See below.
- Deploying a Rails API to Heroku
- Rails guides for an API App
- Blog post of building a JSON API with Rails 5
- All content is licensed under a CCBYNCSA 4.0 license.
- All software code is licensed under GNU GPLv3. For commercial use or alternative licensing, please contact [email protected].