Last updated

Project 8: Versioned content

ScheduleFlex Meld
Time allowed2 hours

Update Realm

Update to the latest minor version of Realm.

At the time I write this, it's 0.86.0.

Cheat: How to do this

Edit the package.json and replace the version of Realm with 0.86.0 (or any other latest version).

package.json
 "dependencies": {
    "@redocly/realm": "0.86.0"
  }

Museum upgrade: Wallet-friendly ticketing

The boss, fresh off a tech conference, has declared that the Museum API's ticketing system needs a modern makeover. QR codes are out, and seamless integration with digital wallets like Apple Wallet and Google Pay is in. It's time to embrace this vision and upgrade the Museum API.

To ensure a smooth transition for existing integrations, we'll leverage versioning to introduce these new features without disrupting current functionality. This allows our partners and clients to migrate to the new system at their own pace.

Introduce a new API version

Create a new version of the Museum API: v2.

  • Eliminate QR Codes: Remove the existing endpoint for QR code generation.
  • Digital Ticket Endpoint: Add a new endpoint GET /tickets/{ticketId}/pkpass to generate digital tickets compatible with Apple Wallet and Google Pay. Design the response schema to include essential ticket information, such as:
    • Event name (e.g., "Museum Admission")
    • Date and time of visit
    • Unique ticket ID
Cheat: Link to the docs (if you need it)

Create user-friendly guides

Prepare documentation to support this transition:

  • Introduction to Digital Wallet Ticketing: Explain the concept of digital wallet ticketing.
  • Migration Guide: Provide a detailed walkthrough for developers, explaining how to transition from the QR code system to the new digital wallet-based ticketing.

Ensure both the "Introduction to Digital Wallet Ticketing" and "Migration Guide" are readily accessible from the documentation sidebar.

Optional: A touch of innovation

(Optional) Edit the version label for v2 with a more innovative name like @futuristic-tix or @beyond-qr.

Cheat: Link to the docs (if you need it)

Debrief

Debrief on your experience. What made you smile? What did you find confusing?