No description
Find a file
2026-06-16 17:12:16 +02:00
.zed added zed action 2026-06-14 21:26:44 +02:00
config small improvements 2026-06-11 09:10:27 +02:00
logging switched to log.Print 2025-06-23 12:13:22 +02:00
models more simpler + torty sectino 2026-06-15 20:30:15 +02:00
server layout fix 2026-06-16 17:12:16 +02:00
store more simpler + torty sectino 2026-06-15 20:30:15 +02:00
.gitignore move to templ 2026-06-11 08:48:01 +02:00
go.mod tooling 2026-06-16 10:57:15 +02:00
go.sum tooling 2026-06-16 10:57:15 +02:00
main.go Update main.go 2026-06-16 14:06:45 +02:00
makefile tooling 2026-06-16 10:57:15 +02:00
README.md Update README.md 2026-06-16 14:06:45 +02:00
seed.go status workflow and seed with special cakes 2026-06-15 18:49:49 +02:00

Cake Order Tracker

A lightweight, robust order management system.

Key Features

  • Order Lifecycle Management: Full CRUD operations for products and customer orders.
  • Search: Order filtering by date range, and keyword search.
  • Easy Deployment: Single-binary deployment utilizing Go, along with a single database file.
  • Interactive Client-Side Logic: Dynamic order composition with real-time total price calculation.

Tech Stack

  • Backend: Go
  • Database: SQLite
  • Frontend: HTMX, Templ, CSS, JavaScript
  • Tooling: Versioned SQL Migrations, Go Toolchain, Templ

Architectural Highlights

1. Database Persistence

The system implements a versioned migration system. The schema handles relationships between orders and products via join tables, ensuring integrity through the database/sql package's transaction support.

2. Separation of Concerns

  • /models: Pure data structures for cross-package communication.
  • /store: Encapsulated data persistence layer containing all SQL logic and migrations.
  • /server: HTTP routing, handler logic, and template rendering.

Installation and Running

Run the application:

git clone git.bronku.xyz/bronku/cake-order-tracker
cd cake-order-tracker
go generate && go run .

Deployment

  1. Build the application
git clone git.bronku.xyz/bronku/cake-order-tracker
cd cake-order-tracker
go generate && go build .
  1. Install the binary
# shouldn't be necessary if the binary was built on the same machine
sudo chmod +x cake-order-tracker

# move to a diractory you have in $PATH
sudo mv cake-order-tracker /usr/local/bin
  1. Setup a systemd service (if yyou don't use systemd, then you probably don't need any instructions)
# it is recommended to create a dedicated user
sudo useradd