DJAI is an instument to simplify & sistematize building of Enterprise class systems. The mission of DJAI – build development instrumentation to effectively design, generate, develop, & deploy microservice systems & modern web applications.
New features and instrumentation coming soon.
Projects:
- codegen-cli – Codegen, takes OpenAPI specifications, settings, and generates the code for entire project incuding: data models, controllers, services, repositories, database tables, tests, entire configuration. Ready to run tests application.
- openapi-load (Deprecated) – API loader, connects to difhub.com, loads metadata of the selected system and converts it to the OpenAPI documents.
- intellij-idea (On Hold)– Plugin for the IntellijIdea to have UX.
NOTE. Since project is in Preview, only usage in development mode available.
For new project:
- Clone repository of the project
- Run
./gradlew intellij-plugin:runIde
- Select
+ Create New Project
->Bootstrap from DifHub
(on left nav) - Type your DifHub
Username
andPassword
,Organization Name
where your system located. - Select required system and change defaults (optional) -> Press Next
- Choose project name and directory
- Generate your project. Progress (or exception) you can see in the console output.
For existing projects (coming soon):
- Start plugin using the same 1. and 2. from above list
- Open existing project
- On the top (IJ) nav menu, right after the
Tools
find theDifHub
menu item - Click
Load OpenApi
to start initialization or load (if all settings are present in project)- if file
djet/.credentials.yaml
is missing – plugin will create and open one. Add right username, password, organization- Note. this file added to gitignore file by generator so each user need to provide own credentials.
- if file
djet/settings.yaml
is missing – plugin will create and open one. Add right settings.
- if file
- When all required are present – OpenAPI files will be generated by the plugin.
- Having all OpenAPI files and setting – click
Generate Code
in the Plugin menu.
If any issue:
- Fix the issue and create PR
- Post issue here on GitHub