We need to establish a boilerplate for our Firebase Functions to streamline the deployment process to both staging and production environments. This will help ensure consistency, reduce errors, and improve the overall efficiency of our deployment workflow.
Key Points
[x] Create a Standardized Structure:
Set up a clear directory structure for Firebase Functions, including separate folders for different services (e.g., /v1/chat, /v1/search).
[X] Implement Virtual Environment:
Ensure that a Python virtual environment is created and configured correctly to manage dependencies.
[X] Requirements File:
Include a requirements.txt file that lists all necessary packages, including the Firebase Functions SDK and any other dependencies.
Firebase Configuration:
[X] Update the firebase.json file to specify the correct runtime (Python 3.10) and ensure all required APIs are enabled.
[X] Allow allusers to invoke firebase functions.
[x] need to disable this in future
[X] Documentation:
Update the README file to provide clear instructions on how to set up the environment, install dependencies, and deploy functions.
[X] Testing and Validation:
Ensure that the boilerplate is tested locally using the Firebase Emulator before deployment to staging env.
[X] Deployment Process:
Document the steps for deploying to both staging and production environments, including any necessary Firebase CLI commands.
Acceptance Criteria
A working boilerplate for Firebase Functions is established.
Documentation is updated to reflect the new setup process.
Successful deployment to both staging/dev environment is verified.
Additional Notes
This task aims to simplify the onboarding process for new developers and ensure that our deployment process is robust and reliable. Github Actions and deployment to production will follow soon.
Description
We need to establish a boilerplate for our Firebase Functions to streamline the deployment process to both staging and production environments. This will help ensure consistency, reduce errors, and improve the overall efficiency of our deployment workflow.
Key Points
Acceptance Criteria
Additional Notes
This task aims to simplify the onboarding process for new developers and ensure that our deployment process is robust and reliable. Github Actions and deployment to production will follow soon.
Useful links