rsnext/examples/with-firebase
mikan3rd 9ca1f39f75
with-firebase example for SSR (#16070)
I couldn't find an example when creating an SSR page using firebase's firestore data, so I improved the example based on the actual app I created

My sample app: https://github.com/mikan3rd/commitly
2020-11-24 19:57:23 +00:00
..
context fix typo (#17653) 2020-10-06 15:31:40 +00:00
fetchData with-firebase example for SSR (#16070) 2020-11-24 19:57:23 +00:00
firebase with-firebase example for SSR (#16070) 2020-11-24 19:57:23 +00:00
pages with-firebase example for SSR (#16070) 2020-11-24 19:57:23 +00:00
public Rename ZEIT to Vercel (#12075) 2020-04-21 11:47:12 +02:00
.env.local.example with-firebase example for SSR (#16070) 2020-11-24 19:57:23 +00:00
.gitignore Added .gitignore to examples that are deployed to vercel (#15127) 2020-07-16 10:52:23 -04:00
package.json with-firebase example for SSR (#16070) 2020-11-24 19:57:23 +00:00
README.md with-firebase example for SSR (#16070) 2020-11-24 19:57:23 +00:00
vercel.json Update instances of Now to Vercel where applicable (#13760) 2020-06-04 14:57:17 +00:00

Firebase Example

This is a simple set up for Firebase for client side applications.

The firebase app is initialized in firebase/clientApp.js, to use you just have to import it anywhere in the app

The React Context API is used to provide user state.

Deploy your own

Deploy the example using Vercel:

Deploy with Vercel

How to use

Execute create-next-app with npm or Yarn to bootstrap the example:

npx create-next-app --example with-firebase with-firebase-app
# or
yarn create next-app --example with-firebase with-firebase-app

Configuration

  1. Create a Firebase project and add a new app to it.
  2. Create a .env.local file and copy the contents of .env.local.example into it:
cp .env.local.example .env.local
  1. Set each variable on .env.local with your Firebase Configuration (found in "Project settings").

  2. If you want to check the SSR page, get your account credentials from the Firebase console at Project settings > Service accounts, where you can click on Generate new private key and download the credentials as a json file. Then set FIREBASE_CLIENT_EMAIL and FIREBASE_PRIVATE_KEY in .env.local

Deploy on Vercel

You can deploy this app to the cloud with Vercel (Documentation).

Deploy Your Local Project

To deploy your local project to Vercel, push it to GitHub/GitLab/Bitbucket and import to Vercel.

Important: When you import your project on Vercel, make sure to click on Environment Variables and set them to match your .env.local file.