/tamsui

An Express/React universal application boilerplate

Primary LanguageJavaScriptMIT LicenseMIT

Tamsui logo

Tamsui

Tamsui is an Express / TypeScript / React server-side rendered universal JavaScript application boilerplate.

Tamsui is a Node.js boilerplate using TypeScript and React. This boilerplate provides server-side rendering using an Express webserver for a client-side React application.

Tamsui renders to a React application to a Node.js stream utilizing React 18's renderToPipeableStream method.

Mission Intent

Tamsui is meant to be a baseline boilerplate for starting new projects. The intent of this repository is to provide a thorough project start utilizing a specific set of tech stack and implemenentation decisions while remaining as simple as possible. This boilerplate will provide a foundation for building out a client served by a webserver that acts as a backend for frontend.

Documentation for this project will be thorough, test coverage will be complete. To that end unit test coverage requirements are set to 100% to start.

Any non-trivial decisions made within this project will be documented. Technical decisions will be documented in Pull Request descriptions, project decisions documented in a project board.

What Tamsui Is Not

Tamsui is an isomorphic JavaScript application. The Express server that renders the application is intended to serve as a simple backend for frontend, not a full fledged backend for business logic.

Tamsui is meant to be a starting point for building a frontend layer, not an entire business application. Any backend API for managing business logic should not be built on top of Tamsui, and should exist outside of any application built on top of this boilerplate.

Tech Stack

Server

Client

Developer Tooling

Usage

Usage documentation is provided in docs/README.md.

License

MIT