Permalink
Branch: master
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
58 lines (40 sloc) 1.29 KB

Read Me

Odi

TypeScript framework for creating enterprise-grade (web) applications with simple and minimalistic API, that allows you to focus on business logic. Based on declarative and imperative programming, inspiried by ASP.NET / Spring.

Odi provides feature set for creation of easy supportable and scalable web applications.

Features Overview:

  • MVC
  • Full-typed DI / IoT
  • Authentication
  • WebSockets
  • TypeORM integration
  • GraphQL
  • GRPC
  • CLI
  • AOP
  • SSR

For future updates check Roadmap

{% page-ref page="basics/getting-started.md" %}

Example

import { Controller, IController, Post, Get, Autowired } from "odi";
import { TodoService } from "./todo.service";
import { TodoDTO } from "./todo.dto";

@Controller()
export class TodoController extends IController {

   @Autowired()
   todoService: TodoService;

   @Get index() {
       return `Hello, ${this.request.ip}`;
   }

   @Post async save(toDo: TodoDTO) {
       await this.todoService.save(toDo);
   }
   
   @Get async '/:id' (id: string) {
       const todo = await this.todoService.find(id);
       
       if(!todo) 
         throw NotFound;
       
       return todo;
   }
}