{"id":13406769,"url":"https://github.com/MaxxtonGroup/microdocs","last_synced_at":"2025-03-14T11:30:46.099Z","repository":{"id":47327688,"uuid":"52605554","full_name":"MaxxtonGroup/microdocs","owner":"MaxxtonGroup","description":" Documentation that scales with your  Microservices","archived":false,"fork":false,"pushed_at":"2022-07-20T18:48:39.000Z","size":76166,"stargazers_count":11,"open_issues_count":0,"forks_count":3,"subscribers_count":9,"default_branch":"master","last_synced_at":"2024-07-31T19:54:33.588Z","etag":null,"topics":["continuous-deployment","continuous-integration","definition","docker","flow","rest-api"],"latest_commit_sha":null,"homepage":"http://microdocs.io","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MaxxtonGroup.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"license.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-02-26T13:16:50.000Z","updated_at":"2022-07-20T18:48:49.000Z","dependencies_parsed_at":"2022-09-26T21:50:52.131Z","dependency_job_id":null,"html_url":"https://github.com/MaxxtonGroup/microdocs","commit_stats":null,"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaxxtonGroup%2Fmicrodocs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaxxtonGroup%2Fmicrodocs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaxxtonGroup%2Fmicrodocs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaxxtonGroup%2Fmicrodocs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MaxxtonGroup","download_url":"https://codeload.github.com/MaxxtonGroup/microdocs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243569072,"owners_count":20312356,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["continuous-deployment","continuous-integration","definition","docker","flow","rest-api"],"created_at":"2024-07-30T19:02:38.773Z","updated_at":"2025-03-14T11:30:46.074Z","avatar_url":"https://github.com/MaxxtonGroup.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.org/MaxxtonGroup/microdocs.svg?branch=master)](https://travis-ci.org/MaxxtonGroup/microdocs)\n# ![Icon](docs/assets/images/microdocs.png) MicroDocs\n\nThis 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\n\nFull documentation can be found at [microdocs.io](http://microdocs.io)\n\n## MicroDocs Flow\n![MicroDocs Flow](docs/assets/images/microdocs-flow.png)\n\n1. Generate Microdocs definitions from Java or TypeScript source files.\n2. Upload those definitions to the MicroDocs server using the Crawlers, Jenkins or the RestApi.\n3. The MicroDocs server organise all the definitions and do some compatibility checks.\n4. Explore project definitions using the Microdocs UI\n5. Preforme Api tests and setup a Mock server.\n6. Integrate with many other tools with Swagger, Postman and Api Blueprint.\n\n## Setup\nMicroDocs consists out of crawlers, server, ui and integrations tools.\n**Crawlers** generates definitions from the source code of a project.\nThese definitions are then published at the MicroDocs server.\nThe **server** then checks for compatibility problems and aggregate the result.\nThe **ui** or other **integration tools** request the result through the RestApi of the server.\n\n### Setup MicroDocs Server\nThe MicroDocs server is available on [Docker Hub](https://hub.docker.com/r/maxxton/microdocs/).\nTo install via Docker run:\n```\n$ docker run --name microdocs -v /some/data/folder:/microdocs/microdocs-server/data -p 3000:3000 -d maxxton/microdocs\n```\n\n### Build the MicroDocs Docker image\n```\ndocker build --no-cache --build-arg=CLI_VERSION='2.0.0' --build-arg NPM_TOKEN={yourtoken} .\n```\nWhere yourtoken can be generated as a base64 encoded string of the username and password:\n```\necho -n 'user:pass' | openssl base64\n```\n\n### Setup Crawlers\nCrawlers are project and framework specific. Currently only the Spring framework is supported. \nThe setup for each Crawler can be found in their subdirectories\n\n### Setup Integrations tools\nIntegrations tools have their own setup. They can be found in their subdirectories\n\n## Features\n* **User interface**\n    * Overview of all projects with their dependencies\n    * RestAPI definitions\n    * Show compatibility problems\n* **Server**\n    * Follows the [Open Api specifications](https://openapis.org/specification) with some additions\n    * Central place to store all project definitions\n    * Versioning support\n    * RestAPI for many integrations\n    * Easy setup through Docker\n* **Crawlers**\n    * Generate definitions from projects\n    * Crawl projects at build time\n    * Plugin for gradle projects\n    * Currently only Spring applications are supported\n* **Integrations**\n    * Jenkins plugin\n        * Publish new definitions to the MicroDocs server\n        * Check for compatibility problems\n        * Report back on a pull request in BitBucket/Stash\n    * Gradle plugin\n        * Generate definitions from projects\n        * Publish new definitions to the MicroDocs server\n        * Check for compatibility problems\n    * Kubernetes (coming soon...)\n    * Api testing (coming soon...)\n    * Mock server (coming soon...)\n    * [Swagger integrations](http://swagger.io/open-source-integrations/)\n    * [Api Blueprint integrations](https://apiblueprint.org/tools.html)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMaxxtonGroup%2Fmicrodocs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FMaxxtonGroup%2Fmicrodocs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMaxxtonGroup%2Fmicrodocs/lists"}