zoukankan      html  css  js  c++  java
  • 基于SAE+CodeIgniter3.0+管理端angularjs+前台amazeui的多用户博客系统V1.0--系统设计(一)

    开发环境:

    • 服务器系统:CentOS-6.x
    • web服务器:Apache-2.2.x
    • php版本:PHP-5.3.x
    • 开发工具:sublime text 3 ,谷歌浏览器
    • 数据库查询工具:phpmyadmin
    • 协作工具:乌龟SVN

    约定:

    • 数据表前缀:blog_
    • 数据表主键名:表名_id,自增,不为空
    • 时间字段类型统一为timestamp,每个表必须含有创建时间(默认当前时间),更新时间(默认由mysql更新)
    • 字符集采用UTF-8

    项目定义:多用户博客系统--运行在SAE上,基于php的最新3.0CodeIgniter框架,前台界面采用最新国内开源amazeui的移动端UI框架,后台管理端采用google出的angularjs的JS框架,一个多用户博客系统。

    参考资料:

    数据库结构设计:

    概念结构设计:

    • 实体->属性->关系(橙色是已经创建设计,黑色表示待创建)
      1. 用户
      2. 角色
      3. 权限点
      4. 分类/标签
      5. 文章
      6. 图片
      7. 上传文件
      8. 评论
      9. 系统配置
      10. 站内信
      11. 公告
      12. 友情链接

    物理结构设计:

    --
    -- 表的结构 `blog_access_point`
    --
    
    CREATE TABLE IF NOT EXISTS `blog_access_point` (
      `access_point_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '权限点id',
      `name` varchar(200) NOT NULL COMMENT '权限点',
      `user_id` int(10) unsigned NOT NULL COMMENT '创建者id',
      `create_time` datetime NOT NULL COMMENT '创建时间',
      PRIMARY KEY (`access_point_id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='权限点表' AUTO_INCREMENT=1 ;
    
    --
    -- 转存表中的数据 `blog_access_point`
    --
    
    
    -- --------------------------------------------------------
    
    --
    -- 表的结构 `blog_comments`
    --
    
    CREATE TABLE IF NOT EXISTS `blog_comments` (
      `comment_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '评论ID',
      `comment_object_id` int(10) unsigned NOT NULL COMMENT '评论对象ID',
      `comment_object_type` tinyint(1) NOT NULL COMMENT '评论对象类型 0:文章 1:评论',
      `comment_author` varchar(255) NOT NULL COMMENT '评论者',
      `comment_content` text NOT NULL COMMENT '评论内容',
      `comment_approved` tinyint(1) NOT NULL DEFAULT '1' COMMENT '评论是否被批准 0:否 1:是',
      `comment_author_ip` varchar(100) NOT NULL DEFAULT '' COMMENT '评论者ip',
      `create_time` datetime NOT NULL COMMENT '评论时间',
      `comment_agent` varchar(255) NOT NULL DEFAULT '' COMMENT '评论者agent',
      `comment_parent` int(10) unsigned NOT NULL COMMENT '父评论ID',
      `user_id` int(10) unsigned DEFAULT NULL COMMENT '评论者id',
      PRIMARY KEY (`comment_id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='评论表' AUTO_INCREMENT=1 ;
    
    --
    -- 转存表中的数据 `blog_comments`
    --
    
    
    -- --------------------------------------------------------
    
    --
    -- 表的结构 `blog_options`
    --
    
    CREATE TABLE IF NOT EXISTS `blog_options` (
      `option_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '配置id',
      `blog_id` int(10) unsigned NOT NULL COMMENT '博客id 就是用户id',
      `option_name` varchar(200) NOT NULL COMMENT '配置名',
      `autoload` tinyint(4) NOT NULL DEFAULT '0' COMMENT '是否初始化时加载',
      `option_value` text NOT NULL COMMENT '配置值',
      PRIMARY KEY (`option_id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='配置表' AUTO_INCREMENT=1 ;
    
    --
    -- 转存表中的数据 `blog_options`
    --
    
    
    -- --------------------------------------------------------
    
    --
    -- 表的结构 `blog_posts`
    --
    
    CREATE TABLE IF NOT EXISTS `blog_posts` (
      `post_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
      `post_author` int(10) unsigned NOT NULL COMMENT '对应作者ID',
      `create_time` datetime NOT NULL COMMENT '文章发布时间',
      `post_content` longtext NOT NULL COMMENT '正文',
      `post_title` text NOT NULL COMMENT '标题',
      `post_excerpt` text NOT NULL COMMENT '摘录',
      `post_status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '文章状态 0 未审核 1 正常',
      `comment_status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '是否开启评论 0:不开启 1:开启',
      `post_password` varchar(20) NOT NULL DEFAULT '' COMMENT '文章密码',
      `post_name` varchar(200) NOT NULL DEFAULT '' COMMENT '文章缩略名',
      `modify_time` datetime NOT NULL COMMENT '文章修改时间',
      `menu_order` int(11) NOT NULL DEFAULT '0' COMMENT '排序ID',
      PRIMARY KEY (`post_id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='文章表' AUTO_INCREMENT=1 ;
    
    --
    -- 转存表中的数据 `blog_posts`
    --
    
    
    -- --------------------------------------------------------
    
    --
    -- 表的结构 `blog_post_statistics`
    --
    
    CREATE TABLE IF NOT EXISTS `blog_post_statistics` (
      `post_id` int(10) unsigned NOT NULL COMMENT '文章id',
      `view_count` int(10) unsigned NOT NULL COMMENT '文章浏览数',
      `comment_count` int(10) unsigned NOT NULL COMMENT '文章评论数',
      UNIQUE KEY `post_id` (`post_id`,`view_count`,`comment_count`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='文章统计表';
    
    --
    -- 转存表中的数据 `blog_post_statistics`
    --
    
    
    -- --------------------------------------------------------
    
    --
    -- 表的结构 `blog_role`
    --
    
    CREATE TABLE IF NOT EXISTS `blog_role` (
      `role_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '角色id',
      `name` varchar(200) NOT NULL COMMENT '角色名',
      `access_point` varchar(50) NOT NULL COMMENT '权限点',
      `create_time` datetime NOT NULL COMMENT '创建时间',
      `user_id` int(10) unsigned NOT NULL COMMENT '创建人id',
      PRIMARY KEY (`role_id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='角色表' AUTO_INCREMENT=1 ;
    
    --
    -- 转存表中的数据 `blog_role`
    --
    
    
    -- --------------------------------------------------------
    
    --
    -- 表的结构 `blog_terms`
    --
    
    CREATE TABLE IF NOT EXISTS `blog_terms` (
      `term_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '分类方法ID',
      `name` varchar(200) NOT NULL COMMENT '分类名',
      `term_type` tinyint(1) NOT NULL COMMENT '分类方法:0:分类 1:标签',
      `description` text NOT NULL COMMENT '分类方法描述',
      `parent` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '所属父分类方法ID',
      `count` int(11) NOT NULL COMMENT '文章数统计',
      PRIMARY KEY (`term_id`),
      UNIQUE KEY `name` (`name`,`term_type`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='分类,标签表' AUTO_INCREMENT=1 ;
    
    --
    -- 转存表中的数据 `blog_terms`
    --
    
    
    -- --------------------------------------------------------
    
    --
    -- 表的结构 `blog_term_relationships`
    --
    
    CREATE TABLE IF NOT EXISTS `blog_term_relationships` (
      `object_id` int(10) unsigned NOT NULL DEFAULT '0',
      `term_id` int(10) unsigned NOT NULL DEFAULT '0',
      `term_order` int(11) NOT NULL DEFAULT '0',
      `object_type` tinyint(1) NOT NULL COMMENT '0:文章 1:图片',
      PRIMARY KEY (`object_id`,`term_id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='存储每个文章、链接和对应分类、标签的关系';
    
    --
    -- 转存表中的数据 `blog_term_relationships`
    --
    
    
    -- --------------------------------------------------------
    
    --
    -- 表的结构 `blog_upload`
    --
    
    CREATE TABLE IF NOT EXISTS `blog_upload` (
      `upload_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '上传id',
      `file_name` varchar(255) NOT NULL COMMENT '上传文件名',
      `file_path` varchar(255) NOT NULL COMMENT '上传路径',
      `file_md5` varchar(100) NOT NULL COMMENT '上传文件MD5值',
      `create_time` datetime NOT NULL COMMENT '上传时间',
      `file_status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '文件状态 0:已删除 1:正常',
      `user_id` int(10) unsigned NOT NULL COMMENT '文件上传人id',
      `file_type` tinyint(1) NOT NULL DEFAULT '0' COMMENT '文件类型 0:图片',
      PRIMARY KEY (`upload_id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='上传文件表';
    
    --
    -- 转存表中的数据 `blog_upload`
    --
    
    
    -- --------------------------------------------------------
    
    --
    -- 表的结构 `blog_users`
    --
    
    CREATE TABLE IF NOT EXISTS `blog_users` (
      `user_id` int(10) unsigned NOT NULL COMMENT '用户id',
      `user_login` varchar(60) NOT NULL COMMENT '登录账号',
      `user_pass` varchar(64) NOT NULL COMMENT '登录密码',
      `display_name` varchar(250) NOT NULL COMMENT '显示名称',
      `registered_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '注册时间',
      `user_status` tinyint(1) NOT NULL COMMENT '用户状态',
      PRIMARY KEY (`user_id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='用户表';
    
    --
    -- 转存表中的数据 `blog_users`
    --

    系统结构设计:

    项目的目录结构:

    image

    • admin 后台文件夹
    • application 前台文件夹
    • system CI系统文件夹
    • admin.php 后台入口文件
    • index.php 前台入口文件

    image

    admin是application的复制文件夹,里面结构就是项目CI的主要目录结构

    • cache 缓存
    • config 项目配置
    • controllers 控制器
    • core 项目核心 一般用来扩展system目录core目录下的核心类image
    • helpers 项目函数
    • hooks 钩子
    • language 语言
    • libraries 项目类
    • logs 项目日志
    • models 模型
    • third_party 第三方类库
    • views 视图

    模块结构:(待续)

    程序结构:(待续)

  • 相关阅读:
    SDUT 1299 最长上升子序列
    HDU 1754 I Hate It
    SDUT 2080 最长公共子序列问题
    HDU 1102 Constructing Roads HDU1863 畅通工程
    HDU 1166 敌兵布阵
    HDU 1874 畅通工程续
    准备翻译Windows 8 动手实验系列教程
    Windows 8 动手实验系列教程 简介
    一起学Windows phone7开发(十九. Windows phone7发布)
    一起学Windows phone7(十六. windows phone 7 developer tool RTM 发布)
  • 原文地址:https://www.cnblogs.com/jdhu/p/4196163.html
Copyright © 2011-2022 走看看