{"id":21460526,"url":"https://github.com/alexaubry/BulletinBoard","last_synced_at":"2025-07-15T02:32:13.824Z","repository":{"id":39377086,"uuid":"104852627","full_name":"alexaubry/BulletinBoard","owner":"alexaubry","description":"General-purpose contextual cards for iOS","archived":false,"fork":false,"pushed_at":"2022-05-16T18:03:28.000Z","size":29722,"stargazers_count":5383,"open_issues_count":48,"forks_count":303,"subscribers_count":72,"default_branch":"develop","last_synced_at":"2025-07-06T09:01:49.836Z","etag":null,"topics":["card","configuration","ios","onboarding","swift"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alexaubry.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-09-26T07:43:43.000Z","updated_at":"2025-07-02T00:38:38.000Z","dependencies_parsed_at":"2022-08-01T08:19:40.585Z","dependency_job_id":null,"html_url":"https://github.com/alexaubry/BulletinBoard","commit_stats":null,"previous_names":["alexaubry/bulletinboard"],"tags_count":18,"template":false,"template_full_name":null,"purl":"pkg:github/alexaubry/BulletinBoard","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexaubry%2FBulletinBoard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexaubry%2FBulletinBoard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexaubry%2FBulletinBoard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexaubry%2FBulletinBoard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alexaubry","download_url":"https://codeload.github.com/alexaubry/BulletinBoard/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexaubry%2FBulletinBoard/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264683896,"owners_count":23649122,"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":["card","configuration","ios","onboarding","swift"],"created_at":"2024-11-23T07:01:15.682Z","updated_at":"2025-07-15T02:32:13.078Z","avatar_url":"https://github.com/alexaubry.png","language":"Swift","funding_links":[],"categories":["Libs","UI","Uncategorized","UI Components","Swift","HarmonyOS","Recently Updated","Content"],"sub_categories":["UI","Alert \u0026 Action Sheet","Uncategorized","Windows Manager","[Feb 04, 2025](/content/2025/02/04/README.md)","Action Sheet"],"readme":"# BulletinBoard\n\n[![Version](https://img.shields.io/cocoapods/v/BulletinBoard.svg?style=flat)](https://cocoapods.org/pods/BulletinBoard)\n[![License](https://img.shields.io/cocoapods/l/BulletinBoard.svg?style=flat)](https://cocoapods.org/pods/BulletinBoard)\n[![Platform](https://img.shields.io/cocoapods/p/BulletinBoard.svg?style=flat)](https://cocoapods.org/pods/BulletinBoard)\n[![Documentation](https://img.shields.io/badge/Documentation-available-blue.svg)](https://alexisakers.github.io/BulletinBoard)\n[![Contact: @_alexaubry](https://raw.githubusercontent.com/alexaubry/BulletinBoard/main/.assets/twitter_badge.svg?sanitize=true)](https://twitter.com/_alexaubry)\n\nBulletinBoard is an iOS library that generates and manages contextual cards displayed at the bottom of the screen. It is especially well suited for quick user interactions such as onboarding screens or configuration.\n\nIt has an interface similar to the cards displayed by iOS for AirPods, Apple TV/HomePod configuration and NFC tag scanning. It supports both the iPhone, iPhone X and the iPad.\n\nIt has built-in support for accessibility features such as VoiceOver and Switch Control.\n\nHere are some screenshots showing what you can build with BulletinBoard:\n\n![Demo Screenshots](https://raw.githubusercontent.com/alexaubry/BulletinBoard/main/.assets/demo_screenshots.png)\n\n## Requirements\n\n- Xcode 11 and later\n- iOS 9 and later\n- Swift 5.1 and later (also works with Objective-C).\n\n## Demo\n\nA demo project is included in the `BulletinBoard` workspace. It demonstrates how to:\n\n- integrate the library (setup, data flow)\n- create standard page cards\n- create custom page subclasses to add features\n- create custom cards from scratch\n\nTwo demo targets are available:\n\n- `BB-Swift` (demo written in Swift)\n- `BB-ObjC` (demo written in Objective-C)\n\nBuild and run the scheme for your favorite language to open the demo app.\n\n## Installation\n\n### Swift Package Manager\n\nTo install BulletinBoard using the [Swift Package Manager](https://swift.org/package-manager/), add this dependency to your `Package.swift` file:\n\n~~~swift\n.package(url: \"https://github.com/alexaubry/BulletinBoard.git\", from: \"5.0.0\")\n~~~\n\n### CocoaPods\n\nTo install BulletinBoard using [CocoaPods](https://cocoapods.org), add this line to your `Podfile`:\n\n~~~ruby\npod 'BulletinBoard'\n~~~\n\n### Carthage\n\nTo install BulletinBoard using [Carthage](https://github.com/Carthage/Carthage), add this line to your `Cartfile`:\n\n~~~\ngithub \"alexaubry/BulletinBoard\"\n~~~\n\n## Documentation\n\n- The full library documentation is available [here](https://alexisakers.github.io/BulletinBoard).\n- To learn how to start using `BulletinBoard`, check out our [Getting Started](https://alexisakers.github.io/BulletinBoard/getting-started.html) guide.\n\n## Contributing\n\nThank you for your interest in the project! Contributions are welcome and appreciated.\n\nMake sure to read these guides before getting started:\n\n- [Code of Conduct](https://github.com/alexaubry/BulletinBoard/blob/master/CODE_OF_CONDUCT.md)\n- [Contribution Guidelines](https://github.com/alexaubry/BulletinBoard/blob/master/CONTRIBUTING.md)\n\n## Author\n\nWritten by Alexis Aubry. You can [find me on Twitter](https://twitter.com/_alexaubry).\n\n## License\n\nBulletinBoard is available under the MIT license. See the [LICENSE](LICENSE) file for more info.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexaubry%2FBulletinBoard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falexaubry%2FBulletinBoard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexaubry%2FBulletinBoard/lists"}