An open API service indexing awesome lists of open source software.

https://github.com/tramvaijs/tramvai

A modular framework for universal JS applications
https://github.com/tramvaijs/tramvai

javascript nodejs react server-side-rendering ssr typescript

Last synced: 14 days ago
JSON representation

A modular framework for universal JS applications

Awesome Lists containing this project

README

        

# [taiga ui logo](https://tramvai.dev/)

Modular framework for universal React applications

---

## Features

- โœˆ๏ธ **Universal**

Creates SSR `React` applications - includes solid server with metrics, health checks and graceful degradation support

- ๐Ÿ’‰ **Dependency Injection**

Provides simple and powerful DI system, inspired by `Angular` and `Nest.js` best practices

- ๐Ÿงฉ **Modular**

Every application build from list of feature modules - doing one thing right!

- โšก **Fast and lightweight**

Enforces best web-performance techniques - resources preloading and inlining, lazy hydration ๐Ÿš€, modern ES bundles, tree-shakable libraries

- ๐Ÿ”— **Chain of commands**

Elegant pattern for complete control over application life-cycle - predictable flow for every HTTP request into application, running async actions in parallel, limits the duration of server-side actions

- ๐Ÿงฑ **Micro Frontends**

Heavily integrated solution for Micro Frontends with SSR and Module Federation

- ๐Ÿ› ๏ธ **Tooling**

Functional CLI for generating, develop, analyze, and bundling `tramvai` applications - powered by `webpack@5`

- ๐Ÿงช **Testing**

Complete set of unit and integration testing utilites - powered by `jest` and `testing-library`

- ๐Ÿ•Š๏ธ **Migrations**

Automatic migrations with `jscodeshift` codemodes

## Get started

1. Generate new application

```sh
npm init @tramvai@latest my-awesome-app
```

2. Run development server
```bash
cd my-awesome-app && npm start
```
application will be available at `http://localhost:3000/`

## Tutorials

[Pokedex application](https://tramvai.dev/docs/tutorial/new-app)

## Sandboxes

[![Edit on CodeSandbox](https://codesandbox.io/static/img/play-codesandbox.svg)](https://codesandbox.io/s/tramvai-new-qgk90?fontsize=14&hidenavigation=1&theme=dark)