Home

Awesome

CodeDB: Technology Insight of Code

CI Maven Central

CodeDB Logo

CodeDB is a Technology Insight Platform for Software Development.

CodeDB 是一个专为软件开发本身开发的代码数据库,可以用于架构治理、代码生成等领域。基于架构孪生 的理念,内建架构适度度函数、代码设计查询和存储 DSL、依赖分析引擎、机器学习算法等。

Architecture diagram:

+------------------------------------------------------------+
|        +----------------+---------------+---------------+   |
|   UI   |    Workbench   | ArchComponent |     eDSL      |   |
|        +----------------+---------------+---------------+   |
+------------------------------------------------------------+
|        +----------------+---------------+---------------+   |
| Domain |   Kotlin REPL  | FitnessEngine |  Task Engine  |   |
|        +----------------+---------------+---------------+   |
+------------------------------------------------------------+
|        +----------------+---------------+---------------+   |
| DataAI |  Factor Model  | Structure QL  |    ML Algo    |   |
|        +----------------+---------------+---------------+   |
+------------------------------------------------------------+

Code DataStructure

Principle

ThinSlice for Goal

By Level:

Development

requirements: JDK 11, Node.js 16, MongoDB 5.0

Install

  1. setup JDK 11
  2. install MongoDB and start it
  3. start spring boot application
    • ./gradlew bootRun_

Scan Data with ArchGuard

test cli

java -jar/scanner_cli.jar --language=Kotlin --features=apicalls --output=http --output=json --path=. --server-url=http://localhost:8084

Known Issues

Why JDK 11 with MongoDB 5.0

问题:

  1. cglib 不支持 Java 17 Java 16 and 17 compatibility #191 : https://github.com/cglib/cglib/issues/191
  2. QueryDSL MongoDB 5.0 只支持 MongoDB 6.0 以下版本(暂不支持 6.0),需要自己实现 querysql-mongodb。

License

This code is distributed under the MIT license. See LICENSE in this directory.