https://github.com/coderbyheart/strongly-type-third-party-integrations-with-typescript
Slides for my talk 'Strongly type third-party integrations with TypeScript'
https://github.com/coderbyheart/strongly-type-third-party-integrations-with-typescript
Last synced: 5 months ago
JSON representation
Slides for my talk 'Strongly type third-party integrations with TypeScript'
- Host: GitHub
- URL: https://github.com/coderbyheart/strongly-type-third-party-integrations-with-typescript
- Owner: coderbyheart
- License: bsd-3-clause
- Created: 2024-11-10T17:50:41.000Z (about 1 year ago)
- Default Branch: saga
- Last Pushed: 2025-04-29T22:25:20.000Z (8 months ago)
- Last Synced: 2025-07-24T04:49:49.240Z (5 months ago)
- Language: TypeScript
- Homepage: https://coderbyheart.github.io/strongly-type-third-party-integrations-with-typescript/
- Size: 192 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Strongly type third-party integrations with TypeScript
[](https://github.com/coderbyheart/strongly-type-third-party-integrations-with-typescript/actions/workflows/publish.yaml)
Slides for my talk
- [Markdown](./slides.md)
- [Interactive](https://coderbyheart.github.io/strongly-type-third-party-integrations-with-typescript/index.html)
## Abstract
Many of us have to integrate third-party APIs, and we cannot trust their
documentation. We also need to track when their data format changes. The same is
true for integrating our own (or other teams’) microservices. I will show how we
do this in an effective and flexible way using TypeScript.
In this talk, I will present my approach to doing this safely with TypeScript
and how this enables end-to-end contract testing which I have been using for
many years and consider one of the robust best practices we apply basically in
all of our web application projects.
This is a very practical, hands-on talk with many concrete examples that will
give the audience a clear guide on how to build robust, well documented system
integrations.
We leverage NPM modules to version our API definition and create a clear source
of truth for all your integrations, be it a REST API, WebSocket or CoAP
messages-the same principle applies.
## The three main takeaways are:
1. learn about [TypeBox](https://github.com/sinclairzx81/typebox) and how I use
it to make integrations of third-party APIs type-safe
1. see a code-example where a frontend-application runs against a mock-API using
these types
1. get to know techniques to discover breaking API changes through monitoring
## Viewing
An up-to-date version is published to
[GitHub pages](https://coderbyheart.github.io/strongly-type-third-party-integrations-with-typescript/index.html).
Press `s` to show the speaker notes.
### Locally
Open the project using
[Dev Container](https://code.visualstudio.com/docs/remote/containers).
Open two shells:
1. `npm run watch`
2. `npm start`
You can now view the slides at .
## Building
Render to reveal.js:
make build
Render to PowerPoint (useful for copying to a PowerPoint template):
make public/slides.pptx