Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Acknowledgments
Introduction
The Application Stack
How to Read This Book
What You Need to Know
Online Forum and Errata
1. 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
2. Create a Great-Looking Login with Bootstrap and Devise
Adding Authentication with Devise
Styling the Login and Registration Forms
Validating Registration
Next: Using Postgres to Make Our Login More Secure
3. 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
4. Perform Fast Queries with Advanced Postgres Indexes
Implementing a Basic Fuzzy Search with Rails
Understanding Query Performance with the Query Plan
Indexing Derived and Partial Values
Next: Better-Looking Results with Bootstrap’s List Group
5. Create Clean Search Results with Bootstrap Components
Creating Google-Style Search Results Without Tables
Paginating the Results Using Bootstrap’s Components
Next: Angular!
6. Build a Dynamic UI with Angular
Configuring Rails and Angular
Porting Our Search to Angular
Changing Our Search to Use Typeahead
Next: Testing
7. 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
8. 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
9. Design Great UIs with Bootstrap’s Grid and Components
The Grid: The Cornerstone of a Web Design
Using Bootstrap’s Grid
Adding Polish with Bootstrap Components
Next: Populating the View Easily and Efficiently
10. 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
11. 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
12. 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
13. Dig Deeper
Unlocking More of Postgres’s Power
Leveling Up with Angular
Getting Everything Out of Bootstrap
The End
A1. Full Listing of Customer Detail Page HTML
A2. Creating Customer Address Seed Data
A3. Customer Details Extracted Components
Bibliography
← Prev
Back
Next →
← Prev
Back
Next →