fullstrapp

0.9.1 • Public • Published

Deprecated

I've turned this into a github template https://github.com/eddedd88/react-firebase-template


fullstrapp

Bootstrap a scalable full stack application with pre-configured: hosting, database, authentication, analytics, CI, CD, code templates, and issue templates.

This project tries to make as many opinionated choices as possible about the dev stack in order to quickly build a product that could sustain a significant amount of traffic/users.

Tech Stack:

  • React front-end framework
  • Firebase for Hosting, Database (Firestore), Authentication, and Analytics
  • Github Actions to automate tests and deploys
  • create-react-app as a starting project which provides: testing (jest), linting and building
  • material-ui component library
  • Typescript for type checking

Take a look at this demo app created with fullstrapp

Table of Contents

Getting Started

1. Install and create app

yarn global add fullstrapp

fullstrapp myapp

2. Setup Firebase

  • Make sure you have enabled Firebase Analytics & Authentication in your project
  • Copy your firebase config located at Firebase Project > Project Settings > Firebase SDK snippet > Config
  • Paste the firebase config to src/firebase/firebase.ts for the respective environment
  • Set your Firebase Project as default at .firebaserc

3. Setup Github CI/CD to automate deploys

CI tests are configured out of the box, but to enable deploys to Firebase do the following:

  • Add firebase tools: yarn global add firebase-tools
  • Create a Firebase Auth Token locally: firebase login:ci
  • Add the Firebase token to Github as a secret called FIREBASE_TOKEN. You can add secrets at Github Project > Settings > Secrets.
  • Open the file .github/workflows/ci.yml and uncomment the lines 51-56

Every time a commit is pushed to github, Github will automatically run the CI tests; and every time there is a push to master Github will deploy the new version to Firebase. See the ci workflow in .github/workflows/ci.yml for more details.

Goals & Strategy

  • To launch an MVP as fast as possible by using tools and templates to advance the MVP as further as possible with the least amount of work. Basically bootstrap the back-end and front-end of an app.

  • To iterate on features quickly by automating as many things as possible (tests, builds and deploys). The CI cycles should take less than 5 minutes

  • To be affordable for the hobbyist developer: free until meaningful traction

Package Sidebar

Install

npm i fullstrapp

Weekly Downloads

14

Version

0.9.1

License

MIT

Unpacked Size

49.1 kB

Total Files

60

Last publish

Collaborators

  • eddedd