Deployment
Firebase Hosting
To deploy your application, you need to use Firebase Hosting.
Deploying to Firebase Hosting
- Run
npm run deploy
. - This will build your application, push it to Firebase Hosting, and make it accessible at your Firebase-assigned URL.
Important Note:
If you modify the Firebase database rules in the Firebase console, remember to update the database.rules.json
file in the project. This is essential because deploying to Firebase Hosting overwrites the database rules with the ones defined in your database.rules.json
file. If you don’t do this, your database rule changes made in the Firebase console will be overwritten. README.md
Firebase Setup
Before you deploy, make sure you have Firebase CLI installed and configured. You need to log in and select the correct Firebase project. audience-app/package.json
Deploying the Audience App
- Use
npm run use:project
to ensure the correct Firebase project is used for deployment. - Run
npm run deploy
to deploy the application to Firebase Hosting.
Deploying the Presenter App
- Run
npm run deploy
to deploy the application to Firebase Hosting.
Resetting and Deploying
You can reset the database and deploy the entire project with npm run deployReset
. This will deploy both the audience-app
and presenter-app
, setting the database to its default state. audience-app/package.json
Audience App: audience-app/README.md
Presenter App: presenter-app/README.md
## Top-Level Directory Explanations
<a class='local-link directory-link' data-ref="audience-app/" href="#audience-app/">audience-app/</a> - This directory contains the files for the audience-facing part of the application. It includes HTML files for different pages, static assets like images, and configuration files for Firebase and npm.
<a class='local-link directory-link' data-ref="audience-app/public/" href="#audience-app/public/">audience-app/public/</a> - This subdirectory holds the publicly accessible files of the audience app. It includes HTML files for specific pages, images, and other static assets.
<a class='local-link directory-link' data-ref="presenter-app/" href="#presenter-app/">presenter-app/</a> - This directory contains the files for the presenter-facing part of the application. It includes source code, static assets, and configuration files.
<a class='local-link directory-link' data-ref="presenter-app/build/" href="#presenter-app/build/">presenter-app/build/</a> - This subdirectory holds the compiled and bundled files for the presenter app. It includes HTML, CSS, JavaScript, and image files.
<a class='local-link directory-link' data-ref="presenter-app/src/" href="#presenter-app/src/">presenter-app/src/</a> - This subdirectory contains the source code for the presenter app. It includes components, controllers, routes, styles, and utility functions.
<a class='local-link directory-link' data-ref="presenter-app/tests/" href="#presenter-app/tests/">presenter-app/tests/</a> - This subdirectory contains test files for the presenter app. It includes mocks, controllers, and declarations.