Starter project for firebase web with React, Chakra UI and auth pages added

Overview

Firebase React Chakra UI Starter

A starter project for Firebase web.

Installation

Clone the repository

git clone [email protected]:stephenbaidu/firebase-react-chakra-ui-starter.git

Rename the directory if you want

mv firebase-react-chakra-ui-starter my-firebase-app

Go to the directory (cd if renamed above)

cd firebase-react-chakra-ui-starter

Rename the git remote url to your remote url

git remote set-url origin [email protected]:<YOUR USERNAME>/<YOUR REPO NAME>.git

Install npm modules

npm install --prefix ./functions
yarn --cwd ./hosting install

Add .env.local with following content

REACT_APP_FIREBASE_APIKEY=<from firebase config>
REACT_APP_FIREBASE_AUTHDOMAIN=<from firebase config>
REACT_APP_FIREBASE_DATABASEURL=<from firebase config>
REACT_APP_FIREBASE_PROJECTID=<from firebase config>
REACT_APP_FIREBASE_STORAGEBUCKET=<from firebase config>
REACT_APP_FIREBASE_MESSAGINGSENDERID=<from firebase config>
REACT_APP_FIREBASE_APPID=<from firebase config>
REACT_APP_FIREBASE_MEASUREMENTID=<from firebase config>

To complete deployment to firebase via Github actions, add the following Secrets to your reposity on Github:

FIREBASE_TOKEN (get this via "firebase login:ci")
REACT_APP_FIREBASE_APIKEY
REACT_APP_FIREBASE_APPID
REACT_APP_FIREBASE_AUTHDOMAIN
REACT_APP_FIREBASE_MEASUREMENTID
REACT_APP_FIREBASE_MESSAGINGSENDERID
REACT_APP_FIREBASE_PROJECTID
REACT_APP_FIREBASE_STORAGEBUCKET

Finally, push to your remote repository

git push origin master

Project Structure

  • .github (contains github workflows) Github Actions
  • functions (contains your cloud functions)
  • hosting (contains your react app)

Here is the tree:

├── .github
│   ├── workflows
│   │   ├── functions.yml
│   │   └── hosting.yml
├── functions
│   ├── package.json
│   ├── src
│   │   ├── common
│   │   │   ├── db.ts
│   │   │   └── types.ts
│   │   ├── fn
│   │   │   ├── auth
│   │   │   │   └── user_on_create_fn.ts
│   │   │   ├── common.ts
│   │   │   └── http
│   │   │       └── hello_world.ts
│   │   └── index.ts
│   ├── tsconfig.json
│   └── tslint.json
├── hosting
│   ├── README.md
│   ├── package.json
│   ├── public
│   │   ├── favicon.ico
│   │   ├── index.html
│   │   ├── logo192.png
│   │   ├── logo512.png
│   │   ├── manifest.json
│   │   └── robots.txt
│   ├── src
│   │   ├── App.tsx
│   │   ├── auth
│   │   │   ├── AuthProvider.tsx
│   │   │   ├── authContext.ts
│   │   │   ├── createUserWithEmail.ts
│   │   │   ├── index.ts
│   │   │   ├── loginAnonymously.ts
│   │   │   ├── loginWithEmail.ts
│   │   │   ├── loginWithGoogle.ts
│   │   │   ├── signOut.ts
│   │   │   └── useSession.ts
│   │   ├── background.png
│   │   ├── components
│   │   │   ├── BrandingPane.tsx
│   │   │   ├── CenteredMiddleBox.tsx
│   │   │   ├── ColorModeSwitcher.tsx
│   │   │   ├── FullPageBox.tsx
│   │   │   ├── LoginPane.tsx
│   │   │   ├── Logo.tsx
│   │   │   ├── PasswordInput.tsx
│   │   │   ├── SignupPane.tsx
│   │   │   ├── TermsAndPrivacyText.tsx
│   │   │   ├── TextDivider.tsx
│   │   │   └── index.ts
│   │   ├── firebase
│   │   │   ├── config.js
│   │   │   └── index.ts
│   │   ├── hooks
│   │   │   ├── index.js
│   │   │   ├── useError.ts
│   │   │   └── useWindowDimensions.ts
│   │   ├── index.css
│   │   ├── index.tsx
│   │   ├── logo.svg
│   │   ├── react-app-env.d.ts
│   │   ├── reportWebVitals.ts
│   │   ├── routes
│   │   │   ├── Index.tsx
│   │   │   ├── auth
│   │   │   │   └── Index.tsx
│   │   │   ├── dashboard
│   │   │   │   └── Index.tsx
│   │   │   ├── login
│   │   │   │   └── Index.tsx
│   │   │   └── signup
│   │   │       └── Index.tsx
│   │   ├── setupTests.ts
│   │   ├── theme.ts
│   │   └── utils.ts
│   ├── tsconfig.json
│   └── yarn.lock
├── .firebaserc
├── .gitignore
├── firebase.json
├── firestore.indexes.json
├── firestore.rules
├── README.md

