Skip to content

这是我在大三上独立完成的一门课程(互联网数据库)的大作业。网站从底层数据库,后端框架,前端页面都采用自主设计和开发,具有需求发布,购物车,订单处理等基础功能,创新性地嵌入了Intel RealSense 手势识别技术用以登陆验证,编写爬虫程序获取了淘宝近四万条手工艺产品的数据,数据库信息庞大,并且做了检索,分类处理等工作。

Notifications You must be signed in to change notification settings

rao1219/olhandicrafts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

90ffc03 · Apr 3, 2016

History

64 Commits
Dec 12, 2015
Dec 13, 2015
Dec 15, 2015
Dec 13, 2015
Dec 18, 2015
Dec 18, 2015
Dec 20, 2015
Dec 5, 2015
Dec 15, 2015
Nov 1, 2015
Dec 12, 2015
Nov 1, 2015
Dec 13, 2015
Dec 20, 2015
Dec 16, 2015
Dec 18, 2015
Dec 13, 2015
Apr 3, 2016
Nov 1, 2015
Dec 18, 2015
Dec 15, 2015
Nov 1, 2015
Nov 23, 2015
Dec 12, 2015
Dec 12, 2015
Nov 23, 2015
Dec 18, 2015
Dec 13, 2015
Nov 1, 2015
Nov 1, 2015
Nov 23, 2015
Nov 23, 2015
Dec 13, 2015
Dec 6, 2015
Nov 23, 2015
Nov 23, 2015
Dec 13, 2015
Dec 6, 2015
Dec 13, 2015
Dec 20, 2015
Dec 18, 2015
Dec 12, 2015
Dec 15, 2015
Dec 7, 2015
Dec 13, 2015
Nov 23, 2015
Nov 23, 2015
Nov 1, 2015
Nov 1, 2015
Dec 12, 2015

Repository files navigation

coursework

这是我在大三上独立完成的一门课程(互联网数据库)的大作业。网站从底层数据库,后端框架,前端页面都采用自主设计和开发,具有需求发布,购物车,订单处理等基础功能,创新性地嵌入了Intel RealSense 手势识别技术用以登陆验证,编写爬虫程序获取了淘宝近四万条手工艺产品的数据,数据库信息庞大,并且做了检索,分类处理等工作。

安装部署


前端

库用的bootstrap和jQuery,前端状态如下:

				
						   	      +----------------+	
						      +--->crafts require  <-----------------------------+
		                      |   +----------------+							 |
						      | 											     |
						      |	  +----------------+		                     | 
						      +--->crafts overview |	   +---------------+     |
						      |   +----------------+  +---->publish needs  +--(json)
	+-------+                 |						  |	   +---------------+    
	|       |    			  |                       |
	| index |  			      |   +---------------+   |	   +---------------+
	|       +--(login/regist)-+--->user management+---+----> profile	   |
	+-------+  	 		      |   +---------------+   |	   +---------------+
						      |                       |	
						      |						  |    +--------------+
						      |                       +----> my orders    |
						      |   +---------------+		   +--------------+
						      +--->product detail |
						 	      +---------------+

  • 此图只表明网页/状态之间的相关关系,并不能描述所有的路由和跳转规则。
  • 试图将不同网页公用模板表示在一起。例如用户信息管理如果是可修改状态则可用于修改当前用户资料,否则用于显示他人资料。

后端

使用php开发,为MVC框架 提供

  • 用户管理
  • 订单管理
  • 需求管理
  • Session management

数据库

  • ER 图 er model

  • SQL:

-- MySQL Script generated by MySQL Workbench
-- 12/01/15 16:12:22
-- Model: New Model    Version: 1.0
-- MySQL Workbench Forward Engineering

SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';

-- -----------------------------------------------------
-- Schema mydb
-- -----------------------------------------------------
-- -----------------------------------------------------
-- Schema handicrafts
-- -----------------------------------------------------

-- -----------------------------------------------------
-- Schema handicrafts
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `handicrafts` DEFAULT CHARACTER SET latin1 ;
USE `handicrafts` ;

