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