Overview:
This template is designed to bootstrap a full stack application with pre-configured hosting, database, authentication, CI/CD, component library, state management, and form utilities. It aims to make opinionated choices about the development stack in order to quickly build a product that can handle a significant amount of traffic and users. The template requires a Firebase project, which can be started with their free tier.
Features:
- Opinionated choices: The template makes several opinionated choices about the development stack to speed up the development process.
- Firebase integration: The template integrates with Firebase for hosting, database (Firestore) with offline mode enabled, and authentication.
- Automated tests and deploys: The template includes CI tests that are configured out of the box. It also automates the deployment process to Firebase hosting using Github Actions.
Installation:
To use this template, follow these steps:
- Start your repo with this template.
- Configure your Firebase project by enabling all the Firebase services you want to use.
- Copy your Firebase config from the Firebase project settings and paste it into the
src/db/initFirebase.tsfile for the respective environment. - Set your Firebase project as the default in the
.firebasercfile. - To enable deploys to Firebase, create a Firebase Auth Token locally using the command
yarn firebase login:ci, and add the token to Github as a secret calledFIREBASE_TOKEN. - Open the file
.github/workflows/ci.ymland uncomment lines 25-30 to enable automatic CI tests and deploys to Firebase. - Run the command
yarn startto start the development server.
Summary:
This template provides a convenient way to bootstrap a full stack application with a pre-configured development stack, Firebase integration, and automated tests and deploys. It aims to speed up the development process and make opinionated choices to handle a significant amount of traffic and users.