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 14:20] – hibaa | ixc2024:tech:tools:backendoftheapplication [2024/05/27 18:55] (current) – hibaa | ||
|---|---|---|---|
| Line 113: | Line 113: | ||
| npm -v | npm -v | ||
| - | **Create Express.js NodeJS Backend** | + | -> **Create Express.js NodeJS Backend** |
| * Initialize a new nodejs project | * Initialize a new nodejs project | ||
| Line 136: | Line 136: | ||
| - | **Install GCP CLI** | + | -> **Install GCP CLI** |
| - | - Navigate to the root directory of your Node app in the terminal. | + | - Make sure that you are in the root directoryyour |
| - | - Install the Google Cloud SDK following the instructions at [[https:// | + | - Install the Google Cloud SDK following the instructions at [[https:// |
| - | - Authenticate the Google Cloud SDK by running **‘gcloud auth login’** | + | - Go back to your Command Prompt and enter the numeric choice associated |
| - | - Set the project ID by running **‘gcloud config set project PROJECT_ID’**, | + | |
| - | **Set-Up Service Account** | + | -> **Set-Up Service Account** |
| - | - Go to the [[https:// | + | - Go back to your cloud console through |
| - | - Navigate to IAM & Admin → Service Accounts. | + | - Navigate |
| - | - 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 198: | 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 258: | 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 270: | 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==== | ||