Skip to main content

Create projects

Whenever you want to implement a solution with Solution Designer, you need to create a project first. Solution Designer currently supports the following project types:

Create new projects

Select starting point

The first step when creating a new project is to select a starting point. You can either select a project type to create a project from scratch, or an asset to create a project based on the asset.

There are two filters available:

  • Type: Shows only project types or assets.
  • Stack: Select the project stack to filter the result.
Project types

Solution Designer offers different project types that support architectural design as well as different approaches of development:

  • System Architecture Design: Used to plan and design the overall project and the individual service projects that are needed for implementation. Based on the principles of C4 Modeling (LINK TO THE C4 OVERVIEW), you can create diagrams of different levels of your architecture as well as manage the individual model elements and architectural decision records.
  • Service Projects: Represents a single microservice modeled and implemented by the user, which then can be used as component for an application composition project. Every service project is based on a Stack defining the base technology and available capabilities in the project.
  • Application Composition Projects: This project type is used to compose applications based on already existing, reusable components.

Service Projects are distingushed in Domain Services, Integration Services, and Generic Services.

Domain Services support designing all elements of the component in a Design2code way. The Solution Designer lets you model all parts in a structured and organized way, offers rich documentation possibilities for most of these elements with e.g., auto-generated UML diagrams to visualize the design model. Although there is full support for code generation and the generated source code can be run immediately, you will still have to write the business logic code to get the component solving the business problem.

The functionality of Integration Services lies between Domain Services and Generic Services. An Integration Service facilitates the connection and communication between different services by creating a backend for your project that provides a REST API and consumes other REST APIs. Its primary goal is to enable data and process exchange between them, ensuring seamless workflows and improved operational efficiency.

Generic Services give you full flexibility and control in regard of how you design and implement the project. You can easily re-use organization best practices, cross-cutting functionality as well as use-case-specific code-frameworks while you are free in design and implementation the features like the integrated developer documentation or pre-defined build and deploy pipelines are available for this type of projects as well.

A Stack is used as a base for any service project and defines the used technology, implementation language and the available capabilities during the service development. Please see Project Types Overview for more information about possibilities for projects.

Assets

Assets from asset catalogs that are marked as "Included in project creation" are included as a starting point in the project creation. In the case of choosing an asset as a basis for your new project, you have the opportunity to check the asset details in the next step before finalizing the project.

ℹ️note

When creating a project based on an asset, some information will be set by the Asset such as the category, type and implementation language.

View details

ℹ️note

This step is only present if you chose an asset in the first step.

It displays the details for the selected project asset in the latest available version. You can access earlier versions by selecting it in the drop down.

Asset details

  • Acronym
  • Version
  • Contributor
  • Export date
  • Description
  • Tags

Stack and extensions

  • Stack
  • Stack version
  • List of enabled extensions enabled

The information for the asset are displayed for each version.

ℹ️note

For assets created from a Domain Service also API Operations, Domain Services and Integration Services are displayed.

  • Click on the Next button to go to the next step.

Finalize project

Finally, you can define the Master Data of the new project as follows:

ℹ️note

If you selected an asset in the first step this step has a pre-filled form to create a new project based on the selected asset.

  • Acronym: The project's acronym must be unique and must not contain more than 20 characters in capital letters and numbers without special characters (required)
  • Name: The name of the project (required)
  • Git Provider: A list of all Git providers for which you have an access token (required)
  • Repository Group: All repository groups in the specified Git provider for which you have at least read rights (required)
  • Repository Key Path: The full path of the Git repository for the project (optional)
  • Package Name: Only available for Domain Services based on Java Spring Boot (required)
  • Persistence Support: Only available for Domain Services based on Java Spring Boot; MongoDB or RDBMS are supported (required)
  • Event Support Version: Only available for Domain Services; Version 1.0 or 2.0 available (required)
  • Tags: To tag the projects (optional)
  • Icon: Name of the icon used on the project card (required)
  • Description: Description of the project. Shown on the project card (optional)
ℹ️note

Based on the type of the project, the master data contains additional input fields to manage the project extensions.

ℹ️note

The Project Category used in earlier versions of IBM Industry Solutions Workbench is no longer available.

Confirming the entries completes the creation of a new service project.

warning

Within Solution Designer, there is no possibility to grant permissions to a project. To make a team workable with the project you must manage the permissions in the Git repository.

Project states

The state of the creation process is shown in the Projects overview. It shows Processing while the project is being created. In this state you can open the project, but you cannot proceed any action. In case of an error, it is also shown on the project in the overview. In this case you can open the project in order to delete it.

If a project was created successfully it is stated as New for the first 24 hours after creation. If its state is Error after creation, it means that the creation or initialization of the project on the remote Git repository failed. In this case it cannot be guaranteed, that the project is now ready to work.

Possible reasons for this are:

  • The remote Git repository is not available at the moment
  • Invalid Git username and Git token combination defined
  • The defined Git token does not provide enough permissions to create a new repository

Recommendation:

  • Ensure that the above-mentioned points are set up correctly
  • Delete the project in Solution Designer
  • Ensure that the remote Git repository was deleted as well (if necessary, delete it by hand)
  • Try to re-create the project using Solution Designer. If it still fails, please contact your administrator
ℹ️note

The user who created a project has the possibility to read it while the project is in state Processing or Error.

💡tip

In order to hide your project, make sure to set your project to private in the Git repository.

Course Project Types