Gatsby JS & Firebase: HYBRID realtime + static sites
Build Gatsby JS static sites with realtime firestore, cloud functions, storage, auth, Gatsby + React hooks & GraphQL!
Increase your value as a front-end / React JS developer 💵
Level-up your React skillset by learning the Gatsby.js framework with Firebase 🔥 - this is an awesome HYBRID stack, where we can generate static pages in Gatsby JS from data stored in firestore, but also allow dynamic and realtime functionality such as login / registration, and realtime chat & comments
We'll be creating the "Gatsby book club" - and we'll look at how we can query firestore data in Gatsby with GraphQL using the GraphiQL browser tool.
We'll be setting up Gatsby to build static sites based on data stored in firestore and firebase cloud storage ☁️ based on GraphQL queries. We'll use the realtime capabilities of firestore to implement a realtime chat / comments section for each book, and we'll be using the firebase authentication service to provide real-time registration and login functionality to our Gatsby app.
No app is complete without an admin section, so we'll be implementing an admin section in our Gatsby app that allows admins to create new authors and new books, as well as implementing a file upload feature using firebase cloud functions with firebase cloud storage.
Once we've finished our Gatsby app, we'll take a look at how to deploy a live version of our Gatsby site using Netlify, and implement an auto-rebuild of our Gatsby site any time we add new books.
⚡️Speed past the competition with Gatsby! ⚡️
Gatsby.js builds the fastest possible website. Instead of waiting to generate pages when requested, Gatsby pre-builds pages and lifts them into a global cloud of servers (we'll be using Netlify for this) - ready to be delivered instantly to your users wherever they are.
Some advantages of Gatsby include:
- No waiting for API responses
- No waiting to render components based on requested data
- No loading spinners!
- No waiting for a server to compile a page to serve to the browser - these pages are already pre-compiled by Gatsby and ready to serve instantly to your users!
We certainly cover a LOT in this Gatsby course!
What other students are saying about the Gatsby & Firebase course:
⭐️⭐️⭐️⭐️⭐️ 5/5 stars: "Great job for creating this Gatsby.js course. Highly recommended for intermediate React.js developers." - Siegfred Balona
⭐️⭐️⭐️⭐️⭐️ 5/5 stars: "This is a very good course for developers who are already familiar with React. It took me 4 days to complete the course. It covers many practical parts of Gatsby that can immediately be applied to real-world projects. I will definitely take more courses from Tom." - Ye Joo Park
⭐️⭐️⭐️⭐️⭐️ 5/5 stars: "The lecturer speaks in a clear and concise manner, the build up of the course is also good. I recommend that you learn about the essentials about Gatsby on beforehand as there are a lot of semi-advanced Gatsby techniques at play here (which is great learning about)." - Ole Ulrik Skipperud
Course Curriculum
- Before you begin this course
- Course introduction (2:03)
- Gatsby + Firebase as a Headless CMS overview (5:36)
- Creating the Gatsby book club project (1:56)
- Setting up the firebase project & creating example data (4:46)
- IMPORTANT! REQUIRED for next lecture: npm package changes
- Configuring Gatsby to connect to firebase (7:47)
- Uploading images to firebase cloud storage & referencing in the database (2:32)
- Rendering the book cover images in Gatsby (2:41)
- Styling the book cover within the BookItem component (2:56)
- Refactoring the rendering of the book cover images (5:23)
- Use gatsby-image and GraphQL to query for specific image resolutions (7:46)
- Refactoring gatsby-node.js and bookTemplate.js (7:42)
- Installing dependencies and initial setup (3:53)
- IMPORTANT! REQUIRED for next lecture: npm package changes
- Overview of boilerplate & starting to implement login with React hooks & context (6:37)
- Creating and hooking up the login form (9:12)
- Displaying user email and login & logout links (9:33)
- Cleaning up styling of the Header component (4:39)
- Updating how pages are rendered using gatsby-browser.js and gatsby-ssr.js (7:07)
- Creating Form, Input, & Button common components (6:06)
- Moving create profile to cloud functions (part 1) (8:12)
- Moving create profile to cloud functions (part 2) (2:42)
- Adding admin functionality to a user (3:46)
- Querying if user is admin from Gastby (4:31)
- Implementing create new author (part 1) (7:06)
- Implementing create new author (part 2) (2:49)
- Creating the add book page and querying authors (5:53)
- Creating the add book form (8:45)
- Create & implement the createBook firebase cloud function (7:56)
- Finishing touches to the create book form (3:25)
- FIX: Can't perform a React state update on an unmounted component (3:37)
Your instructor
Hey! My name's Tom. I've taught Gatsby with various integrations to over 2,000 students and counting. My aim with this course is to increase your value as a developer and to bring you up to speed with the proper way to use this stack.