@kult/core
v1.11.0
Published
A NodeJs framework for building backend applications
Downloads
12
Readme
@kult/core
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
- @michael616kriel - Idea & Initial work
See also the list of contributors who participated in this project.