项目小餐馆(点餐系统)项目框架
Posted zhaocx111222333
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了项目小餐馆(点餐系统)项目框架相关的知识,希望对你有一定的参考价值。
项目简介
名称:小餐馆(模拟点餐系统)
项目描述:使用户可以通过浏览器访问服务器获取菜品信息并进行点餐;以及可以使管理员通过浏览访问服务器实现订单以及菜品管理。
项目目的:整合所学知识,拓展项目能力,完成项目;
技术调研:socket编程,http,json,mysql
概要设计:框架:MVC
model:数据管理模块–管理数据(菜品,订单),外界想要访问数据必须通过这个模块完成,不能直接访问.
view:视图界面模块–浏览器前端界面,用户或者管理员的操作都是通过前端界面完成.
contraller:业务控制模块–搭建服务器,针对前端的请求,业务处理。
环境搭建:
基于Centos 7 Linux开发环境,C++语言编写
1.MySQL-MariaDB数据库管理系统是MySQL的一个分支。
2.g++编译器
3.jsoncpp开发包
4.Httplib库
详细设计
数据管理模块:
1.数据的存储:MySQL-MariaDB
2.数据库表的设计:
菜品信息表:菜品ID,菜品名称,菜品单价,添加时间
订单信息表:订单ID,订单菜品,订单状态,修改时间
3.代码设计:
菜品数据类:添加菜品,删除菜品,修改菜品,获取所有菜品,获取单个菜品
订单数据类:添加订单,删除订单,修改订单菜品,修改订单状态,获取订单(全部,指定id)
业务处理模块
接收客户端请求,进行处理满足客户需求
1.搭建服务器:HTTP服务器(采用httplib库搭建)
2.通信接口设计:什么样的请求对应什么样的业务处理和相应
静态页面请求:html页面
index.html–菜品的信息展示以及下达界面
动态数据请求:菜品数据,订单数据
通信接口采用restful接口风格设计:
基于http协议,使用json格式定义正文序列化方式
方法都是标准方法,包括 HTTP GET(获取)、POST(新增)、PUT(修改)、DELETE(删除)。
前端界面模块
html的编写和渲染
实现:html+css+js
Json学习
mysql数据库基本操作
客户端操作:
MySQL -uroot
注意事项:
sql语句中:
1.每条语句以;
结尾
2.不区分大小写
3.数据库名称,表名称不以sql关键字命名
数据库的操作:
创建数据库:create database if not exists dbname;
查看数据库:show databases;
选择数据库:use dbname;
查看选择的数据库:select dabase();
删除数据库:drop database dbname;
表的操作:
常用数据类型:int
,decimal(M,D)
–m个数字,其中d个小数,varchar(SIZE)
-可变长度,字符个数,中文也算一个,char(size)
–不可变长度,timestamp
–2021-6-13 10:05:50
创建表:create table if not exists tbname(id int,name varchar(32),sex bit,score decimal(4,2),birth datatime);
查看所有表:show tables;
查看指定表结构:descript(desc) tbname;
修改表结构:alter table tbname add id int;
删除表:drop table tbname;
表中字段约束:
priority key
主键约束–指定字段非空且唯一
unique key
唯一约束–自定字段必须唯一
auto_increment
自增属性(只用于整形字段)
not null
–指定字段不为空
create table if not exists tbname(id int primary key auto_increment,name varchar(32) not null unique ,sex bit ,score decimal(4,2),birth datetime);
表中数据的操作:
新增:
insert tbname(id,name,sex) values(null,"张三",0);
insert tbname values(null,"李四",1,88.88,"2021-6-13 10:47:05");
删除:
delete from tbname where id=1;
去掉where全删
修改:
update tbname set score=99.99,birth="2021-1-1 12:12:12" where id=1;
去掉where全改
查询:
select * from tbname;
查看全部字段
select id,name,score from tbname;
查看指定字段
select id,name,score from tbname order by id (desc);
按指定序列查询
select * from tbname limit count offset start;
分页查询–limit2依次展示n,offset从第(page*count)个开始
select * from where score > 70;
条件查询
select * from tbname where name like "%张%";
模糊匹配
数据库导入操作:
mysql -uroot < db.sql
httplib学习
链接: link.
项目测试
1.基于接口的服务端,客户端测试
2.基于Selenium的HTML自动化测试
以上是关于项目小餐馆(点餐系统)项目框架的主要内容,如果未能解决你的问题,请参考以下文章