rwa-trivia app
See it in action:
- On the web - https://bitwiser.io
- App Store - https://itunes.apple.com/us/app/bitwiser-trivia/id1447244501?mt=8
- Google Play - https://play.google.com/store/apps/details?id=io.bitwiser.trivia
This is part of building a new app for my series - Real World Angular @ https://blog.realworldfullstack.io/
Part 1: Not another todo list app
Part 6: 3Rs ... Rules, Roles & Routes
Part 6.1: Upgrading to 4.0.0-rc.2
Part 7: Split my lazy loaded code
Part 9.2: Even More Unit Tests
Part 11: Gameplay with Angular
Part 12: Cloud Functions for Firebase
Part 13: Elasticsearch on Google Cloud with Firebase functions
Part 14: Faceted search with Elasticsearch and Angular Material data-table
Part 15: Incorporate Material UI design into the app
Part 16: Migrating from Firebase to Firestore
Part 17: Bulk upload and User profile settings using firebase cloud storage
Part 19: Ready Player Two - Two player game play, computing stats, dashboard and other features
Part 20: Angular, ngrx & cli version 6 - Upgrading Angular, cli, ngrx, material & RxJS to version 6
Part 21: Service Workers (Progressive Web App) with Angular
Part 22: Angular Testing with Protractor, Jasmine and Jest
Part 23: Server side rendering with Angular universal
Part 25-a: NativeScript, Angular and Firebase
Quick Installation Instructions
- Install cli globally (version should match the one in package.json)
npm install -g @angular/[email protected]
- Install npm packages
npm install
-
Setup your firebase instance @ https://firebase.google.com/
-
Setup providers in Firebase Authentication
-
Use the firebase configuration information and plug it in src/environment.ts
-
Import src/db.json to your firebase database instance to get the initial set of test data
-
Run the application using ng serve
ng serve
-
Add yourself as a user using the application. Ensure you are added as a user in Authentication tab of firebase console.
-
Add your user id as an admin in the firebase database (admins need to be added manually) -
Set: users/<user id>/roles/admin: true
-
Use firebase-rules.json file to setup the firebase rules for your database
-
Serve the application again. Ensure you have admin privileges
ng serve
Deploy to Firebase Server
- Install firebase tools globally
npm install -g firebase-tools
- Authenticate with your firebase credentials
firebase login
- Setup firebase hosting configuration for the application, using "dist" instead of public as the public folder name
firebase init
- Create a build
ng build
- Serve up the app using firebase server locally
firebase serve
- Deploy Site to firebase
firebase deploy --only hosting
- Setup firebase functions - creates functions folder and installs dependencies
firebase init
- Deploy functions to firebase
npm run deploy-functions
Testing
- Test the application using
ng test