Skip to content

robalb/morsechat

Repository files navigation

Morsechat

Website Online Channels license Grade

Discord

An online morse code chat, allowing users from all over the world to practice and communicate in morse code without the need for expensive equipment. Live at morse.halb.it

screenshots

configuration

Copy the file env.example into .env

in the .env configure your app secret

development

clone this repository git clone https://github.com/robalb/morsechat.git

navigate into the repository cd morsechat

start the backend server in development mode cd backend && go run -race cmd/morsechat/main.go

start vite in development mode cd web && npm run dev

These steps are enough to get a local version of the app running. The backend also includes unit, e2e, and fuzz tests, which you can run with the command go test ./...

production

The easiest way to run the webapp in a production environment is with the provided docker-compose.yml, docker-compose up --build

Alternatively you can deploy the app on a k8s kluster using the manifests in kubernetes/base but first you will need to setup on your own a traefik ingress controller and certmanager. The backend webserver is configured to handle X-Forwarder-For headers coming from an ingress with proxy protocol enabled. You can configure it in flaskapp.conf

The live website on halb.it is built using github workflows, and deployed on a k8s cluster with argoCD