From 0e9d343b1e7ea17c8943f261a8931c931b260457 Mon Sep 17 00:00:00 2001 From: schn33fuchs Date: Mon, 1 Jun 2026 20:12:20 +0200 Subject: [PATCH] Project structure and classes Project structure and classes created and initialized --- config.py | 0 core/__init__.py | 0 core/item.py | 12 ++++++++++++ core/transaction.py | 29 +++++++++++++++++++++++++++++ core/user.py | 14 ++++++++++++++ data/__init__.py | 0 main.py | 0 storage/__init__.py | 0 tests/__init__.py | 0 ui/__init__.py | 0 utils/__init__.py | 0 11 files changed, 55 insertions(+) create mode 100644 config.py create mode 100644 core/__init__.py create mode 100644 core/item.py create mode 100644 core/transaction.py create mode 100644 core/user.py create mode 100644 data/__init__.py create mode 100644 main.py create mode 100644 storage/__init__.py create mode 100644 tests/__init__.py create mode 100644 ui/__init__.py create mode 100644 utils/__init__.py diff --git a/config.py b/config.py new file mode 100644 index 0000000..e69de29 diff --git a/core/__init__.py b/core/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/core/item.py b/core/item.py new file mode 100644 index 0000000..eeedcc9 --- /dev/null +++ b/core/item.py @@ -0,0 +1,12 @@ +class Item: + def __init__(self, id, name, price) -> None: + self.id = id + self.name = name + self.price = float(price) + + def to_json(self): + return {"id": self.id, "name": self.name, "price": self.price} + + @staticmethod + def from_json(data): + return Item(data["id"], data["name"], data["price"]) diff --git a/core/transaction.py b/core/transaction.py new file mode 100644 index 0000000..d9ceeef --- /dev/null +++ b/core/transaction.py @@ -0,0 +1,29 @@ +from datetime import datetime + + +class Transaction: + def __init__(self, id, user_id, item_id, amount, timestamp=None) -> None: + self.id = id + self.user_id = user_id + self.item_id = item_id + self.amount = float(amount) + self.timestamp = timestamp or datetime.now().isoformat() + + def to_json(self): + return { + "id": self.id, + "user_id": self.user_id, + "item_id": self.item_id, + "amount": self.amount, + "timestamp": self.timestamp, + } + + @staticmethod + def from_json(data): + return Transaction( + data["id"], + data["user_id"], + data["item_id"], + data["amount"], + data["timestamp"], + ) diff --git a/core/user.py b/core/user.py new file mode 100644 index 0000000..60f21c6 --- /dev/null +++ b/core/user.py @@ -0,0 +1,14 @@ +class User: + def __init__(self, id, name) -> None: + self.id = id + self.name = name + self.debt = 0.0 + + def to_json(self): + return {"id": self.id, "name": self.name, "debt": self.debt} + + @staticmethod + def from_json(data): + user = User(data["id"], data["name"]) + user.debt = data["debt"] + return user diff --git a/data/__init__.py b/data/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/main.py b/main.py new file mode 100644 index 0000000..e69de29 diff --git a/storage/__init__.py b/storage/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/ui/__init__.py b/ui/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/utils/__init__.py b/utils/__init__.py new file mode 100644 index 0000000..e69de29