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

Folders and files

NameName
Last commit message
Last commit date

Latest commit

210c554 · Aug 12, 2024
Dec 25, 2022
Jul 30, 2023
Dec 20, 2022
Jul 30, 2023
Jul 23, 2023
Aug 12, 2024
Aug 12, 2024
Dec 29, 2022
Jun 10, 2023
Jun 10, 2023
Dec 20, 2022
Jun 10, 2023
Jan 1, 2023
Jun 10, 2023
Jun 10, 2023

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