-- -----------------------------------------------------
-- Table `handicrafts`.`admin`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `handicrafts`.`admin` (
  `id` INT(11) NOT NULL AUTO_INCREMENT,
  `user` VARCHAR(32) NULL DEFAULT NULL,
  `password` VARCHAR(32) NULL DEFAULT NULL,
  PRIMARY KEY (`id`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;


-- -----------------------------------------------------
-- Table `handicrafts`.`city`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `handicrafts`.`city` (
  `id` INT(11) NOT NULL AUTO_INCREMENT,
  `city` VARCHAR(30) NOT NULL,
  `parentid` INT(11) NOT NULL DEFAULT '0',
  `layer` TINYINT(4) NOT NULL DEFAULT '1',
  `sort` TINYINT(4) NOT NULL DEFAULT '1',
  PRIMARY KEY (`id`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;


-- -----------------------------------------------------
-- Table `handicrafts`.`communicate`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `handicrafts`.`communicate` (
  `id` INT(11) NOT NULL AUTO_INCREMENT,
  `userid` INT(11) NOT NULL,
  `time` VARCHAR(20) NOT NULL DEFAULT '0',
  `content` TEXT NULL DEFAULT NULL,
  PRIMARY KEY (`id`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;


-- -----------------------------------------------------
-- Table `handicrafts`.`sort`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `handicrafts`.`sort` (
  `id` INT(11) NOT NULL AUTO_INCREMENT,
  `name` VARCHAR(20) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;


-- -----------------------------------------------------
-- Table `handicrafts`.`crafts`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `handicrafts`.`crafts` (
  `id` INT(11) NOT NULL,
  `name` VARCHAR(45) NULL DEFAULT NULL,
  `type` VARCHAR(45) NULL DEFAULT NULL,
  `price` INT(11) NULL DEFAULT NULL,
  `color` VARCHAR(45) NULL DEFAULT NULL,
  `seller` VARCHAR(45) NULL DEFAULT NULL,
  `selleradd` VARCHAR(45) NULL DEFAULT NULL,
  `phone` VARCHAR(45) NULL DEFAULT NULL,
  `title` VARCHAR(45) NULL DEFAULT NULL,
  `store` VARCHAR(45) NULL DEFAULT NULL,
  `description` VARCHAR(45) NULL DEFAULT NULL,
  `img` VARCHAR(45) NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  CONSTRAINT `fk_crafts_sort1`
    FOREIGN KEY (`id`)
    REFERENCES `handicrafts`.`sort` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;


-- -----------------------------------------------------
-- Table `handicrafts`.`order`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `handicrafts`.`order` (
  `id` INT(11) NOT NULL AUTO_INCREMENT,
  `productName` VARCHAR(20) NOT NULL,
  `price` INT(11) NOT NULL,
  `number` INT(11) NOT NULL,
  `state` TINYINT(4) NOT NULL DEFAULT '0',
  `buyername` VARCHAR(20) NULL DEFAULT NULL,
  `buyerphone` VARCHAR(20) NULL DEFAULT NULL,
  `buyeraddress` VARCHAR(30) NULL DEFAULT NULL,
  `sellername` VARCHAR(20) NULL DEFAULT NULL,
  `sellerphone` VARCHAR(20) NULL DEFAULT NULL,
  `selleraddress` VARCHAR(30) NULL DEFAULT NULL,
  `comments` TEXT NULL DEFAULT NULL,
  `time1` VARCHAR(20) NOT NULL DEFAULT '0',
  `time2` VARCHAR(20) NOT NULL DEFAULT '0',
  `time3` VARCHAR(20) NOT NULL DEFAULT '0',
  `time4` VARCHAR(20) NOT NULL DEFAULT '0',
  `bcomment` TEXT NULL DEFAULT NULL,
  `somment` TEXT NULL DEFAULT NULL,
  PRIMARY KEY (`id`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;


-- -----------------------------------------------------
-- Table `handicrafts`.`member`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `handicrafts`.`member` (
  `id` INT(11) NOT NULL AUTO_INCREMENT,
  `username` VARCHAR(100) NOT NULL,
  `password` VARCHAR(100) NOT NULL,
  `Email` VARCHAR(50) NOT NULL DEFAULT '0',
  `type` TINYINT(4) NOT NULL DEFAULT '0',
  `money` INT(11) NOT NULL DEFAULT '0',
  `bgood` INT(11) NOT NULL DEFAULT '0',
  `baverage` INT(11) NOT NULL DEFAULT '0',
  `bbad` INT(11) NOT NULL DEFAULT '0',
  `sgood` INT(11) NOT NULL DEFAULT '0',
  `saverage` INT(11) NOT NULL DEFAULT '0',
  `sbad` INT(11) NOT NULL DEFAULT '0',
  `name` VARCHAR(20) NULL DEFAULT NULL,
  `phone` VARCHAR(20) NULL DEFAULT NULL,
  `qq` VARCHAR(15) NULL DEFAULT NULL,
  `order_id` INT(11) NOT NULL,
  `communicate_id` INT(11) NOT NULL,
  PRIMARY KEY (`id`, `communicate_id`),
  UNIQUE INDEX `username` (`username` ASC),
  INDEX `fk_member_order_idx` (`order_id` ASC),
  INDEX `fk_member_communicate1_idx` (`communicate_id` ASC),
  CONSTRAINT `fk_member_communicate1`
    FOREIGN KEY (`communicate_id`)
    REFERENCES `handicrafts`.`communicate` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_member_order`
    FOREIGN KEY (`order_id`)
    REFERENCES `handicrafts`.`order` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;


-- -----------------------------------------------------
-- Table `handicrafts`.`order_has_crafts`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `handicrafts`.`order_has_crafts` (
  `order_id` INT(11) NOT NULL,
  `crafts_id` INT(11) NOT NULL,
  PRIMARY KEY (`order_id`, `crafts_id`),
  INDEX `fk_order_has_crafts_crafts1_idx` (`crafts_id` ASC),
  INDEX `fk_order_has_crafts_order1_idx` (`order_id` ASC),
  CONSTRAINT `fk_order_has_crafts_crafts1`
    FOREIGN KEY (`crafts_id`)
    REFERENCES `handicrafts`.`crafts` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_order_has_crafts_order1`
    FOREIGN KEY (`order_id`)
    REFERENCES `handicrafts`.`order` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;


-- -----------------------------------------------------
-- Table `handicrafts`.`store`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `handicrafts`.`store` (
  `id` INT(11) NOT NULL AUTO_INCREMENT,
  `itemid` INT(11) NOT NULL,
  `userid` INT(11) NOT NULL,
  `order_id` INT(11) NOT NULL,
  PRIMARY KEY (`id`),
  INDEX `fk_store_order1_idx` (`order_id` ASC),
  CONSTRAINT `fk_store_order1`
    FOREIGN KEY (`order_id`)
    REFERENCES `handicrafts`.`order` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;


-- -----------------------------------------------------
-- Table `handicrafts`.`groupChou`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `handicrafts`.`groupChou` (
  `id` INT NOT NULL AUTO_INCREMENT,
  `title` VARCHAR(45) NULL,
  `num` INT NULL,
  `subtitle` VARCHAR(45) NULL,
  `description` VARCHAR(45) NULL,
  `beginTime` VARCHAR(45) NULL,
  `endTime` VARCHAR(45) NULL,
  `img` VARCHAR(45) NULL,
  PRIMARY KEY (`id`))
ENGINE = InnoDB;


SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;

引用说明及代码统计

第三方类库引用说明如下表:

引用内容 引用来源 作用
Bootstrap3.0 http://getbootstrap.com/ UI框架和基本CSS组件
Jquery1.9.2 http://jquery.com 用于前端ajax、交互效果、功能选择器
Intel RealSense SDK https://software.intel.com/zh-cn/intel-realsense-sdk 用于手势验证
Jsoup http://jsoup.org/ 用于爬取数据信息
Gaode map API http://ditu.amap.com/ 用于位置服务
Discuz!X3.5 http://www.discuz.net/ 用于论坛服务
baidu share http://share.baidu.com/ 提供微信等多社交网络接口的产品分享功能

项目代码统计如下:

语言 JavaScript HTML/CSS C++/Java PHP
原创代码行数(不含注释) 2488 1179 745 3872
第三方代码库 1033 700

(Jquery1.8.js 按1行计算 /Jquery-ui.js按 100行计算)

创新点

  • 项目创新点在于嵌入了Intel RealSense 手势识别技术用以登陆验证,代替繁复的验证码输入,提高用户体验
  • 具有爬虫友好的站内搜索功能
  • 前端有挺多ajax的交互效果,增强用户体验
  • 对用户上传有缓存管理,避免文件重复提交,增强服务器性能
  • md5加密技术,使重要信息的存储更安全
  • 嵌入了一些h5小游戏

About

这是我在大三上独立完成的一门课程(互联网数据库)的大作业。网站从底层数据库,后端框架,前端页面都采用自主设计和开发,具有需求发布,购物车,订单处理等基础功能,创新性地嵌入了Intel RealSense 手势识别技术用以登陆验证,编写爬虫程序获取了淘宝近四万条手工艺产品的数据,数据库信息庞大,并且做了检索,分类处理等工作。

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published