https://github.com/MaxxtonGroup/microdocs
Documentation that scales with your Microservices
https://github.com/MaxxtonGroup/microdocs
continuous-deployment continuous-integration definition docker flow rest-api
Last synced: about 2 months ago
JSON representation
Documentation that scales with your Microservices
- Host: GitHub
- URL: https://github.com/MaxxtonGroup/microdocs
- Owner: MaxxtonGroup
- License: mit
- Created: 2016-02-26T13:16:50.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2022-07-20T18:48:39.000Z (almost 3 years ago)
- Last Synced: 2024-07-31T19:54:33.588Z (9 months ago)
- Topics: continuous-deployment, continuous-integration, definition, docker, flow, rest-api
- Language: TypeScript
- Homepage: http://microdocs.io
- Size: 72.6 MB
- Stars: 11
- Watchers: 9
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: license.txt
Awesome Lists containing this project
README
[](https://travis-ci.org/MaxxtonGroup/microdocs)
#  MicroDocsThis tool keeps your api documentation in one place organised. Multiple project can be stored in groups and you can keep track of different versions. MicroDocs uses an extended version of the OpenApi specifications, which adds definitions for dependencies between projects. So breaking changes in the REST API between two project can be detected. MicroDocs can become a key part in your Continuous Integration/Deployment infrastructure, thanks to the integration with many tools
Full documentation can be found at [microdocs.io](http://microdocs.io)
## MicroDocs Flow
1. Generate Microdocs definitions from Java or TypeScript source files.
2. Upload those definitions to the MicroDocs server using the Crawlers, Jenkins or the RestApi.
3. The MicroDocs server organise all the definitions and do some compatibility checks.
4. Explore project definitions using the Microdocs UI
5. Preforme Api tests and setup a Mock server.
6. Integrate with many other tools with Swagger, Postman and Api Blueprint.## Setup
MicroDocs consists out of crawlers, server, ui and integrations tools.
**Crawlers** generates definitions from the source code of a project.
These definitions are then published at the MicroDocs server.
The **server** then checks for compatibility problems and aggregate the result.
The **ui** or other **integration tools** request the result through the RestApi of the server.### Setup MicroDocs Server
The MicroDocs server is available on [Docker Hub](https://hub.docker.com/r/maxxton/microdocs/).
To install via Docker run:
```
$ docker run --name microdocs -v /some/data/folder:/microdocs/microdocs-server/data -p 3000:3000 -d maxxton/microdocs
```### Build the MicroDocs Docker image
```
docker build --no-cache --build-arg=CLI_VERSION='2.0.0' --build-arg NPM_TOKEN={yourtoken} .
```
Where yourtoken can be generated as a base64 encoded string of the username and password:
```
echo -n 'user:pass' | openssl base64
```### Setup Crawlers
Crawlers are project and framework specific. Currently only the Spring framework is supported.
The setup for each Crawler can be found in their subdirectories### Setup Integrations tools
Integrations tools have their own setup. They can be found in their subdirectories## Features
* **User interface**
* Overview of all projects with their dependencies
* RestAPI definitions
* Show compatibility problems
* **Server**
* Follows the [Open Api specifications](https://openapis.org/specification) with some additions
* Central place to store all project definitions
* Versioning support
* RestAPI for many integrations
* Easy setup through Docker
* **Crawlers**
* Generate definitions from projects
* Crawl projects at build time
* Plugin for gradle projects
* Currently only Spring applications are supported
* **Integrations**
* Jenkins plugin
* Publish new definitions to the MicroDocs server
* Check for compatibility problems
* Report back on a pull request in BitBucket/Stash
* Gradle plugin
* Generate definitions from projects
* Publish new definitions to the MicroDocs server
* Check for compatibility problems
* Kubernetes (coming soon...)
* Api testing (coming soon...)
* Mock server (coming soon...)
* [Swagger integrations](http://swagger.io/open-source-integrations/)
* [Api Blueprint integrations](https://apiblueprint.org/tools.html)