π Release v1.0.0 β Butik System
π Initial stable release of Butik System, a complete Java console application for managing
customers, products, and orders β built with clean architecture and modern Java (17 & 21) support.
β¨ Highlights
β Full CRUD operations for:
- π§ Customers
- π¦ Products
- π§Ύ Orders
β
Interactive text-based interface
β
In-memory storage using thread-safe repositories (ConcurrentHashMap)
β
Automatic order total calculation
β
Comprehensive logging via SLF4J + Logback
β
Runs on both Java 17 and Java 21
β
Continuous Integration (CI) via GitHub Actions matrix build
π§© Architecture Overview
| Layer | Package | Responsibility |
|---|---|---|
| Entity | org.example.Entity |
Domain models (Customer, Product, Order, Category) |
| Repository | org.example.Repository |
Generic CRUD abstraction |
| ImplRepo | org.example.ImplRepo |
In-memory data handling |
| Service | org.example.Service |
Business logic and validation |
| Utils | org.example.Utils |
Menus, interactive flows, seed data |
| Error | org.example.Error |
Safe execution helper |
| App/Main | org.example.App, org.example.Main |
Entry point and CLI controller |
π§ Tech Stack
- β Java 17 / 21
- π§± Maven 3.9+
- πͺ΅ SLF4J + Logback for structured logging
- βοΈ GitHub Actions (CI/CD)
- π§© Modular, layered architecture with SOLID principles
π§° Run Locally
git clone https://github.com/David-refai/Butik-system.git
cd Kompetenskontroll-1
mvn clean compile exec:java -Dexec.mainClass="org.example.Main"