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
- Host: GitHub
- URL: https://github.com/tramvaijs/tramvai
- Owner: tramvaijs
- License: apache-2.0
- Created: 2023-08-11T09:33:11.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-11T11:22:58.000Z (15 days ago)
- Last Synced: 2025-04-11T13:09:22.768Z (15 days ago)
- Topics: javascript, nodejs, react, server-side-rendering, ssr, typescript
- Language: TypeScript
- Homepage: http://tramvai.dev/
- Size: 109 MB
- Stars: 96
- Watchers: 3
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# [
](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
[](https://codesandbox.io/s/tramvai-new-qgk90?fontsize=14&hidenavigation=1&theme=dark)