https://github.com/robalb/morsechat
an online morse code chat
https://github.com/robalb/morsechat
amateur-radio cw-keyer morse morse-code webapp
Last synced: 3 months ago
JSON representation
an online morse code chat
- Host: GitHub
- URL: https://github.com/robalb/morsechat
- Owner: robalb
- License: gpl-3.0
- Created: 2017-12-23T21:12:00.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2025-03-21T17:28:41.000Z (4 months ago)
- Last Synced: 2025-04-09T15:03:29.167Z (3 months ago)
- Topics: amateur-radio, cw-keyer, morse, morse-code, webapp
- Language: Go
- Homepage: http://morse.halb.it/
- Size: 11.9 MB
- Stars: 67
- Watchers: 3
- Forks: 5
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Roadmap: docs/roadmap.md
Awesome Lists containing this project
README
#
Morsechat
[](https://morse.halb.it)
[](https://morse.halb.it)
[](https://morse.halb.it)

[](https://observatory.mozilla.org/analyze/morse.halb.it)[](https://discord.gg/JNwsmHuKwd)
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](https://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.confThe live website on halb.it is built using github workflows, and deployed on a k8s cluster with argoCD