App

Introduction

In the context of Wizzdi Cloud, an “App” represents a holistic software solution, encompassing its back-end and front-end facets.

Back-end Components

  • These form the engine room of your app, managing the underlying logic, databases, and integrations.
  • Deployment Flexibility: With just a click, these components can be deployed either on Wizzdi Cloud’s infrastructure, your cloud setup, an on-premises server, or even directly on a laptop.

Front-end Components

  • This refers to the user interface – what the end-users interact with.
  • Deployment Options: For mobile applications, the front end can be rolled out on platforms like the Apple App Store or Google Play. Conversely, for web apps, the front end is deployed as static files residing on the back-end infrastructure.
  • The current version of Wizzdi Cloud doesn’t include the front-end tools; these are planned for Q4 2024.

UI Development & Integration

  • While Wizzdi Cloud’s UI builder is in the pipeline, users aren’t limited in their choice of interface design tools. You can craft the UI using your preferred software and subsequently integrate it with Wizzdi Cloud, which serves as a backend.

API Exposures

  • The deployed back-end doesn’t exist in isolation; it provides a REST API suite, allowing for flexible integrations and interactions with other software or systems.
  • These APIs are accessible via our integrated OpenAPI/Swagger interface, which offers a clear, interactive representation of the available endpoints. This facilitates understanding and testing.

In essence, Wizzdi Cloud offers a platform that encapsulates an app’s operational core (back-end) and user-facing layer (front-end), allowing developers and organizations a streamlined approach to app development and deployment.

Design Approaches

 Domain-First Approach

A domain-first approach emphasizes the importance of understanding the data structure of the system you want to create. Here’s how it works:

  • Begin with the Basics: Using Wizzdi Cloud’s intuitive diagramming tools, you’ll outline your domain model. This means identifying the core entities or ‘Things‘ that your system will interact with.
  • Intuitive for Domain Experts: The appeal of this approach is its accessibility to domain experts — those who understand the requirements of an application from a functional perspective rather than a technical one. Take, for instance, a school principal: She would intuitively know that managing a school involves entities like Class, Classroom, Teacher, Student, Subject, etc.  See: Wizzdi Cloud for Domain Experts
  • Seamless Backend Generation: Once you’ve established the entities and their interrelationships, Wizzdi Cloud takes over. A functional backend is generated automatically, with all necessary APIs to manage these entities. This can be grasped visually when running the Walkthrough.

 Contract-First Approach

The contract-first method flips the script by focusing on user interaction first. Here’s the breakdown:

  • UI as the Starting Point: Instead of diving deep into the domain model, this approach starts with the user interface design. This design process inherently outlines the services that the backend needs to provide.
  • Service Definition through OpenAPI: The next step usually involves defining the services following the UI design. This often culminates in creating an OpenAPI document, a contract for what services the backend should offer.
  • Direct Integration with Wizzdi Cloud: Wizzdi Cloud can directly import and recognize the OpenAPI document. Upon importing, a set of exposed APIs materializes in the system. Subsequent steps involve fleshing out these APIs — linking them to specific business logic, integrating with other systems, drawing up custom queries, and aligning them with the eventual domain model.

Whether you’re a domain expert wanting to shape a system around core entities or a designer aiming to sculpt backend services based on user interfaces, Wizzdi Cloud accommodates both avenues, providing a robust platform for achieving your visions.

How to

Create an App

Click on the + new APP button and fill in the required fields for the app.

 

The New App button.

Once clicked, the Create New App dialog is presented; enter a name for the app.

The advanced section is discussed later in this document.

 

The App creation may take a while (20-30 seconds); thanks for being patient.

 

The Overview

 

App Overview.

App Details

The App details are displayed at the top left corner of the APP Overview.

At the top right, you can see the current version you are working on and the APP runtime; Wizzdi Cloud supports three different runtimes. See below in this document.

Maven Coordinates

Each App has a unique designation comprising two values and the version. These are called Maven Coordinates:

  • The GroupId and the Artifact Id. The group Id is usually in the form yyy.xxxxxx
    and the [yyy] is one of com, org, tv, etc. This is similar to the suffix of a URL.
    The [xxxxx] is usually the name of the company or organization owning the App.
  • The Artifact ID uniquely designates the App within the group.

