mirror of
https://github.com/marcusDenslow/terminalShop.git
synced 2026-10-25 18:08:45 +01:00
9a5fff81bf355a2ce417afb8e73e20c14f364eb6
Package-level slog.With() vars are evaluated at init time, before observability.InitLogger() runs in main. They captured the original default slog handler and bypassed the countingHandler that increments log_messages_total — so warn/error calls from these packages weren't being counted. Convert to functions so each call resolves slog.Default() at use time and inherits the active counting handler. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Terminal Coffee Shop
ssh sshops.uk
it's a coffee shop but in your terminal. you ssh in, browse the menu, chuck stuff in your cart, put in your address and card, and buy coffee without ever touching a browser. your ssh key is your account so there's no login or signup or any of that.
made it because i thought it would be fun to see if you could build a real e-commerce flow that lives entirely in a terminal. turns out you can. heavily inspired by terminal.shop.
running on Hetzner, behind Cloudflare.
tech: Go, Bubbletea, Wish, Chi, PostgreSQL, Stripe, Shippo, Bring
Description
Languages
Go
95.9%
Shell
3%
JavaScript
0.9%
Makefile
0.2%