{"id":13616192,"url":"https://github.com/IBM/BluePic","last_synced_at":"2025-04-14T00:31:59.779Z","repository":{"id":66064551,"uuid":"56264636","full_name":"IBM/BluePic","owner":"IBM","description":"WARNING: This repository is no longer maintained :warning: This repository will not be updated. The repository will be kept available in read-only mode.","archived":true,"fork":false,"pushed_at":"2019-05-22T23:46:12.000Z","size":123259,"stargazers_count":325,"open_issues_count":27,"forks_count":67,"subscribers_count":34,"default_branch":"master","last_synced_at":"2024-08-02T20:48:02.698Z","etag":null,"topics":["bluemix-service","ibm-cloud","ibmcode","kitura","patterns","swift"],"latest_commit_sha":null,"homepage":"https://developer.ibm.com/code/patterns","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/IBM.png","metadata":{"files":{"readme":"README-cn.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2016-04-14T19:30:22.000Z","updated_at":"2024-02-29T15:43:01.000Z","dependencies_parsed_at":"2023-02-21T02:15:14.341Z","dependency_job_id":null,"html_url":"https://github.com/IBM/BluePic","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IBM%2FBluePic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IBM%2FBluePic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IBM%2FBluePic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IBM%2FBluePic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/IBM","download_url":"https://codeload.github.com/IBM/BluePic/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223611829,"owners_count":17173522,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bluemix-service","ibm-cloud","ibmcode","kitura","patterns","swift"],"created_at":"2024-08-01T20:01:24.937Z","updated_at":"2024-11-08T00:30:57.379Z","avatar_url":"https://github.com/IBM.png","language":"Swift","readme":"# BluePic\n\n*阅读本资料的其他语言版本：[English](README.md).*\n\n[![构建状态 - 主页](https://travis-ci.org/IBM/BluePic.svg?branch=master)](https://travis-ci.org/IBM/BluePic)\n\nBluePic 是一个照片和图像分享样本应用程序，使您能够拍摄照片并将其分享给其他 BluePic 用户。此样本应用程序演示了如何在移动 iOS 10 应用程序中，使用以 Swift 编写的基于 Kitura 的服务器应用程序。\n\nBluePic 在典型的 iOS 客户端设置中，以及在使用全新 Swift Web 框架和 Kitura (HTTP Server) 的服务器端均可使用 Swift。Bluepic 比较有趣的一个方面是它在服务器上处理照片的方式。发布照片时，其数据记录在 Cloudant 中，而图像二进制文件则存储在 Object Storage 中。在那里，将调用一个 [Cloud Functions](https://www.ibm.com/cloud/functions) 序列，根据图像上传位置来计算诸如温度和当前天气情况（例如，晴、多云等）等气象数据。Cloud Functions 序列中还会使用 Watson Visual Recognition 来分析图像并基于图像内容提取文本标签。最终会向用户发送一条推送通知，告知其图像已处理完毕并且现已包含气象数据和标签数据。\n\n## Swift 版本\nBluePic 应用程序的后端组件（例如，基于 Kitura 的服务器和 Cloud Functions 操作）和 iOS 组件可以使用特定版本的 Swift 二进制文件，请参阅下表：\n\n| 组件 | Swift 版本 |\n| --- | --- |\n| 基于 Kitura 的服务器 | `4.0.2` |\n| Cloud Functions 操作 | `3.1.1` |\n| iOS 应用程序 | Xcode 9.1 默认版本 (`Swift 4.0.2`)\n\n您可以通过访问此[链接](https://swift.org/download/)来下载 Swift 二进制文件的开发快照。不保证与其他 Swift 版本的兼容性。\n\n（可选）如果想要使用 Xcode 来运行基于 Kitura 的 BluePic 服务器，那么应使用 Xcode 9.1 并将其配置为使用默认工具链。有关如何设置 Xcode 的详细信息，请参阅[在 Xcode 内构建](http://www.kitura.io/en/starter/xcode.html)。请注意，不保证任何其他版本的 Xcode 适用于该后端代码。\n\n\n## 入门\n\n### 1.安装系统依赖项\n在 macOS 上使用 [Homebrew](http://brew.sh/) 安装以下系统级别的依赖项：\n\n```bash\nbrew install curl\n```\n\n如果要使用 Linux 作为 Kitura 服务器组件的开发平台，请参阅[在 macOS 和 Linux 上编译和测试代码](http://www.kitura.io/en/starter/leveragedocker.html)以获取有关如何在 macOS 系统上使用 Docker 的详细信息。\n\n### 2.克隆 BluePic Git 存储库\n执行以下命令以克隆 Git 存储库：\n\n```bash\ngit clone https://github.com/IBM/BluePic.git\n```\n\n如果您愿意，可以花几分钟时间来熟悉该存储库的文件夹结构，如[关于](Docs/About.md)页面中所述。\n\n### 3.在 IBM Cloud 上创建 BluePic 应用程序\n\n#### Cloud Foundry 部署\n单击以下按钮，将 BluePic 应用程序部署至 IBM Cloud。解析[包含在存储库中的] [`manifest.yml`](manifest.yml) 文件，以获取应用程序的名称并确定应实例化的 Cloud Foundry 服务。有关 `manifest.yml` 文件结构的更多详细信息，请参阅 [Cloud Foundry 文档](https://docs.cloudfoundry.org/devguide/deploy-apps/manifest.html#minimal-manifest)。单击以下按钮后，可以为应用程序命名。请记住，您的 IBM Cloud 应用程序名称必须与 `manifest.yml` 中的名称值相匹配。因此，如果在 IBM Cloud 帐户中存在命名冲突，那么您可能需要更改 `manifest.yml` 中的名称值。\n\n[![部署到 Bluemix](https://bluemix.net/deploy/button.png)](https://bluemix.net/deploy?repository=https://github.com/IBM/BluePic.git\u0026cm_mmc=github-code-_-native-_-bluepic-_-deploy2bluemix)\n\n部署到 IBM Cloud 后，应使用所选 Web 浏览器访问为您的应用程序指定的路由。您应该会看到 Kitura 欢迎页面！\n\n请注意，将使用[针对 Swift 的 IBM Cloud 构建包](https://github.com/IBM-Swift/swift-buildpack)来将 BluePic 部署到 IBM Cloud。以下 IBM Cloud 地区当前已安装此构建包：美国南部地区、英国和悉尼。\n\n#### 手动命令行部署\n##### 作为 Cloud Foundry 应用程序进行部署\n您将需要安装以下组件：\n- [IBM Cloud Dev Plugin](https://console.bluemix.net/docs/cloudnative/dev_cli.html#developercli)\n\n```\nsh ./Cloud-Scripts/Deployment/cloud_foundry.sh\n```\n\n##### 作为 Kubernetes 容器集群随 Docker 一起部署\n- 有关部署至 Kubernetes 的信息，请阅读[文档](./Docs/Kubernetes.md)\n\n### 4.填充 Cloudant 数据库\n要使用样本数据填充 Cloudant 数据库实例，需要获取以下凭证值：\n\n- `username` - Cloudant 实例的用户名。\n- `password` - Cloudant 实例的密码。\n- `projectId` - Object Storage 实例的项目 ID。\n\n您可以通过访问 IBM Cloud 上的应用程序页面并单击 Cloudant 服务和 Object Storage 服务实例上的 `Show Credentials` 下拉菜单来获取以上凭证。获得这些凭证后，请浏览至 BluePic 存储库中的 `Cloud-Scripts/cloudantNoSQLDB/` 目录，并执行 `populator.sh` 脚本，如下所示：\n\n```bash\n./populator.sh --username=\u003ccloudant username\u003e --password=\u003ccloudant password\u003e --projectId=\u003cobject storage projectId\u003e\n\n```\n\n### 5.填充 Object Storage\n要使用样本数据填充 Object Storage 实例，需要获取以下凭证值（region 为可选项）：\n\n- `userId` - Object Storage 实例的用户标识。\n- `password` - Object Storage 实例的密码。\n- `projectId` - Object Storage 实例的项目 ID。\n- `region` -（可选）您可以为 Object Storage 设置要用于保存数据的区域（例如，`london` 表示伦敦，`dallas` 表示达拉斯）。如果未设置 region，其默认设置为 `dallas`。\n\n您可以通过访问 IBM Cloud 上的应用程序页面并单击 Object Storage 实例上的 `Show Credentials` 下拉菜单来获取以上凭证。获得这些凭证后，请浏览至 BluePic 存储库中的 `./Cloud-Scripts/Object-Storage/` 目录，并执行 `populator.sh` 脚本，如下所示：\n\n```bash\n./populator.sh --userId=\u003cobject storage userId\u003e --password=\u003cobject storage password\u003e --projectId=\u003cobject storage projectId\u003e --region=\u003cobject storage region\u003e\n```\n\n### 6.更新 `BluePic-Server/config/configuration.json` 文件\n现在，应更新 `BluePic-Server/config/configuration.json` 文件中列出的每一个服务的凭证。这样，您就可以在本地运行基于 Kitura 的服务器以用于开发和测试目的。在 `configuration.json` 文件中找到每个应提供的凭证值对应的占位符（例如，`\u003cusername\u003e`、`\u003cprojectId\u003e`）。\n\n请记住，您可以通过访问 IBM Cloud 上的应用程序页面，并单击与 BluePic 应用程序绑定的每一个服务实例上的 `Show Credentials` 下拉菜单，来获取 `configuration.json` 文件中列出的每一个服务的凭证。\n\n您可以通过单击[此处](BluePic-Server/configuration.json)来查看 `configuration.json` 文件的内容。\n\n### 7.更新 iOS 应用程序的配置\n转至 `BluePic-iOS` 目录，并在 Xcode 中使用 `open BluePic.xcworkspace` 打开 BluePic 工作空间。现在，更新 Xcode 项目中的 `cloud.plist`（可在 Xcode 项目的 `Configuration` 文件夹中找到此文件）。\n\n1.如果要使用本地运行的服务器，应将 `isLocal` 值设置为 `YES`；如果将该值设置为 `NO`，那么将访问 IBM Cloud 上运行的服务器实例。\n\n2.要获取 `appRouteRemote` 的值，请转至 IBM Cloud 上的应用程序页面。在该页面右上角附近找到 `View App` 按钮。单击此按钮将在新选项卡中打开应用程序，此页面的 URL 即是映射到 plist 中的 `appRouteRemote` 键的 `route`。请确保在 `appRouteRemote` 中包含 `http://` 协议，并删除 URL 末尾的正斜杠。\n\n3.最后，需要获取 `cloudAppRegion` 的值，该值当前可为以下三个选项之一：\n\nREGION US SOUTH | REGION UK | REGION SYDNEY\n--- | --- | ---\n`.ng.bluemix.net` | `.eu-gb.bluemix.net` | `.au-syd.bluemix.net`\n\n您可以通过多种方式找到自己的地区。例如，只需查看用于访问应用程序页面（或 IBM Cloud 仪表板）的 URL 即可。另一种方式是查看您之前修改的 `configuration.json` 文件。如果您查看 `AppID` 服务下的凭证，其中有一个值是 `oauthServerUrl`，该值应包含上述区域之一。在将 `cloudAppRegion` 值插入到 `cloud.plist` 后，您的应用程序应该已配置完成。\n\n## 配置的可选功能\n本部分描述了通过 App ID、Push Notifications 和 Cloud Functions 来进行 Facebook 认证要采取的步骤。\n\n*BluePic-Server 中的 API 端点当前因为依赖关系限制而不受保护，可一旦能通过 Kitura 和 App ID SDK 使用该功能，这些端点会立即受到保护*\n\n### 1.在 Facebook 上创建应用程序实例\n要通过 Facebook 进行应用程序认证，必须在 Facebook 网站上创建应用程序实例。\n\n1.转至 `BluePic-iOS` 目录，并在 Xcode 中使用 `open BluePic.xcworkspace` 打开 BluePic 工作空间。\n\n2.为应用程序选择包标识符，并对 Xcode 项目进行相应的更新：选择 Xcode 左上角的项目导航器文件夹图标；然后选择位于文件结构顶部的 BluePic 项目，再选择 BluePic 目标。在 Identity 部分下，您应该可以看到包标识符对应的文本字段。使用您选择的包标识符更新该字段。（例如，com.bluepic）\n\n3.转至[针对 iOS 的 Facebook 快速启动](https://developers.facebook.com/quickstarts/?platform=ios)页面以创建应用程序实例。输入 `BluePic` 作为新的 Facebook 应用程序的名称，然后单击 `Create New Facebook App ID` 按钮。为该应用程序选择任意类别，然后单击 `Create App ID` 按钮。\n\n4.在随后显示的屏幕上，请注意，您**无需**下载 Facebook SDK。iOS 项目中已包含的 App ID SDK 具有支持 Facebook 认证所需的所有代码。在 `Configure your info.plist` 部分中，复制 `FacebookAppID` 值，并将其插入到 `info.plist` 中的 `URL Schemes` 和 `FacebookAppID` 字段，使您的 plist 如下图所示。`info.plist` 文件位于 Xcode 项目的 `Configuration` 文件夹下。\n\u003cp align=\"center\"\u003e\u003cimg src=\"Imgs/infoplist.png\"  alt=\"Drawing\" height=150 border=0 /\u003e\u003c/p\u003e\n\n1.接下来，滚动至 Facebook 快速启动页面底部显示 `Supply us with your Bundle Identifier` 的位置，并输入您先前在步骤 2 中所选的应用程序包标识符。\n\n2.在 Facebook Developer 网站上设置 BluePic 应用程序实例到此已完成。在以下部分中，我们将把该 Facebook 应用程序实例链接至 IBM Cloud App ID 服务。\n\n### 2.配置 IBM Cloud App ID\n1.转至 IBM Cloud 上的应用程序页面，并打开 `App ID` 服务实例：\n\u003cp align=\"center\"\u003e\u003cimg src=\"Imgs/app-id-service.png\"  alt=\"Drawing\" height=125 border=0 /\u003e\u003c/p\u003e\n\n1.在下一个页面上，单击侧边的 `Identity Providers` 按钮，此时会显示如下内容：\n\u003cp align=\"center\"\u003e\u003cimg src=\"Imgs/configure-facebook.png\"  alt=\"Drawing\" height=125 border=0 /\u003e\u003c/p\u003e\n\n1.将 Facebook 对应的开关切换至 On，然后单击 Edit 按钮。在此处输入来自 Facebook 应用程序页面的 Facebook 应用程序 ID 和密钥（请参阅[在 Facebook 上创建应用程序实例](#1-create-an-application-instance-on-facebook)部分以获取更多详细信息）。\n\u003cp align=\"center\"\u003e\u003cimg src=\"Imgs/facebook-appid-setup.png\"  alt=\"Drawing\" height=250 border=0 /\u003e\u003c/p\u003e\n\n1.在此页面上，您还会看到“面向开发人员的 Facebook 重定向 URL”，请复制它，因为稍后需要使用。在 Facebook Developer 应用程序页面上，导航至 Facebook 登录产品。此 URL 为 `https://developers.facebook.com/apps/\u003cfacebookAppId\u003e/fb-login/`。在此处，将该链接粘贴到“Valid OAuth redirect URIs”字段中，并单击 Save changes。返回到 IBM Cloud，您还可以单击 Save 按钮。\n\n2.要使 App ID 正常运行，还需要执行一项操作，即需要将 App ID 的 `tenantId` 添加到 BluePic-iOS 的 `cloud.plist` 中。通过查看 IBM Cloud 中 App ID 服务的凭证即可获取 `tenantId `，您的所有服务都应位于 IBM Cloud 上您应用程序的“Connections”选项卡下。在其中单击 App ID 服务的“View Credentials”或“Show Credentials”按钮，此时您应该可以看到 `tenantId ` 与其他值一起弹出。现在，只需将该值置于 `cloud.plist`（与 `appIdTenantId` 键对应）即可。\n\n3.使用 IBM Cloud App ID 进行 Facebook 认证现已设置完成！\n\n### 3.配置 IBM Cloud 推送服务\n要在 IBM Cloud 上使用推送通知功能，需要配置通知提供商。对于 BluePic，应配置 Apple 推送通知服务 (APNS) 的凭证。在执行此配置步骤期间，将需要使用[在 Facebook 上创建应用程序实例](#1-create-an-application-instance-on-facebook)部分中所选的**包标识符**。\n\n幸运的是，IBM Cloud 提供了[指示信息](https://console.bluemix.net/docs/services/mobilepush/index.html#gettingstartedtemplate)来指导您完成通过 IBM Cloud 推送服务配置 APNS 的整个过程。请注意，您将需要向 IBM Cloud 上传一份 `.p12` 证书，并为其输入密码，如 IBM Cloud 指示信息中所述。\n\n此外，推送服务的 `appGuid ` 独立于 BluePic 应用程序运行，因此需要将该值添加到 `cloud.plist`。而且，我们需要推送服务的 `clientSecret` 值。通过查看 IBM Cloud 中推送服务的凭证即可获取 `appGuid` 和 `clientSecret`，您的所有服务都应位于您应用程序的“Connections”选项卡下。在其中单击推送通知服务的“View Credentials”或“Show Credentials”按钮，此时您应该可以看到 `appGuid` 与其他值一起弹出。现在，只需将该值置于 `cloud.plist`（与 `pushAppGUID` 键对应）即可。接下来，您应该可以看到 `clientSecret` 值，可以使用此值来填充 `cloud.plist` 中的 `pushClientSecret` 字段。这样可确保向推送服务正确注册您的设备。\n\n最后，请记住，推送通知将仅显示在物理 iOS 设备上。为确保您的应用程序可在设备上运行并收到推送通知，请确保遵循了 IBM Cloud [指示信息](https://console.bluemix.net/docs/services/mobilepush/index.html#gettingstartedtemplate)。现在，请在 Xcode 中打开 `BluePic.xcworkspace`，并浏览至 BluePic 应用程序目标的 `Capabilities` 选项卡。在此处，调整推送通知对应的开关，如下所示：\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"Imgs/enablePush.png\"  alt=\"Drawing\" height=145 border=0 /\u003e\u003c/p\u003e\n\n现在，请确保您的应用程序正在使用您先前按照 IBM Cloud 指示信息创建的、已启用推送的配置文件。此时，您便可以在自己的设备上运行应用程序，并且能够接收推送通知。\n\n### 4.配置 Cloud Functions\nBluePic 使用以 Swift 编写的 Cloud Functions 操作来访问 Watson Visual Recognition 和 Weather API。有关如何配置 Cloud Functions 的指示信息，请参阅以下[页面](Docs/CloudFunctions.md)。您将在其中找到有关如何配置和调用 Cloud Functions 命令的详细信息。\n\n### 5.重新将 BluePic 应用程序部署至 IBM Cloud\n\n#### 使用 IBM Cloud 命令行界面\n配置可选功能后，应重新将 BluePic 应用程序部署至 IBM Cloud。\n\n###### Cloud Foundry\n您可以使用 IBM Cloud CLI 来执行此操作，请在[此处](http://clis.ng.bluemix.net/ui/home.html)下载。使用命令行登录到 IBM Cloud 后，可从本地文件系统上该存储库的根文件夹中执行 `bx app push`。这样会将应用程序代码和配置推送至 IBM Cloud。\n\n###### Kubernetes 集群\n如果您正在使用 Kubernetes 集群，并且已完成[此处](#deploy-as-kubernetes-container-cluster-with-docker)的初始部署过程\n```\n  # 使用来自先前设置指示信息的默认参数：\n  bx dev deploy --target=container --deploy-image-target=bluepic --ibm-cluster=BluePic-Cluster\n```\n\n## 运行 iOS 应用程序\n如果您尚未打开 iOS 项目，请转至 `BluePic-iOS` 目录，并使用 `open BluePic.xcworkspace` 打开 BluePic 工作空间。\n\n现在，您可以在模拟器中使用自己熟悉的 Xcode 功能来构建和运行 iOS 应用程序！\n\n### 在物理设备上运行 iOS 应用程序\n\n对于 IBM 开发人员，请参阅我们的 [Wiki](https://github.com/IBM/BluePic/wiki/Code-Signing-Configuration-for-Internal-Developers) 以获取有关需要采取的步骤的详细信息。\n\n在物理设备上运行 iOS 应用程序的最简单方法是将 BluePic 的包 ID 更改为唯一值（如果尚未执行此更改）。然后，在 Xcode 中转至 BluePic 应用程序目标的 `General` 选项卡，选中 `Automatically manage signing` 框。选中此框后，需要确保已从下拉列表中选中了您个人 Apple Developer 帐户所属的团队。假定您担任的 Apple Developer Program 团队角色是 `Agent` 或 `Admin`，需要为 BluePic 应用程序创建一个配置文件或者使用通配符配置文件（如果存在），以便能够在设备上运行此应用程序。\n\n或者，您可以通过使用通配符 App ID 手动配置应用程序的代码签名以便在设备上运行此应用程序。如果已创建该配置文件，只需在 `Signing (Debug)` 部分中的配置文件下拉列表中将其选中即可。如果尚未创建该配置文件，可以通过 Apple Developer Portal 进行创建。此[链接](https://developer.apple.com/library/content/qa/qa1713/_index.html)可帮助提供有关通配符 App ID 的更多信息。\n\n## 在本地运行基于 Kitura 的服务器\n您可以通过转至克隆存储库的 `BluePic-Server` 目录并运行 `swift build` 来构建 BluePic-Server。要在本地系统上为 BluePic 应用程序启动基于 Kitura 的服务器，请转至克隆存储库的 `BluePic-Server` 目录，并运行 `.build/debug/BluePicServer`。另外还应更新 Xcode 项目中的 `cloud.plist` 文件以使 iOS 应用程序连接到此本地服务器。请参阅[更新 iOS 应用程序的配置](#7-update-configuration-for-ios-app)部分以获取详细信息。\n\n## 使用 BluePic\nBluePic 设计了大量实用功能。要查看有关如何使用 iOS 应用程序的更多详细信息，请查看[使用 BluePic](Docs/Usage.md) 页面上的演示。\n\n## 关于 BluePic\n要了解有关 BluePic 的文件夹结构、架构及其依赖的 Swift 程序包的更多信息，请参阅[关于](Docs/About.md)页面。\n\n## 了解更多信息\n- [使用 BluePic 转换至服务器端的 Swift](https://developer.ibm.com/swift/2016/11/15/transition-to-server-side-swift-with-bluepic/)\n- [Kitura 2.0 简介](https://developer.ibm.com/swift/2017/10/30/kitura-20/)\n- [使用 Kitura 命令行界面构建服务器端的 Swift 应用程序](https://developer.ibm.com/swift/2017/10/30/kitura-cli/)\n\n## 许可\n此应用程序是在 Apache 2.0 下授予许可的。在[许可](LICENSE)中提供了完整许可文本。\n\n要获取所使用的演示图像的列表，请查看[图像来源](Docs/ImageSources.md)文件。\n","funding_links":[],"categories":["HarmonyOS"],"sub_categories":["Windows Manager"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FIBM%2FBluePic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FIBM%2FBluePic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FIBM%2FBluePic/lists"}