Your developer portal powered by automated documentation.

Your developer portal powered by automated documentation.

The problem with traditional documentation

Traditional documentation is often too hard to find and too much work to keep up to date. As a result you can not trust it, and creating or maintaining the documentation is seen as a boring waste of time.

Contextmap scans your projects,
automatically generates documentation,
combines it into a single architectural view
and visualizes it in an intuitive developer portal.
Have a look at some of our features...

Features

Accurate

Accurate

Missing or wrong information can lead to confusion and mistakes.

Contextmap scans your projects both at compile time and runtime, supporting different languages, frameworks or technologies. Accurate documentation is guaranteed by directly looking at your single source of truth, e.g. source-code, configurations, properties, markdown, version control, etc.

Zero effort

Zero effort

We believe documentation should be easy. Easy to setup, easy to update, and it should be easy to find the information you need.

By spending less time keeping your documentation up to date, and less time trying to find information in various locations, your teams will have more time working on your product

Always up to date

Always up to date

When integrated in your CI/CD pipeline you can decide to update a project’s documentation each time a change is pushed to your version control. Or maybe your teams prefer to only update when they make a release. Enjoy having the latest and greatest information available to you at all times.

Contextmap in Action

To assist in knowledge sharing you can create explanatory models to visualize different aspects of your architecture. Create a helicopter view, then drill down to the lowest level.

System View

System View

Components from the same system are automatically identified. This allows to create high level views on the architecture.

Component View

Component View

Look inside a system to find which components it contains. Find out how your microservices, frontends and API-gateways are interconnected.

Bounded Context

Bounded Context

Drill one level deeper to find the domain entities of a microservice. Combine relevant microservices to compare and understand their bounded contexts.
contextmap ❤️ Domain Driven Design
Storages

Storages

Track which components use storages, no matter what type: SQL, NoSQL or in-memory cache.

Events

Events

See the events published by components, and which other components subscribe to their events. Find out what the payload is of each event.

Explanatory Models

Explanatory Models

Contextmap is designed to be an interactive tool. Create explanatory models by drilling down, filter out what’s irrelevant, or applying a specific color schema, etc

... and much more

Automation allows to document much more compared to what you would otherwise have to keep in sync manually. Here’s a list of some of the details you can find in contextmap.

  • REST api’s
  • recent Git commits & tagged Git releases
  • BDD features and scenarios
  • architectural decision records and other markdown
  • glossary
  • statistics such as SLA, degrees, cluster coefficient, …
  • event payloads

How does it work?

For each of your projects:
  1. Add a plugin to your project depending on the programming language and framework.
  2. Configure your CI/CD pipeline
  3. Done, from now on your project's documentation will always be automatically updated
<dependencies>
  <!-- contextmap runtime scanning of configuration and beans at startup -->
  <dependency>
    <groupId>io.contextmap</groupId>
    <artifactId>java-spring-runtime</artifactId>
    <version>1.3.0</version>
  </dependency>
</dependencies>

<build>
  <plugins>
    <!-- contextmap compile-time scanning during CI/CD via: mvn contextmap:scan -->
    <plugin>
      <groupId>io.contextmap</groupId>
      <artifactId>java-spring-compiletime</artifactId>
      <version>1.3.0</version>
      <configuration>
        <key>PLACE_KEY_HERE</key>
      </configuration>
    </plugin>
  </plugins>
</build>
{
  "scripts": {
    /* contextmap compile-time scanning during CI/CD via: npm run contextmap:scan */
    "contextmap:scan": "scan-contextmap"
  },
  "devDependencies": {
    "scan-contextmap": "^0.0.4"
  },
  "contextmap": {
    "key": "PLACE_KEY_HERE"
  }
}
Not seeing your language? Let us know how we could improve.

Living Documentation

Documentation is about transferring knowledge. Most of the knowledge is already available in the code, just waiting to be extracted...