small medium large xlarge

Rails, Angular, Postgres, and Bootstrap, Second Edition: Powerful, Effective, Efficient, Full-Stack Web Development


Cover image for Rails, Angular, Postgres, and Bootstrap, Second Edition

Rails, Angular, Postgres, and Bootstrap, Second Edition

Powerful, Effective, Efficient, Full-Stack Web Development


Achieve awesome user experiences and performance with simple, maintainable code! Embrace the full stack of web development, from styling with Bootstrap, building an interactive user interface with Angular 4, to storing data quickly and reliably in PostgreSQL. With this fully revised new edition, take a holistic view of full-stack development to create usable, high-performing applications with Rails 5.1.

Customer Reviews

Rails, Angular, Postgres, and Bootstrap, Second Edition is an informative and engaging
tool for Rails developers to level up their skills. Dave uses real-world
product examples to explain concepts, making it feel natural to apply your newfound
database and front-end expertise to your everyday work.

- Cameron Jacoby

Software engineer, Stitch Fix

This book is a great introduction to modern full-stack development. You’ll learn
how to create rich front-end experiences and performant databases, all the while
working with the joy that is Rails.

- Matthew White

Author of "Deliver Audacious Web Apps with Ember

I found this to be an excellent book. It is well written, correct, and up to date;
covers exciting OSS technologies; and has a clear sense of its audience and its
needs. I intend to recommend this book to my Rails team—it will expand our
competencies even further.

- Tibor Simic

Developer, Ingemark

I recommend Rails, Angular, Postgres, and Bootstrap, Second Edition without
question. It is a great book for any developer who needs a straightforward and
rich experience with the full-stack web development philosophy. It is also a great
choice for any developer who wants to pair his or her Rails knowledge with
bleeding-edge tools and progressively ascend to full-stack.

- Peter Perlepes

Software engineer, Adaplo

See All Reviews

Choose Your Format(s)

  • $24.95 In Stock
  • Ebooks are DRM free.

  • Ebook delivery options.

What You Need

This book covers Postgres 9.6, Rails 5.1, and Ruby 2.3. You should have some experience with basic Rails concepts and a cursory understanding of JavaScript, CSS, and SQL, but by no means need to be an expert. You’ll learn how to install Postgres on your computer or use a free version of it in the cloud.

Contents & Extracts


  • The Application Stack
  • How to Read This Book
  • What You Need to Know
  • Online Forum and Errata
  • Set Up the Environment
    • Installing Ruby, Rails, and Postgres
    • Creating the Rails Application
    • Setting Up Bootstrap with Yarn and Webpack
    • Next: Authentication with Devise, Styled by Bootstrap
  • Create a Great-Looking Login with Bootstrap and Devise excerpt
    • Adding Authentication with Devise
    • Styling the Login and Registration Forms
    • Validating Registration
    • Next: Using Postgres to Make Our Login More Secure
  • Secure the User Database with Postgres Constraints
    • Exposing the Vulnerability Devise and Rails Leave Open
    • Preventing Bad Data Using Check Constraints
    • Why Use Rails Validations?
    • Next: Using Postgres Indexes to Speed Up a Fuzzy Search
  • Perform Fast Queries with Advanced Postgres Indexes
    • Implementing a Basic Fuzzy Search with Rails
    • Understanding Query Performance with the Query Plan excerpt
    • Indexing Derived and Partial Values
    • Next: Better-Looking Results with Bootstrap’s List Group
  • Create Clean Search Results with Bootstrap Components
    • Creating Google-Style Search Results Without Tables
    • Paginating the Results Using Bootstrap’s Components
    • Next: Angular!
  • Build a Dynamic UI with Angular
    • Configuring Rails and Angular
    • Porting Our Search to Angular
    • Changing Our Search to Use Typeahead excerpt
    • Next: Testing
  • Test This Fancy New Code
    • Installing RSpec for Testing
    • Testing Database Constraints
    • Running Headless Acceptance Tests in PhantomJS
    • Writing Unit Tests for Angular Components
    • Next: Level Up on Everything
  • Create a Single-Page App Using Angular’s Router
    • Storing View Templates in HTML Files
    • Configuring Angular’s Router for User Navigation
    • Navigating the User Interface Client-side
    • Implementing Back-End Integration Using TDD
    • Next: Design Using Grids
  • Design Great UIs with Bootstrap’s Grid and Components
    • The Grid: The Cornerstone of a Web Design excerpt
    • Using Bootstrap’s Grid
    • Adding Polish with Bootstrap Components
    • Next: Populating the View Easily and Efficiently
  • Cache Complex Queries Using Materialized Views
    • Understanding the Performance Impact of Complex Data
    • Using Materialized Views for Better Performance
    • Keeping Materialized Views Updated
    • Next: Combining Data with a Second Source in Angular
  • Asynchronously Load Data from Many Sources
    • Understanding Asynchronous Requests and Observables
    • Separating the App into Components
    • Sharing Data Between Components
    • Pulling Data from a Second Source
    • Using Bootstrap’s Progress Bar When Data Is Loading
    • Next: Sending Changes Back to the Server
  • Wrangle Forms and Validations with Angular
    • Marrying Angular’s and Bootstrap’s Form Validations
    • Reusing Markup with a Generic Text Field Component
    • Customizing the Component’s Behavior and Appearance
    • Listening for User Change Events
    • Saving Changes to the Server
    • Next: Everything Else
  • Dig Deeper
    • Unlocking More of Postgres’s Power
    • Leveling Up with Angular
    • Getting Everything Out of Bootstrap
    • The End
  • Full Listing of Customer Detail Page HTML
  • Creating Customer Address Seed Data
  • Customer Details Extracted Components
  • Author

    David Bryant Copeland has been a professional programmer since 1995. He’s worked at LivingSocial and Opower, and is the director of engineering at fashion start-up Stitch Fix. He wrote The Senior Software Engineer and Build Awesome Command-Line Applications in Ruby 2 and is the coauthor of Agile Web Development with Rails 5.1.