Skip to main content

Creating a new module

You can create a new module by following these steps:

1. Creating the module#

  • Go to the EVA Suite Template repository.

  • Create a new repository using the green 'Use this template' button above. The name should match other repository names. It should be named like thiseva-suite-{module-name}.

  • Clone the newly created repository to your machine.

    git clone git@github.com:new-black/eva-suite-{module-name}.git

  • Make sure gomplate and tree are installed on your machine (MacOS).

    brew install gomplate & brew install tree

  • Open the project and change the variables values in 'customize.json' to values that are suited to the new project you are creating.

For example:

{  "projectName": "Orders",  "projectCode": "ORDERS",  "projectPackageName": "eva-suite-orders",  "projectUrl": "orders",  "sentryDsn": "https://1e91b885de834378a462ea0dddf05e20@o321914.ingest.sentry.io/5544639"}
  • Run the following in your terminal:
sh customize

Voila, you have a new EVA Suite.

2. Adding a module to an endpoint#

Activating the configuration module (if it's not activated yet)#

You can activate modules in the configuration module, which is a module, which is a problem if it's not activated yet. Luckily, you can activate the configuration module using DORA.

To enable the configuration module, paste the following request in DORA under AdminCreateModule:

const request: Partial<EVA.Admin.AdminCreateModule> = {  "Code": "CONFIGURATION",  "Data": {    "Actions": [],    "Description": "Configure an EVA environment",    "Title": "Configuration",    "Url": "/configuration",  },  "IsActive": true,  "Name": "Configuration"}

Activating your newly created module to an endpoint#

When the configuration module is activated you should be able to create a new module on the configuration module.

  • Please login to the dashboard of your deployment. There you should see a card called: 'Configuration'. Click on it. You will be navigated to EVA Suite Configuration.
  • Now in the sidebar click on 'Modules'. You will ben navigated to the module chapter.
  • You should see the current modules. Click on the plus icon at the right top.
  • Fill in the following details:
    • Name: {projectName you used in customize.json}
    • Code: {projectCode you used in customize.json}
    • Title: {projectName you used in customize.json}
    • Description: {brief description of the module}
    • URL Path: /{projectUrl you used in customize.json}