Skip to content

Turn your contracts into executable specifications. Contract Driven Development - Collaboratively Design & Independently Deploy MicroServices & MicroFrontends.

License

Notifications You must be signed in to change notification settings

znsio/specmatic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Specmatic

Maven Central GitHub release CI Build Quality Gate Status Twitter Follow Docker Pulls

Context

In a complex, interdependent eco-system, where each service is evolving rapidly, we want to make the dependencies between them explicit in the form of executable contracts. Contract Driven Development leverages API specifications like OpenAPI, AsyncAPI, etc. as executable contracts allowing teams to get instantaneous feedback while making changes to avoid accidental breakage.

With this ability, we can now independently deploy, at will, any service at any time without having to depend on expensive and fragile integration tests.

What is Specmatic

Specmatic embodies contract driven development (CDD) by leveraging API specifications as executable contracts.

  • Contract as Tests - Generating free tests on the fly based only on you API specifications making sure that your implementation is always adhering to your API specification
  • Contract as Stub - Stubbing a service based on its API specification, that too with the guarantee that your response mappings will always be in sync with your API specs
  • Backward Compatibility Testing (#NOCODE) - Identify backward breaking changes well ahead of time even before write any code based only on your API specifications
  • Central Contract Repository - Single source of truth for your API Specifications
  • API First Design - CDD encourages putting API design first rather than design being a byproduct of service implementation

Our Goal is to support various types of Interactions

Systems interact with each other through several means. Specmatic hopes to address all these mechanisms and not just web interactions.

  • API calls (JSon REST, SOAP XML, gRPC, Thrift, other binary protocols)
  • Events via Messaging (Kafka, Redis, ActiveMQ, RabbitMQ, Kinesis, etc.)
  • DB, Other Data Stores
  • File system
  • Libraries, SDK
  • OS Level Pipes

Specmatic's Product Roadmap

Learn more at specmatic.io

Get started now

Specmatic - Contract Driven Development - YouTube playlist

Youtube playlist