Skip to content

Boilerplate project for a TypeScript API (Express, tsoa) + UI (React/TSX)

Notifications You must be signed in to change notification settings

lukeautry/ts-app

This branch is 1 commit ahead of master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

3f971b8 · Sep 19, 2021
Oct 25, 2020
Oct 26, 2020
Jan 1, 2021
Nov 15, 2020
Sep 19, 2021
Oct 26, 2020
Nov 21, 2018
Sep 19, 2021
Dec 31, 2020
Oct 14, 2020
Jan 1, 2021
Dec 31, 2020
Dec 29, 2020
Sep 19, 2021
Dec 31, 2020
Dec 31, 2020
Jan 1, 2021
Sep 19, 2021

Repository files navigation

ci

ts-app: Full-stack TypeScript Development Framework

This project is a starting point for developing an API-first application using TypeScript, Node.js, and React.

This project aims to support a "domain driven" approach. A client library is automatically generated from the API, providing a statically typed interface with which to interact with the API from the React UI. The goal is to provide a type-safe and productive developer experience for rapid web application development.

** Check out the new SaaS branch! Includes login flow, password reset, routing, emails and email previews, component library development via Cosmos, and more **

Getting started

  • yarn to install dependencies
  • yarn build to build from source
  • yarn cli start to start developer environment
  • yarn cli to use developer CLI
    • Includes dev environment setup, docker management, database management, and more
    • Full CLI docs

Developer experience

alt text

Project structure

This project uses TypeScript Project References to organize modules. This gives us:

  • Faster builds
  • Formal project dependencies; subprojects can't import from other subprojects unless the dependency is configured

Packages

  • cli - Developer CLI tool
  • client - Front-end React App
  • common - Modules used by either browser or node environments
  • node - Modules used by node environments
  • server - Express server w/ tsoa API
  • openapi-client - Autogenerated TypeScript client; used to communicate with OpenAPI REST API from client
  • cypress - Cypress tests

System Requirements

Technologies Used

Running Tests

Jest Tests

Includes server node.js tests and front-end react-testing-library tests.

yarn cli test jest

Cypress Tests

End to end tests that touch everything and hit a running version of the application

yarn cli test cypress

Contributing

  • Features and bug fixes welcome

About

Boilerplate project for a TypeScript API (Express, tsoa) + UI (React/TSX)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published