No description
Find a file
2026-06-11 00:35:07 +02:00
inspiration new ui 2026-06-10 22:14:48 +02:00
logging switched to log.Print 2025-06-23 12:13:22 +02:00
models added todos 2025-07-02 10:24:46 +02:00
server new ui 2026-06-10 22:14:48 +02:00
store removed crypto and users - unused without auth 2026-06-11 00:35:07 +02:00
.gitignore updated gitignore 2025-04-06 00:39:17 +02:00
go.mod removed crypto and users - unused without auth 2026-06-11 00:35:07 +02:00
go.sum removed crypto and users - unused without auth 2026-06-11 00:35:07 +02:00
main.go removed auth - wil only be used through a vpn 2026-06-11 00:33:51 +02:00
README.md README.md 2026-01-09 03:18:44 +01:00

Cake Order Tracker

A lightweight, robust order management system built with Go and SQLite. This project focuses on a clean monolithic architecture, transactional data integrity, and a high-performance, single-binary deployment model.

Key Features

  • Order Lifecycle Management: Full CRUD operations for products and customer orders with SQL transactions to ensure data consistency.
  • Live Asynchronous Search: Real-time order filtering by date range utilizing HTMX for partial DOM updates and reduced server payload.
  • Custom Authentication: Secure session-based authentication featuring salted password hashing and middleware-based route protection.
  • Embedded Assets: Single-binary deployment utilizing Go embed for HTML templates, static assets (HTMX, FontAwesome), and SQL migrations.
  • Interactive Client-Side Logic: Dynamic order composition with real-time total price calculation using vanilla JavaScript and HTML5 templates.

Tech Stack

  • Backend: Go (Golang)
  • Database: SQLite
  • Frontend: HTMX, Go HTML Templates, CSS, JavaScript
  • Tooling: Versioned SQL Migrations, Go Toolchain

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 multi-entry template rendering.
  • /auth: Dedicated security layer providing middleware for session validation.

Installation and Running

  1. Run the application:
go run main.go