# Mandarine.TS

Mandarine.TS is a framework that allows you to create applications. Mandarine.TS provides a range of built-in solutions such as Dependency Injection, Components, ORM and more. Under its umbrella, Mandarine.TS has 4 modules: *Core*, *Data*, *Security* and *MVC,* these modules will offer you the requirements to build a Mandarine-powered application. However, the most common module is *Mandarine MVC,* since it combines all the concepts from its different cores into one, in order to make the creation of complex web-applications (front-end & back-end) easy, reliable, and following design patterns & principles such as [SOLID](https://en.wikipedia.org/wiki/SOLID), making your application sustainable & readable across developers.

### Features

[Dependency Injection](https://mandarineframework.gitbook.io/mandarine-ts/mandarine-core/dependency-injection), [Components](https://mandarineframework.gitbook.io/mandarine-ts/mandarine-core/components/component), [Decorator-driven Router](https://mandarineframework.gitbook.io/mandarine-ts/mandarine-mvc/controllers/using-routes-and-http-handlers), [Middleware](https://mandarineframework.gitbook.io/mandarine-ts/mandarine-mvc/custom-middleware), [Sessions](https://mandarineframework.gitbook.io/mandarine-ts/mandarine-mvc/session-middleware), [Built-in ORM](https://mandarineframework.gitbook.io/mandarine-ts/mandarine-data/orm), [MQL](https://mandarineframework.gitbook.io/mandarine-ts/mandarine-data/mandarine-query-language) (Mandarine Query Language), [Template Engine](https://mandarineframework.gitbook.io/mandarine-ts/mandarine-mvc/template-engine)

### Repository

[Click here](https://github.com/mandarineorg/mandarinets) to see Mandarine's Github repository

### Deno & Mandarine

Mandarine runs on [Deno](https://deno.land/), a secure runtime for Javascript & Typescript. However, Mandarine is fully written in Typescript.

## Configuration

The use of *Deno* for running *Mandarine* makes configuration easy & approachable as you do not need any package management software.

{% hint style="info" %}
Make sure you have installed *Deno* & your workspace is ready to be used.
{% endhint %}

In order to use Mandarine's technologies, you must import its dependency file in your typescript files.

```typescript
import { /* Your imports */ } from "https://deno.land/x/mandarinets/mod.ts";
```

The **mod.ts** file will provide you with access to all the modules integrated in Mandarine.TS, however, if you need to specify an specific import *or* an import has not been added to the *mod.ts* fil&#x65;*,* you can import it manually from the repository following the shown example. For example:

```typescript
/**
 * Importing manually to the root of the repository/logger/log.ts
*/
import { Log } from "https://deno.land/x/mandarinets/logger/log.ts"
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://mandarineframework.gitbook.io/mandarine-ts/master.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
