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.