meta data for this page
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
ixc2024:tech:tools:backendoftheapplication [2024/05/27 15:18] – hibaa | ixc2024:tech:tools:backendoftheapplication [2024/05/27 18:55] (current) – hibaa | ||
---|---|---|---|
Line 146: | Line 146: | ||
- Click on **Create Service Account**. | - Click on **Create Service Account**. | ||
- Provide an appropriate name and description for the service account. For instance, use github-ci-cd as it will be utilized for Github CI/CD. | - Provide an appropriate name and description for the service account. For instance, use github-ci-cd as it will be utilized for Github CI/CD. | ||
- | - Assign | + | - Click **Continue** on the 2nd step without needing to modify any default information |
- | * App Engine Admin | + | - Click on **Done** |
- | | + | - Scroll down to the service accounts available, click on the three dots of the one you just created |
- | | + | - Scroll, |
- | | + | - Choose the JSON key type and securely download it. Remember, this key grants access to Google Cloud resources, so keep it safely saved. |
- | - Click the three dots and select Manage keys. | + | |
- | - Click on Add Key → Create New Key. | + | |
- | - Choose the JSON key type and securely download it. Remember, this key grants access to Google Cloud resources, so keep it safe. | + | |
== Version Control == | == Version Control == | ||
- | **Using GitHub** | + | -> **Using GitHub** |
- | | + | |
- | + | | |
- | | + | |
- | + | - Go to your Command Pronpmt an run **'git init' | |
- | git remote add origin https://< | + | - Go back to your created Github Repository, scroll down to **…or push an existing repository from the command line**, and copy the code displayed in your Command Prompt |
- | git branch -M main | + | |
- | git push -u origin main | + | |
- | + | ||
- | Please remember | + | |
==Integrating Firebase Authentication WIth Our API Service== | ==Integrating Firebase Authentication WIth Our API Service== | ||
- | **Install Firebase Admin SDK** | + | -> **Install Firebase Admin SDK** |
- | Install the firebase-admin plugin from npm | + | Install the firebase-admin plugin from npm in your Command Prompt |
npm install firebase-admin | npm install firebase-admin | ||
- | **Initialize Firebase Admin SDK** | + | -> **Initialize Firebase Admin SDK** |
- | Create | + | In Visual Studio, open the folder you have been working on (In this example it is Waste-Backend), |
const admin = require(' | const admin = require(' | ||
Line 197: | Line 190: | ||
| | ||
- | **Creating Express.js Server with Authentication Endpoints** | + | -> **Creating Express.js Server with Authentication Endpoints** |
Create a file named index.js in your projects root directory and enter the code below: | Create a file named index.js in your projects root directory and enter the code below: | ||
Line 257: | Line 250: | ||
This will allow you to create endpoints that can be used by the frontend to send or access data. The following URLs can be used to access the different endpoints. | This will allow you to create endpoints that can be used by the frontend to send or access data. The following URLs can be used to access the different endpoints. | ||
- | -> Additional resources on how to use firebase authentication with your backend and frontend can be found in the // | + | __Note: |
==Deploying API Service to Google Cloud == | ==Deploying API Service to Google Cloud == | ||
- | **Create app.yaml** | + | -> **Create app.yaml** |
To deploy the app we need to create a configuration file in our project' | To deploy the app we need to create a configuration file in our project' | ||
Line 269: | Line 262: | ||
# [START app_yaml] | # [START app_yaml] | ||
| | ||
- | service: node-express-api | + | entrypoint: node index.js |
# [END app_yaml] | # [END app_yaml] | ||
- | **Explanation of the Configuration:** | + | __Notes:__ |
* runtime: Specifies the runtime environment (e.g., nodejs20) | * runtime: Specifies the runtime environment (e.g., nodejs20) | ||
* service: Defines the service name, typically a project-specific prefix or subdomain. | * service: Defines the service name, typically a project-specific prefix or subdomain. | ||
+ | * entrypoint: By default App Engine expects server.js as the entry point but if your app uses anything else then you specify that here. | ||
- | **Deploy your App Locally** | + | -> **Deploy your App Locally** |
- | Deploy your Node app by executing the command in root directory of your project | + | - Close your command prompt and open it again |
+ | - Run **' | ||
+ | - Navigate to your project folder **'cd waste-backend' | ||
+ | - Run the command **' | ||
+ | - Select **' | ||
+ | - Select the email account that you are using in your Cloud Console to perform operations for this configuration | ||
+ | - Pick the number allocated to your project | ||
+ | - Deploy your Node app by executing the command in root directory of your project | ||
| | ||
+ | |||
+ | 5. Choose a region where you want your App Engine Application to be located | ||
====Additional Resources==== | ====Additional Resources==== |