Skip to content

Demo app applying clean architecture, automation and IaC principles to a TypeScript application

Notifications You must be signed in to change notification settings

jbrunton/chat-demo

Repository files navigation

Chat Demo

build Mutation testing badge

This project is an exercise in developing good clean architecture and CI/CD practices. It includes (or will include):

  • Infrastructure as Code with Pulumi, including automatic provisioning of preview environments for each PR.
  • CI including linting, unit, integration and mutation tests.
    • TODO: Eventually end to end tests with Playwright.
  • A clean architecture, including dependency inversion enforced through linting rules with eslint-plugin-boundaries.
  • Continuous delivery practices, including automatic deployments to staging and production environments.
  • TODO: Automatic dependency updates (including automerging for minor version changes) with Renovate.

The demo application

The project implements a very basic realtime chat app at chat-demo.jbrunton-aws.com.

  • From the home screen you can create "rooms". Each room has a unique URL. Anyone connecting to the room can chat using server-sent events.
  • The app responds to commands prefixed with /. Type /help into the chat window to get assistance.

About

Demo app applying clean architecture, automation and IaC principles to a TypeScript application

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published