All Projects → notaryio → notary

notaryio / notary

Licence: MIT license
A contracts broker that provides a declarative way of sharing, validating & discovering contracts between multiple projects.

Programming Languages

javascript
184084 projects - #8 most used programming language
CSS
56736 projects
HTML
75241 projects
shell
77523 projects

Projects that are alternatives of or similar to notary

crystal-clear
Design by Contract for Crystal
Stars: ✭ 45 (+181.25%)
Mutual labels:  contracts, contract-testing
crypto-books
Best of Crypto Books - A collection of books, white papers & more about crypto and blockchains.
Stars: ✭ 40 (+150%)
Mutual labels:  contracts
advanced-region-market
A Bukkit/Spigot plugin for renting/selling WorldGuard regions
Stars: ✭ 40 (+150%)
Mutual labels:  contracts
node-esigntech
电子签名、电子合同、电子签章、e签宝
Stars: ✭ 44 (+175%)
Mutual labels:  contracts
ap-monorepo
Monorepo containing all packages related to the ACTUS Protocol
Stars: ✭ 15 (-6.25%)
Mutual labels:  contracts
tonos-se
Local Node for Everscale DApp development and testing
Stars: ✭ 29 (+81.25%)
Mutual labels:  contracts
chappe
🧑‍💻 Developer Docs builder. Write guides in Markdown and references in API Blueprint. Comes with a built-in search engine.
Stars: ✭ 132 (+725%)
Mutual labels:  api-documentation
README
Developer Relations @ Pact - Your map to the Pact landscape for all-comers (maintainers, contributors, users, newbies)
Stars: ✭ 35 (+118.75%)
Mutual labels:  contract-testing
Mimick.Fody
An integrated framework for dependency injection and aspect-oriented processing.
Stars: ✭ 15 (-6.25%)
Mutual labels:  contracts
create-hq20-dapp
🌿 This is the TechHQ dapp starter kit All you need in a nut🐚
Stars: ✭ 29 (+81.25%)
Mutual labels:  contracts
laravel-web3
Laravel SDK wrapper for the Web3 PHP API client that interacts with the Ethereum blockchain.
Stars: ✭ 85 (+431.25%)
Mutual labels:  contracts
tripletex-api2
Tripletex API 2 resources and examples
Stars: ✭ 32 (+100%)
Mutual labels:  api-documentation
blue bird
API Documentation Generator for the Phoenix Framework
Stars: ✭ 52 (+225%)
Mutual labels:  api-documentation
docodile
Generate HTML API documentation from a Postman collection
Stars: ✭ 63 (+293.75%)
Mutual labels:  api-documentation
sample-testing-microservices
sample applications with implementation of unit, component, contract and integrarion tests using pact, gatling, spring boot test and hoverfly
Stars: ✭ 22 (+37.5%)
Mutual labels:  contract-testing
swagger-rb
Swagger parser for Ruby (WARNING: see issue #19)
Stars: ✭ 38 (+137.5%)
Mutual labels:  api-documentation
API
API documentation for the Forecast platform
Stars: ✭ 24 (+50%)
Mutual labels:  api-documentation
RebillyAPI
Archived and moved into the monorepo https://github.com/Rebilly/api-definitions
Stars: ✭ 51 (+218.75%)
Mutual labels:  api-documentation
mkapi
A documentation generation tool for MkDocs.
Stars: ✭ 68 (+325%)
Mutual labels:  api-documentation
junit-contracts
Contract test suite runner
Stars: ✭ 16 (+0%)
Mutual labels:  contract-testing


notary

A contracts broker that provides a declarative way of sharing, validating & discovering contracts between multiple projects.


Beside contracts validation, sharing & discovery, notary also allows you to generate all sort of extra artifacts out of those contracts like Client libraries, Stubbed endpoints, Dependency Graphs & much more.

Support for multiple popular integration patterns like REST APIs will be shipped out of the box, plus the ability to easily extend the project with "Integrations plugins" to support even more patterns.

What is a Contract?

A contract is either a Producer Promise or a Consumer Expectation. In notary, it's a meta-data describing how to use a specific shared integration point, e.g.: a Swagger file describing exposed REST API endpoint including API versioning, paths, supported methods, response entities, etc..

How does the provider/consumer validation work?

To validate your contracts you need to issue a request to the [validation endpoint]. Ideally, this will be done automatically in your CI pipeline.

The validation process includes:

  1. Syntactic validation
  2. Check if all of the project's promises satisfy its consumers
  3. Check if all of the project's expectations are honored by its upstream providers

What integration patterns does the project support so far?

  1. REST APIs: Define contracts for RESTful API endpoints using the Swagger spec
  2. Frontend LocalStorage: Define contracts for shared objects in the end-customer's browser LocalStorage using a specified JSON schema
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].