Skip to content

Get Started ​

Welcome to the Aerokit SDK - a unified TypeScript SDK for building cloud-native applications, services, and integrations.

This guide will help you understand how to start using Aerokit both inside the platform and externally via npm.

How Aerokit Works ​

Aerokit is typically bundled with the Low-Code platform, which means:

  • No installation is required
  • The runtime, APIs, and modules are already available
  • You can immediately start building services, entities, and integrations

However, the SDK is also published on npm for external usage and development:

Development Model ​

Aerokit follows a TypeScript-first, code-as-configuration approach:

  • Use decorators instead of XML/JSON configs
  • Define APIs with @Controller
  • Model data with @Entity
  • Register services with @Component
  • Schedule jobs with @Scheduled

This makes your code:

  • Self-documenting
  • Strongly typed
  • Easy to test and maintain

Basic Example ​

A simple application typically consists of:

1. Entity (Data Model) ​

ts
import { Entity, Table, Id, Generated, Column } from "@aerokit/sdk/db";

@Entity("CountryEntity")
@Table("SAMPLE_COUNTRY")
export class CountryEntity {

  @Id()
  @Generated("sequence")
  @Column({ name: "COUNTRY_ID", type: "long" })
  public Id?: number;

  @Column({ name: "COUNTRY_NAME", type: "string" })
  public Name?: string;
}

2. Repository (Data Access) ​

ts
import { Repository } from "@aerokit/sdk/db";
import { Component } from "@aerokit/sdk/component";
import { CountryEntity } from "./CountryEntity";

@Component("CountryRepository")
export class CountryRepository extends Repository<CountryEntity> {
  constructor() {
    super(CountryEntity);
  }
}

3. Controller (API Layer) ​

ts
import { Controller, Get } from "@aerokit/sdk/http";
import { Injected, Inject } from "@aerokit/sdk/component";
import { CountryRepository } from "./CountryRepository";

@Controller
@Injected()
class CountryController {

  @Inject("CountryRepository")
  private readonly repository!: CountryRepository;

  @Get("/")
  public getAll() {
    return this.repository.findAll({ limit: 20, offset: 0 });
  }
}

Using Aerokit Outside the Platform ​

If you're not using the bundled runtime, install the SDK manually:

bash
npm install @aerokit/sdk

Then import only what you need:

ts
import { Controller } from "@aerokit/sdk/http";
import { Entity } from "@aerokit/sdk/db";

Key Concepts ​

  • Modules - Independent packages like http, db, security, job
  • Decorators - Define behavior declaratively
  • Dependency Injection - Connect components via @Inject
  • Runtime Extensibility - Add features without redeployment

What to Do Next ​

  • Explore individual SDK modules from the sidebar

  • Start with:

    • @aerokit/sdk/http for APIs
    • @aerokit/sdk/db for persistence
    • @aerokit/sdk/component for DI
  • Build your first:

    • REST service
    • Database entity
    • Background job

Tip ​

Start small: define a simple controller + entity, then gradually introduce repositories, jobs, and integrations.

You're now ready to start building with Aerokit SDK

Released under the EPL-2.0 License.