From b3b572d24a2e3ebcb940ac33d1d18609357fac33 Mon Sep 17 00:00:00 2001 From: bronku Date: Fri, 9 Jan 2026 03:18:44 +0100 Subject: [PATCH] README.md --- README.md | 39 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 37 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 54ac1a3..3d83e50 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,38 @@ -# order tracking app for a pastry shop +# Cake Order Tracker -I don't remember what cake-order-tracker stood for +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:** +```bash +go run main.go +```