Hackeet is desktop application that speeds up the creation of APIs, back ends or webhooks by connecting web applications together.
Hackeet is based on five basic concepts, nodes, ports, links, functions and variables.
Develop applications on your laptop with Hackeet.
Once development is complete, start your applications and webservices on your own servers or deploy them on the Hackeet cloud.
In order for your license to be installed correctly, your laptop must be connected to the internet.
If you are using the free version of Hackeet, you can skip this section as a trial license is installed by default.
To use Hackeet, you need a license which must be installed on your laptop. Each license is assigned to a user and a machine and cannot be transferred from one laptop to another. However, when renewing your license, you can always change the machine on which you will use Hackeet.
The license determines, according to the pricing plans, which Hackeet features are available and at what performance level.
A default license is automatically installed if you do not have a paid license or if your license has expired, switching you to the free plan.
To purchase a license, log into your Hackeet account and choose the plan that suits you.
Once purchased, download the license.
Start Hackeet and go to Settings->License. Click on "Install License" and select the file you just downloaded.
Components are software that you can install to add additional features to Hackeet, such as sending email, reading/writing data from Bubble or saving data to MongoDB or PostgreSQL databases.
By default, only a minimal set of components are installed, allowing you to use only those you really need.
To install new components or update those already installed, start Hackeet on your laptop, go to Settings -> Packages and select the appropriate package.
Hackeet applications are saved on your own hard drive or version control system, like any other standard text file.
To create a new application, first choose the file in which it will be saved.
Select the components of your application from the component palette and drag them onto the worksheet.
Here we will use two components: the Clock component which injects events at regular intervals, and the Standard Output component which displays messages on the standard output.
Once the components have been placed on the worksheet, connect them together.
Connections between components represent the way in which information will flow between them, unilaterally, from an originating, or source, component to a destination, or target, component.
To connect two components, double click on the source component and while holding down the mouse, draw a line to the target component. Release the mouse when the arrow turns green.
Nodes can usually be both source and target. However, some nodes only fulfil one of the roles, target or source.
When a component is double-clicked, the nodes to which it can be connected are highlighted in green.
Apart from a few nodes, most nodes need to be configured before running.
To configure a component, select it and go to the properties editor. In our example, we will enter the text to be displayed on the standard output, which is the traditional "Hello World" that developers are familiar with.
Configurations have mandatory and optional fields that can be accessed by clicking on the "Show/Hide" button in the Property Editor.
Type of parameters
The parameters that can be used to configure/set up nodes can be of several kinds:
Start your local server by pressing "Start Server".
In our example, the application will display the message "Hello World" in the output console.
Now that we have seen the basics of Hackeet, let's build our first microservice.
The purpose of this service will be to receive a string of characters and return a welcome message.
Select the Endpoint, Node and Output components from the Hackeet tab of the component palette and drop them onto the worksheet.
The Endpoint component will define the access point to the microservice, the Output component will send the microservice response to the clients, while the Node component will allow us to build the responses to be returned using formulas.
Select the Endpoint component and in the Arguments section of the Property Editor, enter the name of the parameters expected by the microservice. Here, we will only ask for a string of characters that we will call message.
For an Endpoint, several parameters can be specified by indicating the name of each parameter on one line.
Parameter names must not contain special characters or spaces.
Connect the Endpoint component to the Node component. The link thus constructed is then red as it needs to be configured and in particular, it is necessary to specify the port of the Node component to which it should be connected. Here, we have chosen to name this port "input".
Select the Node component and, in the Preprocessing section, type the following lines (note that there must be only one instruction per line)
The two lines above declare an output port for the Node component which will be called response. This port will carry two pieces of information, one called date and one called echo. The date value is calculated by calling the date_str function which returns the current date as a string, while the echo value is calculated by calling the strcat function which concatenates a fixed string (":echo "to a string from the input field (input.message).
Now connect the Node component to the Output component. Select the link that has just been created and, in the proerties editor, for the From parameter, enter the name of the port created in the previous step, namely response.
All information from the previously created response port will now be sent to the Output component which will return it to the users of the microservice.
Click on the Hosting menu in the main toolbar.
Enter a name for your server and click Create Server.
Click Start to start your server.
Copy the server address obtained during deployment. This address is the base address of the server.
To access a particular endpoint in the microservice, add /YourEndpoint to the base address where YourEndpoint is the real name of the endpoint you want to use (In our example, as our Endpoint is called Echo, the Endpoint address for our microservice would therefore be https://cloud.hackeet.io:82/3c79b8f1-dd34-403c-b18f-d7547e84bb6d/Echo). Enter this address with the message parameter in the navigation bar of your browser or in curl command.
The microservice then returns a JSON message containing the record and date attributes defined earlier.