https://github.com/financial-times/dotcom-reliability-kit
🪨 A well tested suite of tools designed to help FT.com applications be more reliable and measurable
https://github.com/financial-times/dotcom-reliability-kit
reliability-kit
Last synced: 3 months ago
JSON representation
🪨 A well tested suite of tools designed to help FT.com applications be more reliable and measurable
- Host: GitHub
- URL: https://github.com/financial-times/dotcom-reliability-kit
- Owner: Financial-Times
- License: mit
- Created: 2022-04-28T15:21:10.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2024-11-11T13:57:08.000Z (over 1 year ago)
- Last Synced: 2024-11-11T14:41:42.322Z (over 1 year ago)
- Topics: reliability-kit
- Language: JavaScript
- Homepage:
- Size: 4.71 MB
- Stars: 7
- Watchers: 53
- Forks: 1
- Open Issues: 17
-
Metadata Files:
- Readme: README.md
- Contributing: docs/contributing.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
- Support: docs/support.md
Awesome Lists containing this project
README
Reliability Kit is a well tested suite of tools designed to help FT.com applications be more reliable and measurable.
## Usage guide
We maintain documentation in this repo:
* **The [getting started guide](./docs/getting-started/#readme)** is the best place to begin, it guides you through good error handling practices and how you can use Reliability Kit to improve your app's error handling
* **The package README files** in this monorepo contain technical documentation. They can be found in the [`packages` folder](./packages/). A brief outline of what each package does is listed here:
* **[@dotcom-reliability-kit/app-info](./packages/app-info/#readme):**
A utility to get application information (e.g. the system code) in a consistent way
* **[@dotcom-reliability-kit/biome-config](./packages/biome-config/#readme):**
A Biome configuration focused on resolving code quality and reliability issues without making any code style decisions.
* **[@dotcom-reliability-kit/client-metrics-web](./packages/client-metrics-web/README.md):**
A lightweight client for sending operational metrics events from the browser to the Customer Products Client Metrics Server.
* **[@dotcom-reliability-kit/crash-handler](./packages/crash-handler/#readme):**
A method to bind an uncaught exception handler to ensure that fatal application errors are logged. It is a replacement for Sentry fatal error logging.
* **[@dotcom-reliability-kit/errors](./packages/errors/#readme):**
A suite of error classes which help you throw the most appropriate error in any situation
* **[@dotcom-reliability-kit/eslint-config](./packages/eslint-config/#readme):**
A linting config, specifically focussed on enhancing code quality and proactively catching errors/bugs before they make it into production.
* **[@dotcom-reliability-kit/fetch-error-handler](./packages/fetch-error-handler/#readme):**
Properly handle fetch errors and avoid a lot of boilerplate in your app.
* **[@dotcom-reliability-kit/log-error](./packages/log-error/#readme):**
A method to consistently log error object with optional request information
* **[@dotcom-reliability-kit/logger](./packages/logger/#readme):**
A simple and fast logger based on [Pino](https://getpino.io/), with FT preferences baked in
* **[@dotcom-reliability-kit/middleware-allow-request-methods](./packages/middleware-allow-request-methods/README.md):**
Express middleware that returns 405 (rather than 404) for disallowed request methods
* **[@dotcom-reliability-kit/middleware-log-errors](./packages/middleware-log-errors/#readme):**
Express middleware to consistently log errors
* **[@dotcom-reliability-kit/middleware-render-error-info](./packages/middleware-render-error-info/#readme):**
Express middleware to render error information in a browser in a way that makes local debugging easier
* **[@dotcom-reliability-kit/opentelemetry](./packages/opentelemetry/#readme):**
An [OpenTelemetry](https://opentelemetry.io/docs/what-is-opentelemetry/) client that's preconfigured for drop-in use in FT apps.
* **[@dotcom-reliability-kit/serialize-error](./packages/serialize-error/#readme):**
A utility function to serialize an error object in a way that's friendly to loggers, view engines, and converting to JSON
* **[@dotcom-reliability-kit/serialize-request](./packages/serialize-request/#readme):**
A utility function to serialize a request object in a way that's friendly to loggers, view engines, and converting to JSON
* **Example projects** illustrate more real-world examples of how to use Reliability Kit. These live in separate repositories:
* **[Express example](https://github.com/Financial-Times/reliability-kit-example-express#readme):**
An example of how to use Reliability Kit with an [Express](https://expressjs.com/)-based application
* **[Serverless example](https://github.com/Financial-Times/reliability-kit-example-serverless#readme):**
An example of how to use Reliability Kit with a [Serverless](https://www.serverless.com/) application
## Design
To understand the design decisions we made when building this project, [read the design guide here](docs/design.md).
## Contributing
[The contributing guide is available here](docs/contributing.md). You can find a [roadmap with planned work here](https://github.com/orgs/Financial-Times/projects/111).
## Support
[The support that we aim to offer is available here](docs/support.md).
## License
Licensed under the [MIT](LICENSE) license.
Copyright © 2022, The Financial Times Ltd.