# OpenCOS **Repository Path**: edc-niu-ma/opencos ## Basic Information - **Project Name**: OpenCOS - **Description**: 基于C++17/Qt5 的点餐系统 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-11-21 - **Last Updated**: 2024-01-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # OpenCOS: Open source C++ Order System > A nicely wrapped shit ## TODO #### 点单管理系统 - [x] 功能一:有体系地进行菜单创建(分类),具体的菜品除了价 目之外还有一定的说明 - [x] 功能二:根据选择的菜品计算消费价格,实际消费价格记入会 员等级积累,不同等级的会员,在消费时享受不同的折扣 - [ ] 功能三:点餐评价,且可根据评价高低和留言先后进行排序显 示 - [x] 功能四:推荐点餐,点餐系统会统计每份菜品的售卖和评价情 况,且售卖和评价最好的5个菜品,其排序属性会被额外显示 在菜单中的菜品属性中 - [x] 功能五:点餐记忆,可根据购买记录快速复制、创建新的订单 - [ ] 功能六:排队显示,刷新后能实时显示预约排队进度和取餐排 队进度 - [x] 功能七:系统界面 #### 具体任务 --- FUNCTION 1: - [ ] Import courses attributes form TestItem.txt(chipotle.csv or some) to creat a menu. --- ## Framework #### Layers: - Data Layer(Class/Data/...) - Middle Layer(Algorithm/Business Logic/...) - User Interaction Layer(Use APIs to exchange Information/make transactions) #### Data Layer ```mermaid classDiagram class Order { - list~Item~ items - float total_cost - float discount - int create_time - int id - enum status } class Item { - string name - enum category - float price - string description + getName() string + getPrice() float } class Customer { - string name - string contact - int id - int totalConsumption - enum memberRank + string getID() + string getContact() + MemberRank checkMember() } class OrderItem{ } class ManageSystem{ } ``` ```mermaid flowchart A[Item] & B[Customer] --> C[Order] D[Time/Serial Number] --> C ``` ```mermaid flowchart A[INVALID] --> B[QUEUING] A[INVALID] --> C[CANCELLED] -->D[FINISHED] ``` #### Middle Layer #### User Interaction Layer --- ## Conventions ```C++ // 变量全部小写加下划线 int variable_with_underline; // 类名大驼峰 class ClassName { public: // 函数名小写加下划线 void function_name_with_underline(); // 常量全部大写加下划线 const int CONSTANT_WITH_UNDERLINE; private: // 私有变量加下划线 int private_variable_; // 函数名小写加下划线 void private_function_name_with_underline(); } ```