Auth page

Screen Shot 2021-07-21 at 3 03 21 AM

You might also like...
Kontenbase: create backend API, auth, and storage in less than 1 minute without coding
Kontenbase: create backend API, auth, and storage in less than 1 minute without coding

No Code Backend API, Fast and Easy! Kontenbase allows you to easily create backe

Boilerplate app for full-stack MERN app with Create React App client toolchain. Uses JWT for auth.

Boilerplate app for full-stack MERN app with Create React App client tool chain. Includes React, JWT authentication, Mongoose/MongoDB, Apollo Server/Client, and ExpressJS.

NestJS boilerplate. Auth, TypeORM, Postgres, Docker. React, Webpack, Monorepo

NestJS boilerplate. Auth, TypeORM, Postgres, Docker. React, Webpack, Monorepo

Boilerplate in typescript with : Next / Next-Auth / Siwe / Web3modal / useDapp / next-i18n / reactMUI

Boilerplate in typescript with : Next / Next-Auth / Siwe / Web3modal / useDapp / next-i18n / reactMUI

multi pages application for react + craco

multi pages application for react + craco

A starter project for web 3 apps

Web3 Starter Web 3 Starter is a modern web 3 starter template project. Here's the full stack of frameworks/libraries used: Next.js React TailwindCSS f

A starter project for web 3 apps

Web3 Starter Web 3 Starter is a modern web 3 starter template project. Here's the full stack of frameworks/libraries used: Next.js React TailwindCSS f

React Package Starter - a simple and slightly opinionated starter kit for developing and publishing React packages

React Package Starter This is a simple and slightly opinionated starter kit for developing and publishing React packages. It comes with a several pre-

Nextjs-ts-mui5-scss-storybook-starter - Next.js + TypeScript + Material UI v5 + Sass + Storybook starter
Nextjs-ts-mui5-scss-storybook-starter - Next.js + TypeScript + Material UI v5 + Sass + Storybook starter

nextjs-ts-mui5-scss-storybook-starter 📕 Next.js + TypeScript + Material UI v5 +

Owner
Stephen Baidu
Stephen Baidu
Ts-next-chakra-motion-kit - Starter kit with Next.js, Chakra-UI, Framer-Motion in Typescript

Typescript Next.js Chakra-UI Framer-Motion Starter Kit Start with a powerful tem

Alexandre Gossard 39 Oct 14, 2022
Gh-pages-react-demo - A guide for hosting a react app on GitHub Pages

gh-pages-react-demo A guide for hosting a react app on GitHub Pages Create a rea

AussieDev81 1 Jan 28, 2022
Vision-ui-dashboard-chakra - An Innovative Admin Template for Chakra UI and React

Vision UI Free Chakra Most trendiest, complex and innovative Free Chakra UI Dash

Creative Tim 121 Dec 29, 2022
Nextjs-chakra-navigation-example - NextJS with chakra-ui responsive nav example

nextjs-chakra-navigation-example I looked at how to implement navigation in next

Sandy Marko Knauer 1 Sep 6, 2022
Starter Antd 4.0 Admin App Mern( Node.js / React / Redux / Ant Design ) Crud & Auth , Dashboard

Starter Antd Admin (Crud & auth) Mern App (Express.js / React / Redux / MongoDB) App built for DigitalOcean MongoDB Hackathon CRM Starter Mern Antd Ad

Salah Eddine Lalami 208 Jan 8, 2023
Chakra UI component library starter template

Chakra Library ✨ ?? Chakra UI component library starter template. Fast builds with Vite ⚡ Pre-configured Storybook ?? Create release at GitHub or GitL

tundera 6 May 23, 2022
Starter Kit ReactJs + Typescript + Chakra-UI + AuthContext

This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: yarn start Runs the app in the developme

Leonardo Frasson 1 Dec 8, 2021
Starter Next.js template with chakra UI

Starter Next.js template with chakra UI Got tired of always starting projects from scratch. hopefully this helps.

Boluwatife Oluwaseyi Abiola 9 Aug 30, 2022
A growing collection of responsive Chakra UI Templates ready to drop into your React project.

A growing collection of responsive Chakra UI Templates ready to drop into your React project.

Achim Rolle 1.2k Jan 2, 2023
This project was bootstrapped with Chakra UI & Create React App

Getting Started with Create React App This project was bootstrapped with Chakra UI & Create React App. ScreenShots Available Scripts In the project di

Pawan Kumar 51 Dec 11, 2022