Package Name

Regardless of whether you ever look at the code, Wizzdi Cloud generates code. This is done under the hood; most users need not be concerned.
The code for the backend App is structured in packages, where the package name across all parts of the App typically begins with a predetermined prefix.
The convention is similar to the Group ID.

The default group-id and package name can be set on the user account.

Color

The color for the App in several locations in Wizzdi Cloud.

Icon

This is the App’s icon, which Wizzdi Cloud randomly assigns. Follow the steps below to select a different icon.

Static UI

The current version of Wizzdi Cloud does not have a UI builder for the client-facing side of the application. However, once the initial version of the server is available, you can develop a front-end web application using any available tools and upload it here. Once the back-end application is deployed, the front-end application will be served to users.

Editing the App Details

Click on edit details to edit most of the above items.

Editable items

App Name.

App Description.

Group Id.

Package Name.

Artifact Id.

App Color.

App Icon.

Static files.

Deployment Status

This is a collapsible panel providing information on the deployed app.

Accessing the Commit operation from this area is possible when the app has never been deployed.

When an App is committed successfully, it becomes ready for deployment.

 

Deployment panel: when the app is deployed, uninstall becomes available.

Click on the small arrow (marked by a yellow rectangle) to open the panel.

Deployment Panel when the App has never been deployed.

If the App was deployed at least once and has not been uninstalled, the deployment panel has more information:

 

Deployment Panel is when the app has been deployed at least once.

App Url

When deployed on the Wizzdi Customer Cluster, this is the URL of the static files, in case these were uploaded.

Swagger Url

This URL should always be available and provide the standard Swagger interface for accessing the exposed API of the deployed server.

App Version

The currently deployed version. For information only.

Docker Image

The currently created docker image that was deployed on the Kubernetes cluster. For information only.

 

Chart Version

A chart is a collection of files describing a set of Kubernetes resources.
The displayed version designates the version used for deployment. For information only.

The App Building Process

This panel provides access to some of the editors related to the back-end app-building process. This list is for first-time users who need help understanding the next step. You can access the Walkthrough from the top-right menu to see the order of using the editors.

 

Create your domain model

If you’re not using the contract-first approach, preparing your domain model is the first and mandatory step. Once your domain model is ready, you can commit and deploy your app. After deployment, the back end will include the API endpoints that manage the entities within the domain model.

Add business logic

In most cases, the API endpoints resulting from the domain model will not be sufficient to meet all the project requirements. Therefore, you may need to add additional business flows to enhance the functionality of your application.

Business logic diagrams can help you add extra logic triggered by various events such as data creation or updates, scheduling, webhooks, other business logic events, or messages arriving through Kafka, Websocket, and MQTT.

Add Consumed API

We utilize the Consumed API module to access external services like SendGrid or Google. You have two options for the creation of the full API: either use the OpenAPI import support or define the external API endpoint one by one by following the documentation provided by the external service. This step is only required if you need to access these external services.

The Business Flow diagram tools currently offer several predefined External API endpoints. If a service is unavailable in the already imported APIs, you can always import or create it yourself.

Setup your GIT repositories

This step is mandatory before deploying the created app or accessing the code on a repository. You must grant Wizzdi Cloud access to a remote repository available on Github or a similar service.

Marketplaces

Additional panels.

You can publish a committed App in your marketplaces to share your work with others. Unlike workspaces where several people can work and access the same app, publishing in a marketplace saves a frozen version of the app. This allows others to clone or import the App, modify it, or access its functionality from their apps. You can find more information about marketplaces in the marketplaces section.

Data visualization

This section contains statistics about the current application.

Click the small arrow to the right of ‘Data Visualization’, and a similar view to the image below should appear:

Data Visualization when hovering over the Entities slice.

Hover over a pie slice to view statistics on the element type it represents.

Statistics

Provides some statistics on the created code. It should be noted that Wizzdi Cloud generates code before an App can be deployed. Some users will enhance the code; others will never see it as they prefer a full, no-code workflow.

Code Generated example.

Was This Helpful?
Updated on May 12, 2024

Looking For Somthing Else?

Contact Our support 24/7

Sign Up for Waitlist