The Road to Firebase [Book]

 by Robin Wieruch
 - Edit this Post

Today, I am thrilled to announce The Road to Firebase, my book that started as a tutorial in 2017 and has evolved into course material. The tutorial has been one of the most-read and well-received articles on my website, and this gave me the idea to add enough content to make a complete volume.

Perhaps the best thing about the book is that I release it for free. I think everyone should have the chance to learn Firebase. Because I self-published it, I can update the PDF, EPUB, or MOBI versions as often as possible, and I can keep the e-book versions in a state of constant improvement.

The book walks you through building a full-blown application with advanced React and Firebase. Firebase enables you to build full-stack applications without worrying about the backend. You will learn how to setup a register, login and logout mechanism in React with Firebase, how to access the application with Facebook and Google, and how to manage your data in the Firebase database.

{{% package_box "The Road to Firebase" "Your journey to master web applications with a minimal tech stack to get you started with your business and MVPs." "Get the Book" "img/page/the-road-to-react-with-firebase-book.jpg" "" %}}

I wrote the The Road to Firebase over the last two years. During this time, I came to understand the practical genius of Firebase, and how it dramatically reduces the tech stack to focus on getting sh*t done. Once you have set up your starter kit project -- that's what we are going to do together in this book -- you are ready to iterate fast on your personal ideas. There is no need to complicate things by adding backend application with a database to your frontend application, because Firebase takes care of it.

I have been using React and Firebase as minimal tech stack for a while. Just these two applications power my business applications, and I heard several success stories from readers who used my tutorials as a foundation to power their own businesses. I wanted to pass on what I had learned about minimal tech stacks to a wider audience.

What's in the book?

The book is 200 pages containing more than 25 exercises and more than 200 code snippets, 1 application you are going to build along the way and various source code applications if you decide to buy the complete course. I applied the same principles as for my other books:

  • Stay pragmatic
  • Keep it simple
  • Answer the why, not just the how
  • Experience a problem, solve a problem

This book is not intended to be an end-all reference for the Firebase API nor an in-depth guide about the internals of Firebase. Instead, its purpose is to journey through learning Firebase with React the pragmatic way, building an entire application on this tech stack yourself. The end result is the foundation to make your business application a reality.

I also have the feeling that the book is a valuable advanced React learning resource. It dives deeply into advanced React concepts such as higher-order components, render prop components, and component composition which are applied in context of the application we are going to build together in this book. Getting through this book should make you more comfortable with advanced React applications.

Table of Contents

  • Application Setup
  • React Router in React
  • Firebase
  • Firebase in React
  • Firebase’s Authentication API
    • Sign Up with React and Firebase
    • Sign In with React and Firebase
    • Sign Out with React and Firebase
    • Session Handling
    • Session Handling with Higher-Order Components
  • Password Management
    • Password Forget
    • Password Change
  • Authorization (1): General Authorization and Route Protection
  • Firebase Realtime Database (1): Basic
    • User Management with Firebase
  • Authorization (2): Roles and Permissions
    • Database Users with Roles
    • How to merge authenticated user with database user?
    • Authorize a Firebase User based on a Role
  • Session Persistence
  • Social Logins
    • Troubleshoot
    • Google Social Login
    • Facebook Social Login
    • Twitter Social Login
    • Linking Social Logins to one Account
  • Email Verification
  • Admin Dashboard
  • Firebase Realtime Database (2): Advanced
    • Defining the API
    • How to fetch a List
    • Creating an Item in a List
    • Relationships
    • Removing an Item in a List
    • Editing an Item in a List
    • Ordering
    • Pagination
    • Fetch Data across Relationships
  • Firebase Hosting

Why Firebase?

The book covers lots of facets about Firebase in React that are important for building modern applications. If you have just learned React for your front-end application, you may be in need to add a backend application to persist your data. Normally you would jump straight into full-stack development by setting up a backend application with a database yourself. However, many developers new to JavaScript find this step intimidating, because it comes with a lot of new tech choices and learnings.

Using Firebase makes building a backend application easier. It provides a real-time database, authentication, hosting, and much more. Setting up a React application with user management, permission and role-based authorization, password resets, email verification, and social logins via Facebook/Google/Twitter all equal the perfect starter kit.

Also, if you take the complete course, you will receive the identical starter kit project but fully styled with Semantic UI, with optional Redux or MobX integration, and optional Gatsby starter project. It also comes with a migration path to Firebase’s new Cloud Firestore.

The Road to Firebase is an expression of my enthusiasm for the topic. I hope it becomes a valuable resource among other courses, tutorials, and books on the pragmatic use of Firebase for web applications. As always, feedback through any of the available platforms is welcome and encouraged :)

Keep reading about 

Every time I used Firebase, I ran into the problem of how to test Firebase's database and authentication. Since I am using Jest as my default testing environment, I figured everything I needed…

The Road to React

Learn React by building real world applications. No setup configuration. No tooling. Plain React in 200+ pages of learning material. Learn React like 50.000+ readers.

Get it on Amazon.