Simple chat application with channels and messages.
Uses queries, mutations and subscriptions. Subscriptions use graphql-ws -protocol.
App is built with ASP.NET Core backend and Preact frontend. Backend acts as both API and host for the frontend.
- .NET 9.0 SDK or later
- Node.js 22.12.0 or later (required for Vite 7)
- Application uses GitHub authentication and you must provide your own ClientId and ClientSecret
in the
appsettings.Local.json-configuration file. - Application uses Node.js and npm to build the frontend
dotnet build -c Release
dotnet run -c Release --launch-profile ChatProduction --project .\src\Chat.Api\This will build the backend and frontend and run the app in "Production" -environment on https://localhost:8001.
- Same as running the app
- Install frontend dependencies
npm installin thesrc\Chat.Api\UI2-folder
You can develop the app in two ways:
- Run Vite manually from command prompt: set the Vite:AutoRun false in your configuration and launch Vite manually
npm run devin thesrc\Chat.Api\UI2-folder. - Let Visual Studio start Vite automatically: set the Vite:AutoRun true in your configuration.
Running Vite manually is faster, but you need to remember to start it before running the app. Letting Visual Studio start Vite automatically is slower as Vite is started and stopped when you launch the app.