1.11.0 • Published 1 year ago

@kult/core v1.11.0

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

@kult/core

Status GitHub Issues GitHub Pull Requests CI License semantic-release: angular

Kult core is a open-source framework for developing NodeJs applications and API's.

Have a look at our docs for more information.

Installation

yarn:

yarn add @kult/core @kult/cli

NPM:

npm i @kult/core @kult/cli

Usage

Project folder structure

  • src/app
    • /models
    • /controllers
  • src/config
    • server.ts
    • database.ts
    • plugins.ts
  • src/plugins
  • src/index.ts

Application:

import { Application } from '@kult/core';

const app = new Application();
app.start();

Controllers:

import {
  Controller,
  Get,
  Application,
  ControllerBase,
  Context,
} from '@kult/core';

@Controller('/users')
class UserController extends ControllerBase {
  constructor(app: Application) {
    super(app);
  }

  @Get('/find')
  find(ctx: Context) {
    return 'Hello World';
  }

  @Post('/update')
  post(ctx: Context) {
    return 'Hello World';
  }

  @Put('/create')
  put(ctx: Context) {
    return 'Hello World';
  }

  @Delete('/remove')
  delete(ctx: Context) {
    return 'Hello World';
  }
}

export default UserController;

Create a plugin:

import { Application, Plugin, PluginBase } from '@kult/core';

@Plugin('Logger')
export default class Logger extends PluginBase {
  constructor(app: Application) {
    super(app);
  }
}

Environment Variables

Server:

PORT=3000

Database:

DATABASE_TYPE='postgres'
DATABASE_HOST='localhost'
DATABASE_PORT=5444
DATABASE_USERNAME='admin'
DATABASE_PASSWORD='admin'
DATABASE_DATABASE='development'

Database Models

import { Column, Entity } from 'typeorm';

@Entity()
export default class User {
  @Column({ primary: true })
  id: number;

  @Column()
  name: string;

  @Column()
  description: string;

  @Column()
  filename: string;

  @Column()
  views: number;

  @Column()
  isPublished: boolean;
}

Model Respositories

import {
  Controller,
  Get,
  Application,
  ControllerBase,
  Context,
} from '@kult/core';
import User from '../models/user.model';

@Controller('/users')
class UserController extends ControllerBase {
  constructor(app: Application) {
    super(app);
  }

  @Get('/find')
  async find(ctx: Context) {
    const { datasource } = this.app.database;
    const users = await datasource?.getRepository(User).find();
    return users;
  }
}

export default UserController;

Running

yarn:

yarn dev

NPM:

npm run dev

Building

yarn:

yarn build

NPM:

npm run build

Examples

Community

Built Using

Authors

See also the list of contributors who participated in this project.

1.11.0

1 year ago

1.2.0

1 year ago

1.1.0

1 year ago

1.0.0

1 year ago

1.9.0

1 year ago

1.8.0

1 year ago

1.7.0

1 year ago

1.6.0

1 year ago

1.5.0

1 year ago

1.4.0

1 year ago

1.3.0

1 year ago

0.0.30

1 year ago

0.0.31

1 year ago

0.0.29

1 year ago

1.10.0

1 year ago

0.0.28

1 year ago

0.0.27

1 year ago

0.0.26

1 year ago

0.0.25

1 year ago

0.0.24

1 year ago

0.0.23

1 year ago

0.0.22

1 year ago

0.0.21

1 year ago

0.0.20-beta.1

1 year ago

0.0.20

1 year ago

0.0.19

1 year ago

0.0.18

1 year ago

0.0.16

1 year ago

0.0.13

1 year ago

0.0.12

1 year ago

0.0.11

1 year ago

0.0.10

1 year ago

0.0.9

1 year ago

0.0.8

1 year ago

0.0.7

1 year ago

0.0.6

1 year ago

0.0.5

1 year ago

0.0.4

1 year ago

0.0.3

1 year ago

0.0.2

1 year ago

0.0.1

1 year ago