Skip to content
Branch: master
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
..
Failed to load latest commit information.
.gitbook/assets
basics
docs
introduction
README.md

README.md

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;
   }
}
You can’t perform that action at this time.