This is a back-end development stack that uses Firebase and GraphQL with the magic of TypeScript.
How to Install
- git clone https://github.com/MadnessLabs/FireEnjinGraphQL
- npm install
- Download Service Account JSON from Firebase Project Settings and put it as service-account.json in the root. (See GIF below.)
How to Play
Delete the dist folder and run TypeScript compiler to build project.
Delete the dist folder, run TypeScript compiler, and generate Firebase Functions index with RESTful API.
Delete the dist folder.
Generate typings and StencilJS components from models and queries.
Copy files from env folder and overwrite specific files per environment.
Deploy your GraphQL instance to Google Cloud.
Deploy your triggers (Cloud Functions) to Firebase.
Run linting on TypeScript files.
Run migrations that haven't already ran from src/migrations folder.
Build a release of the backend, typings, and Stencil components.
Deploy seeds from src/seeds to firestore collections.
Copy down data from firestore collections to src/seeds.
Serve the project via a local web server and watch for changes to reload.
This is a alias for the serve command
This will run tests via jest.
This will run a watcher on all your tests
Where to Next
Below is a link to a Notion note where we are actively working on fleshing out this full-stack structure to make building a project simpler. Any feedback is welcomed, please send us an email to info@MadnessLabs.net or find us on Twitter @MadnessLabs.