diff --git a/.github/workflows/firebase-hosting-merge.yml b/.github/workflows/firebase-hosting-merge.yml new file mode 100644 index 000000000..e27f83f4f --- /dev/null +++ b/.github/workflows/firebase-hosting-merge.yml @@ -0,0 +1,19 @@ +# This file was auto-generated by the Firebase CLI +# https://github.com/firebase/firebase-tools + +name: Deploy to Firebase Hosting on merge +'on': + push: + branches: + - main +jobs: + build_and_deploy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: FirebaseExtended/action-hosting-deploy@v0 + with: + repoToken: '${{ secrets.GITHUB_TOKEN }}' + firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_UGC_SITE_DEV }}' + channelId: live + projectId: ugc-site-dev diff --git a/config/advocu.json b/config/advocu.json index d457a7bd9..926a7f799 100644 --- a/config/advocu.json +++ b/config/advocu.json @@ -1,3 +1,3 @@ { - "lastPullTime": 1691563173275 + "lastPullTime": 1692186156685 } \ No newline at end of file diff --git a/config/android/blogs/mastering-jetpack-compose-state-management-a-deep-dive-into-modern-ui-data-flow-8392e298e56.json b/config/android/blogs/mastering-jetpack-compose-state-management-a-deep-dive-into-modern-ui-data-flow-8392e298e56.json new file mode 100644 index 000000000..6371dd6c2 --- /dev/null +++ b/config/android/blogs/mastering-jetpack-compose-state-management-a-deep-dive-into-modern-ui-data-flow-8392e298e56.json @@ -0,0 +1,17 @@ +{ + "expertise": "INTERMEDIATE", + "version": 1, + "source": "medium", + "authorIds": [ + "iamjosephmj" + ], + "author": "Joseph James", + "title": "Mastering Jetpack Compose State Management: A Deep Dive into", + "link": "https://iamjosephmj.medium.com/mastering-jetpack-compose-state-management-a-deep-dive-into-modern-ui-data-flow-8392e298e56", + "tags": [ + "compose", + "modern-android-development", + "ui" + ], + "description": "Explore Jetpack Compose's state management and animations. Dive into State, MutableState, shared state via Composition Locals, and achieve fluid UI transitions with animated states. Packed with practical examples, this guide enhances your Compose UI mastery." +} diff --git a/config/android/blogs/navigating-hyrums-law-managing-changes-in-apis-in-android-app-development-3f2dff0d9df7.json b/config/android/blogs/navigating-hyrums-law-managing-changes-in-apis-in-android-app-development-3f2dff0d9df7.json new file mode 100644 index 000000000..1ecccd3eb --- /dev/null +++ b/config/android/blogs/navigating-hyrums-law-managing-changes-in-apis-in-android-app-development-3f2dff0d9df7.json @@ -0,0 +1,17 @@ +{ + "expertise": "ADVANCED", + "version": 1, + "source": "medium", + "authorIds": [ + "iamjosephmj" + ], + "author": "Joseph James", + "title": "Navigating Hyrum’s Law: Managing Changes in APIs in Android", + "link": "https://iamjosephmj.medium.com/navigating-hyrums-law-managing-changes-in-apis-in-android-app-development-3f2dff0d9df7", + "tags": [ + "architecture", + "kotlin", + "modern-android-development" + ], + "description": "In software development, APIs enable seamless communication between app components. As the number of users grows, Hyrum's Law applies. This post explores its implications and best practices for managing API changes in Android app development." +} diff --git a/config/android/repos/ErfanSn-AR-Touch.json b/config/android/repos/ErfanSn-AR-Touch.json new file mode 100644 index 000000000..deae52ca4 --- /dev/null +++ b/config/android/repos/ErfanSn-AR-Touch.json @@ -0,0 +1,20 @@ +{ + "expertise": "ADVANCED", + "version": 1, + "source": "github", + "authorIds": [ + "erfansn" + ], + "owner": "ErfanSn", + "repo": "AR-Touch", + "name": "AR Touch", + "shortDescription": "Obtain the power of touchless interaction! Being able to effortlessly navigate and interact with various screen displays without any physical contact, is what this project brings you.", + "longDescription": "Obtain the power of touchless interaction! Being able to effortlessly navigate and interact with various screen displays without any physical contact, is what this project brings you.", + "content": "README.md", + "pages": [], + "tags": [ + "compose", + "architecture", + "modern-android-development" + ] +} diff --git a/config/android/repos/mirzemehdi-quotesapp.json b/config/android/repos/mirzemehdi-quotesapp.json new file mode 100644 index 000000000..af7c7b418 --- /dev/null +++ b/config/android/repos/mirzemehdi-quotesapp.json @@ -0,0 +1,20 @@ +{ + "expertise": "BEGINNER", + "version": 1, + "source": "github", + "authorIds": [ + "mirzemehdi" + ], + "owner": "mirzemehdi", + "repo": "quotesapp", + "name": "QuotesApp - Multiplatform (Android, iOS, Desktop)", + "shortDescription": "Quotes app targets Android, iOS and Desktop platforms, and is developed using only Kotlin language (even for UI) using modularization and TDD.", + "longDescription": "Quotes app targets Android, iOS and Desktop platforms, and is developed using only Kotlin language (even for UI) using modularization and TDD.", + "content": "README.md", + "pages": [], + "tags": [ + "modern-android-development", + "kotlin", + "compose" + ] +} diff --git a/config/android/repos/seyoungcho2-FilledSliderCompose.json b/config/android/repos/seyoungcho2-FilledSliderCompose.json new file mode 100644 index 000000000..4e8f90b3a --- /dev/null +++ b/config/android/repos/seyoungcho2-FilledSliderCompose.json @@ -0,0 +1,19 @@ +{ + "expertise": "INTERMEDIATE", + "version": 1, + "source": "github", + "authorIds": [ + "seyoungcho2" + ], + "owner": "seyoungcho2", + "repo": "FilledSliderCompose", + "name": "FilledSliderCompose", + "shortDescription": "FilledSlider is a customizable slider component built with Jetpack Compose, featuring a visually appealing filled track. It offers smooth and precise control over various settings.", + "longDescription": "FilledSlider is a customizable slider component built with Jetpack Compose, featuring a visually appealing filled track. It offers smooth and precise control over various settings.", + "content": "README.md", + "pages": [], + "tags": [ + "compose", + "ui" + ] +} diff --git a/config/authors/aditya.json b/config/authors/aditya.json deleted file mode 100644 index 0fae9186f..000000000 --- a/config/authors/aditya.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "Aditya Mukherjee", - "bio": "", - "photoURL": "https://miro.medium.com/max/512/0*MsfAhnwY14_zoXcd.png", - "mediumURL": "https://medium.com/@aditya" -} diff --git a/config/authors/bachiirc.json b/config/authors/bachiirc.json index a65bc1d0a..b8ce7d7df 100644 --- a/config/authors/bachiirc.json +++ b/config/authors/bachiirc.json @@ -1,5 +1,5 @@ { - "name": "Bachir", + "name": "Bachir Chihani", "bio": "Ph.D., Data and ML,", "photoURL": "https://twitter.com/bachiirc/photo", "mediumURL": "https://twitter.com/bachiirc" diff --git a/config/authors/erfansn.json b/config/authors/erfansn.json new file mode 100644 index 000000000..228763b66 --- /dev/null +++ b/config/authors/erfansn.json @@ -0,0 +1,6 @@ +{ + "name": "Erfan Sn", + "bio": "A developer of mixed things, but mostly an Android developer", + "photoURL": "https://avatars.githubusercontent.com/ErfanSn", + "githubURL": "https://github.com/ErfanSn" +} diff --git a/config/cloud/blogs/2023-05-14-elastic-gcp-deployment.json b/config/cloud/blogs/2023-05-14-elastic-gcp-deployment.json index 9834dab7b..87b28ec3b 100644 --- a/config/cloud/blogs/2023-05-14-elastic-gcp-deployment.json +++ b/config/cloud/blogs/2023-05-14-elastic-gcp-deployment.json @@ -3,7 +3,7 @@ "version": 1, "source": "other", "authorIds": ["bachiirc"], - "author": "Bachr Chi", + "author": "Bachir Chihani", "title": "Deploy Elasticsearch on GCP using Terraform", "link": "https://dzlab.github.io/2023/05/14/elastic-gcp-deployment/", "tags": [ diff --git a/config/cloud/blogs/2023-08-04-meeting_minutes_gcp.json b/config/cloud/blogs/2023-08-04-meeting_minutes_gcp.json index e1bdf618c..f2593a3e7 100644 --- a/config/cloud/blogs/2023-08-04-meeting_minutes_gcp.json +++ b/config/cloud/blogs/2023-08-04-meeting_minutes_gcp.json @@ -3,7 +3,7 @@ "version": 1, "source": "other", "authorIds": ["bachiirc"], - "author": "Bachr Chi", + "author": "Bachir Chihani", "title": "Meeting minutes generator on GCP with Vertex AI and Cloud Run", "link": "https://dzlab.github.io/2023/08/04/meeting_minutes_gcp/", "tags": [ diff --git a/config/cloud/blogs/2023-08-07-meeting_minutes_gcp_serverless.json b/config/cloud/blogs/2023-08-07-meeting_minutes_gcp_serverless.json new file mode 100644 index 000000000..d6166f842 --- /dev/null +++ b/config/cloud/blogs/2023-08-07-meeting_minutes_gcp_serverless.json @@ -0,0 +1,15 @@ +{ + "expertise": "INTERMEDIATE", + "version": 1, + "source": "other", + "authorIds": ["bachiirc"], + "author": "Bachir Chihani", + "title": "Serverless Meeting minutes generator on GCP with Vertex AI and Cloud Functions", + "link": "https://dzlab.github.io/2023/08/07/meeting_minutes_gcp_serverless/", + "tags": [ + "ai-ml", + "serverless-computing", + "storage" + ], + "description": "Learn how to create a Serverless meeting minutes generator on GCP with Vertex AI (Chirp and PaLM) Cloud Functions and PubSub" +} diff --git a/config/cloud/blogs/let-bard-answer-your-questions-from-google-sheets-with-the-palm-api-and-google-apps-script-3867e4680c0f.json b/config/cloud/blogs/let-bard-answer-your-questions-from-google-sheets-with-the-palm-api-and-google-apps-script-3867e4680c0f.json new file mode 100644 index 000000000..fa2efb162 --- /dev/null +++ b/config/cloud/blogs/let-bard-answer-your-questions-from-google-sheets-with-the-palm-api-and-google-apps-script-3867e4680c0f.json @@ -0,0 +1,17 @@ +{ + "expertise": "BEGINNER", + "version": 1, + "source": "medium", + "authorIds": [ + "aryanirani123" + ], + "author": "Aryan Irani", + "title": "Integrate Google Bard in your Google Sheets", + "link": "https://aryanirani123.medium.com/let-bard-answer-your-questions-from-google-sheets-with-the-palm-api-and-google-apps-script-3867e4680c0f", + "tags": [ + "api-management", + "developer-tools", + "ai-ml" + ], + "description": "In this blog we will be taking a look at how we can integrate Google Bard inside of your Google Sheets using the PaLM API and Google Apps Script." +} diff --git a/config/flutter/repos/AhsanAyaz-flutter_contacts_list.json b/config/flutter/repos/AhsanAyaz-flutter_contacts_list.json new file mode 100644 index 000000000..3da4f5cb1 --- /dev/null +++ b/config/flutter/repos/AhsanAyaz-flutter_contacts_list.json @@ -0,0 +1,20 @@ +{ + "expertise": "INTERMEDIATE", + "version": 1, + "source": "github", + "authorIds": [ + "ahsanayaz" + ], + "owner": "AhsanAyaz", + "repo": "flutter_contacts_list", + "name": "Flutter Contacts List", + "shortDescription": "A new Flutter project to demonstrate how to implement a Contacts List via contacts_service package and how to search within that list using name or number.", + "longDescription": "A new Flutter project to demonstrate how to implement a Contacts List via contacts_service package and how to search within that list using name or number.", + "content": "README.md", + "pages": [], + "tags": [ + "demos", + "getting-started", + "samples" + ] +}