https://github.com/hmajid2301/banterbus
A multiplayer browser-based game built using htmx and Golang. Leveraging web sockets. Mirrored from https://gitlab.com/hmajid2301/banterbus.
https://github.com/hmajid2301/banterbus
go htmx nix templ web-application websocket
Last synced: 10 months ago
JSON representation
A multiplayer browser-based game built using htmx and Golang. Leveraging web sockets. Mirrored from https://gitlab.com/hmajid2301/banterbus.
- Host: GitHub
- URL: https://github.com/hmajid2301/banterbus
- Owner: hmajid2301
- License: mit
- Created: 2024-07-29T09:48:08.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-02-11T21:25:56.000Z (over 1 year ago)
- Last Synced: 2025-04-14T05:57:25.135Z (about 1 year ago)
- Topics: go, htmx, nix, templ, web-application, websocket
- Language: Go
- Homepage: https://banterbus.games
- Size: 2.85 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README

# Banter Bus
Banter Bus is a web application video game, inspired by other party games like JackBox.

## Usage
To set up the app you can do:
### Nix Flakes (Preferred)
If you use Nix flakes and direnv setup you can simply do:
```bash
git clone https://gitlab.com/hmajid2301/banterbus
cd banterbus
direnv allow
# Launch the app
task dev
```
## Stack
This app is using the following technologies, built using this [template](https://gitlab.com/hmajid2301/nix-go-htmx-tailwind-template).
More [information here](https://gitlab.com/hmajid2301/nix-go-htmx-tailwind-template#features)
### Backend
- Go
- Standard Library HTTP Server
- Websockets for communication
- templ as the templating engine
- Postgres DB
- Redis (Pub Sub)
### Frontend
- htmx
- For avoiding writing JS
- alpinejs
- For interactivity again to avoid writing JS
- Tailwind CSS
### DevEx
- Nix for reproducibility
- gomod2nix to build go binary with Nix
- Development Shells
- Pre Commit Hooks
- Build Docker images
- CI Image
- Service
- Gitlab for CI/CD pipeline
- Enhanced with Tailscale and Attic for faster Nix builds
- Requires `TAILSCALE_AUTHKEY` and `ATTIC_AUTH_KEY` environment variables
- Falls back gracefully when environment variables are not available
- Taskfiles as the task runner