diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Address.h b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Address.h index 21ce5d9..1e081f7 100644 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Address.h +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Address.h @@ -1,5 +1,28 @@ +/* +Author: Joel Mathew Thomas +Date: 18-12-2026 +*/ + #pragma once +#include + class Address { +private: + std::string m_street; + std::string m_city; + int m_pincode; +public: + Address() : + m_street(""), + m_city(""), + m_pincode(0) + {} + Address(const std::string& street, const std::string& city, int pincode): + m_street(street), + m_city(city), + m_pincode(pincode) + {} + std::string getAddress() const; }; diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Customer.h b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Customer.h index 90fb471..1a3295b 100644 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Customer.h +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Customer.h @@ -1,6 +1,20 @@ +/* +Author: Joel Mathew Thomas +Date: 17-02-2026 +*/ + #pragma once +#include #include "User.h" +#include "Order.h" + +using orders = std::vector; + class Customer : public User { + orders m_orders; +private: + void addOrder(Order*); + orders& getOrders(); }; diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/CustomerMenu.h b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/CustomerMenu.h index 6432cf4..e6e3e5e 100644 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/CustomerMenu.h +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/CustomerMenu.h @@ -1,6 +1,16 @@ +/* +Author: Joel Mathew Thomas +Date: 18-12-2026 +*/ + #pragma once #include "Menu.h" +#include "FoodDeliveryController.h" + class CustomerMenu : public Menu { +public: + CustomerMenu(FoodDeliveryController& foodDeliveryController) : Menu(foodDeliveryController) {} + void showMenu() const override; + void handleOperation() override; }; - diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/DeliveryAssignment.h b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/DeliveryAssignment.h index e47898c..f6acef0 100644 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/DeliveryAssignment.h +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/DeliveryAssignment.h @@ -1,5 +1,32 @@ +/* +Author: Joel Mathew Thomas +Date: 18-12-2026 +*/ + #pragma once -class DeliveryAssignment +#include "Order.h" + +enum class DeliveryStatus { + CREATED, + ACCEPTED, + DELIVERED +}; + +class DeliveryAssignment +{ +private: + int m_id; + Order& m_order; + DeliveryStatus m_status; +public: + DeliveryAssignment(int id, Order& order) : + m_id(id), + m_order(order), + m_status(DeliveryStatus::CREATED) + {} + int getId() const; + DeliveryStatus getStatus() const; + Order* getOrder(); }; diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/DeliveryPartner.h b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/DeliveryPartner.h index b933983..6d8982b 100644 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/DeliveryPartner.h +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/DeliveryPartner.h @@ -1,6 +1,21 @@ +/* +Author: Joel Mathew Thomas +Date: 17-02-2026 +*/ + #pragma once +#include #include "User.h" +#include "DeliveryAssignment.h" + +using deliveryAssignments = std::vector; + class DeliveryPartner : public User { +private: + deliveryAssignments m_deliveryAssignments; +public: + void acceptDeliveryAssignment(DeliveryAssignment*); + deliveryAssignments& getAssignedDeliveries(); }; diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/DeliveryPartnerMenu.h b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/DeliveryPartnerMenu.h index f54f4b6..afd1347 100644 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/DeliveryPartnerMenu.h +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/DeliveryPartnerMenu.h @@ -1,6 +1,16 @@ +/* +Author: Joel Mathew Thomas +Date: 18-12-2026 +*/ + #pragma once #include "Menu.h" +#include "FoodDeliveryController.h" + class DeliveryPartnerMenu : public Menu { +public: + DeliveryPartnerMenu(FoodDeliveryController& foodDeliveryController) : Menu(foodDeliveryController) {} + void showMenu() const override; + void handleOperation() override; }; - diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Item.h b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Item.h index d93b4de..c162b08 100644 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Item.h +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Item.h @@ -1,5 +1,21 @@ +/* +Author: Joel Mathew Thomas +Date: 18-12-2026 +*/ + #pragma once +#include "MenuItem.h" + class Item { -}; +private: + MenuItem& m_item; + int m_quantity; +public: + Item(MenuItem& item) + : m_item(item), m_quantity(0) + {} + int getQuantity() const {} + MenuItem& getMenuItem() {} +}; diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Menu.h b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Menu.h index bf6988d..282848d 100644 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Menu.h +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Menu.h @@ -1,5 +1,20 @@ +/* +Author: Joel Mathew Thomas +Date: 18-12-2026 +*/ + #pragma once +#include +#include "FoodDeliveryController.h" + class Menu { +private: + FoodDeliveryController& m_foodDeliveryController; +public: + Menu(FoodDeliveryController& foodDeliveryController) : m_foodDeliveryController(foodDeliveryController) {} + virtual ~Menu() = default; + virtual void showMenu() const = 0; + virtual void handleOperation() = 0; }; diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/MenuItem.h b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/MenuItem.h index d4a7ddc..143e753 100644 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/MenuItem.h +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/MenuItem.h @@ -1,5 +1,36 @@ +/* +Author: Joel Mathew Thomas +Date: 18-12-2026 +*/ + #pragma once +#include + class MenuItem { +private: + int m_id; + std::string m_name; + std::string m_description; + double m_price; +public: + MenuItem(): + m_id(0), + m_name(""), + m_description(""), + m_price(0) + {} + MenuItem(int id, const std::string& name, const std::string& description, double price): + m_id(id), + m_name(name), + m_description(description), + m_price(price) + {} + int getId() const; + std::string getName() const; + std::string getDescription() const; + void setDescription(const std::string&); + double getPrice() const; + void setPrice(double); }; diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Order.h b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Order.h index 8c9c221..8b7cdb2 100644 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Order.h +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Order.h @@ -1,5 +1,45 @@ +/* +Author: Joel Mathew Thomas +Date: 18-12-2026 +*/ + #pragma once -class Order +#include +#include "Item.h" + +using items = std::vector; + +enum class OrderStatus { + CREATED, + READYFORPICKUP, + OUTFORDELIVERY, + DELIVERED, + CANCELLED +}; + +class Order +{ +private: + int m_id; + items m_items; + double m_totalAmount; + OrderStatus m_status; +public: + Order(): + m_id(0), + m_totalAmount(0), + m_status(OrderStatus::CREATED) + {} + Order(int id): + m_id(id), + m_totalAmount(0), + m_status(OrderStatus::CREATED) + {} + ~Order(); + void addItem(); + void removeItem(); + items& getItems(); + double getTotal() const; }; diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Restaurant.h b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Restaurant.h index 3dfb498..b0e43ba 100644 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Restaurant.h +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Restaurant.h @@ -1,5 +1,40 @@ +/* +Author: Joel Mathew Thomas +Date: 18-12-2026 +*/ + #pragma once +#include +#include +#include "MenuItem.h" +#include "Order.h" + +using menuItems = std::vector; +using orders = std::vector; + class Restaurant { +private: + int m_id; + std::string m_name; + menuItems m_menuItems; + orders m_orders; + bool m_status; +public: + Restaurant() : + m_id(0), + m_name(""), + m_status(true) + {} + Restaurant(int id, const std::string& name) : + m_id(id), + m_name(name), + m_status(true) + {} + ~Restaurant(); + menuItems& getMenuItems(); + orders& getOrders(); + bool getStatus() const; + void setStatus(bool); }; diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/RestaurantOwner.h b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/RestaurantOwner.h index 47ea692..03fa5bd 100644 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/RestaurantOwner.h +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/RestaurantOwner.h @@ -1,5 +1,21 @@ +/* +Author: Joel Mathew Thomas +Date: 17-02-2026 +*/ + #pragma once +#include #include "User.h" +#include "Restaurant.h" +#include "MenuItem.h" + +using restaurants = std::vector; + class RestaurantOwner : public User { +private: + restaurants m_restaurants; +public: + void addRestaurant(Restaurant*); + restaurants& getRestaurants(); }; diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/RestaurantOwnerMenu.h b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/RestaurantOwnerMenu.h index 9392a13..5fc8d08 100644 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/RestaurantOwnerMenu.h +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/RestaurantOwnerMenu.h @@ -1,6 +1,17 @@ +/* +Author: Joel Mathew Thomas +Date: 18-12-2026 +*/ + #pragma once #include "Menu.h" +#include "FoodDeliveryController.h" + class RestaurantOwnerMenu : public Menu { +public: + RestaurantOwnerMenu(FoodDeliveryController& foodDeliveryController): Menu(foodDeliveryController) {} + void showMenu() const override; + void handleOperation() override; }; diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp.cpp b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp.cpp index b07e840..dd42dd3 100644 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp.cpp +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp.cpp @@ -3,3 +3,17 @@ Author: Joel Mathew Thomas Date: 17-02-2026 */ +#include +using namespace std; + +int main() +{ + try + { + + } + catch (const exception& e) + { + cout << "Exception : " << e.what() << endl; + } +} diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp.vcxproj.filters b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp.vcxproj.filters index 7a6a149..298500b 100644 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp.vcxproj.filters +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp.vcxproj.filters @@ -33,24 +33,15 @@ Models - - Models - Models Models - - Models - Models - - Models - Models @@ -63,9 +54,6 @@ Models - - Models - Models @@ -78,6 +66,18 @@ Controller + + Controller + + + Controller + + + Controller + + + Controller + @@ -86,24 +86,15 @@ Models - - Models - Models Models - - Models - Models - - Models - Models @@ -116,9 +107,6 @@ Models - - Models - Models @@ -128,5 +116,17 @@ Controller + + Controller + + + Controller + + + Controller + + + Controller + \ No newline at end of file diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/User.h b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/User.h index d116771..a25f10e 100644 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/User.h +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/User.h @@ -1,5 +1,44 @@ +/* +Author: Joel Mathew Thomas +Date: 17-02-2026 +*/ + #pragma once +#include + class User { +private: + int m_id; + std::string m_name; + std::string m_phone; + std::string m_password; + std::string m_email; + bool m_isAuthenticated; + +public: + User() + : m_id(0), + m_name(""), + m_phone(""), + m_password(""), + m_email(""), + m_isAuthenticated(false) + {} + User(int id, + const std::string& name, + const std::string& phone, + const std::string& password, + const std::string& email) + : m_id(id), + m_name(name), + m_phone(phone), + m_password(password), + m_email(email), + m_isAuthenticated(false) + {} + virtual ~User() = default; + void login(); + void logout(); };