Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion FOS/models/pizza.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from .price import Price
from dataclasses import dataclass, field

from .price import Price


@dataclass
class Pizza:
Expand Down
3 changes: 2 additions & 1 deletion FOS/patterns/builder/pizza_builder.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from typing import List, Optional

from ...models.pizza import Pizza
from typing import Optional, List


class PizzaBuilder:
Expand Down
8 changes: 4 additions & 4 deletions FOS/patterns/handlers/base_handler.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
from typing import Dict
from typing import Optional
from ..builder.pizza_builder import PizzaBuilder
from abc import ABC, abstractmethod
from ...utils.json_handler import JSON
from typing import Dict, Optional

from ...utils.helper_functions import find_excluded_options
from ...utils.json_handler import JSON
from ..builder.pizza_builder import PizzaBuilder


class PizzaCustomizationHandler(ABC):
Expand Down
5 changes: 3 additions & 2 deletions FOS/patterns/handlers/crust_handler.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
from typing import Dict

from ...models.pizza import Pizza
from ...utils.json_handler import JSON
from ..builder.pizza_builder import PizzaBuilder
from .base_handler import PizzaCustomizationHandler
from ...models.pizza import Pizza
from typing import Dict


class CrustsCustomizationHandler(PizzaCustomizationHandler):
Expand Down
5 changes: 3 additions & 2 deletions FOS/patterns/handlers/sauce_handler.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
from .base_handler import PizzaCustomizationHandler
from ..builder.pizza_builder import PizzaBuilder
from typing import Dict

from ...models.pizza import Pizza
from ...utils.json_handler import JSON
from ..builder.pizza_builder import PizzaBuilder
from .base_handler import PizzaCustomizationHandler


class SaucesCustomizationHandler(PizzaCustomizationHandler):
Expand Down
5 changes: 3 additions & 2 deletions FOS/patterns/handlers/toppings_handler.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
from .base_handler import PizzaCustomizationHandler
from ..builder.pizza_builder import PizzaBuilder
from typing import Dict

from ...models.pizza import Pizza
from ...utils.json_handler import JSON
from ..builder.pizza_builder import PizzaBuilder
from .base_handler import PizzaCustomizationHandler


class ToppingsCustomizationHandler(PizzaCustomizationHandler):
Expand Down
7 changes: 4 additions & 3 deletions FOS/services/order_service.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
from ..models.enums.order_state import OrderState
import uuid
from typing import List, Tuple
from datetime import datetime
from typing import List, Tuple

from ..models.enums.order_state import OrderState
from ..models.pizza import Pizza
from ..patterns.observers.order_observer import OrderObserver
from ..models.user import User
from ..patterns.observers.order_observer import OrderObserver


class Order:
Expand Down
9 changes: 5 additions & 4 deletions FOS/services/pizza_service.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
from typing import Optional

from ..models.pizza import Pizza
from ..patterns.builder.pizza_builder import PizzaBuilder
from ..patterns.handlers import (
CheesesCustomizationHandler,
CrustsCustomizationHandler,
SaucesCustomizationHandler,
ToppingsCustomizationHandler,
CheesesCustomizationHandler,
)
from ..utils.json_handler import JSON
from ..patterns.builder.pizza_builder import PizzaBuilder
from ..models.pizza import Pizza
from typing import Optional


class PizzaService:
Expand Down
5 changes: 3 additions & 2 deletions archive/main.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
from FOS.authentication.login import Login
from FOS.authentication.register import Register
from FOS.models.user import User
from FOS.repositories.authentication_repository import AuthenticationRepository
from FOS.models.pizza import Pizza
from FOS.models.user import User
from FOS.patterns.strategies import (
CreditCardStrategy,
DigitalWalletsStrategy,
PayPalStrategy,
)
from FOS.repositories.authentication_repository import AuthenticationRepository


class Main(object):
Expand Down Expand Up @@ -96,6 +96,7 @@ def payment(self):
self.payment()

def real_time_tracking(self): ...

def main(self):
self.user: User = self.authentication()
self.home_page()
Expand Down
22 changes: 11 additions & 11 deletions main.py
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
from FOS.models.user import User
from FOS.patterns.observers.custom_notifier import CustomerNotifier
from FOS.patterns.observers.kitchen_display import KitchenDisplay
from FOS.models.user import User
from FOS.services.pizza_service import PizzaService

# Setup Observers
custom_notifier = CustomerNotifier()
kitchen_display = KitchenDisplay()

# Authentication
## Utilize FOS/authentication
# Utilize FOS/authentication

user = User(
"testing",
Expand All @@ -18,7 +18,7 @@
print(user)

# Create Custom Pizza
## kitchen_observer
# kitchen_observer

pizza_config = {
"Crusts": [
Expand All @@ -37,21 +37,21 @@
pizza_builder = PizzaService(user_configuration=pizza_config).apply_handlers()
print(pizza_builder.build())
# Create Already Created Pizza
## kitchen_observer
# kitchen_observer

# Decorator Pattern for Additional Features
## kitchen_observer
## Seasonal Specials and Promotions
# kitchen_observer
# Seasonal Specials and Promotions

# Payment
## Take into consideration loyalty points and such
# Take into consideration loyalty points and such

# States
## Placed
## Preparing
## Baking
# Placed
# Preparing
# Baking

# Delivery / Pick Up
## Implement custom delivery and pick up trackers maybe? so that till the food is handed off to the customer this will repeat on
# Implement custom delivery and pick up trackers maybe? so that till the food is handed off to the customer this will repeat on

# Rating / Feedback
Loading