文档分享网站 --- 事前准备

打算花一个月时间写一个百度文库式的文档分享网站
...在更新的主要目的就是鞭策自己,充当开发日志了...恩就这样

功能需求

首页 /index get

  1. 检测用户是否已经登录,如果是,则显示用户名(一卡通号)和上传文档数和被总被下载量
  2. 进入用户中心 【点击用户名之后进入】
  3. 热门文档推荐 最近被下载的15个文档
  4. 上传文档快速按钮

个人中心 /user/userInfo get

  1. 查看我最近下载的文档
  2. 查看我最近上传的文档
  3. 上传文档按钮
  4. 用户名显示 用户文档数 用户文档被下载量

文档浏览 /doc/[num] get

  1. 下载按钮【检测登录】
  2. 分享按钮 微博 人人
  3. 用户评价 【匿名评价】
  4. 分类 【课程】 【考试】 【作业】【资料】 【电子教材】 【其他】

文档上传/upload get/post

  1. 选择文件 获取文件名 , 也可以修改文件名
  2. 选择分类 【课程】【考试】 根据用户的ID选择获得其课表,让其选择相应课程,+【其他】
    【资料】 【电子教材】 【其他】 则显示简介
  3. 上传后生成封面 转成pdf,前端使用mozilla/pdf.js GitHub 来显示pdf。

文档下载/doc/download/[id]/

  1. 检测登录
  2. 返回原文档链接

文档检索/search get

  1. 按分类 显示所有分类【课程】
  2. 直接根据关键字(docname)检索

评价文档 /doc/comment/id post

数据库设计

关系型数据库 mysql
//userTable用于认证用户密码

user(userID, username,password,doccount,downloadcount)
document(docID,docname,docdescribe,pdflocation, sourcelocation,cover,downloadcount)
comment(commentID,context,commentDate)
doccomment(doccommentID,userID fk,commentID fk)
userupload(uploadid,userID fk, docID fk, uploaddate)
userdownload(downloadID pk, userID fk, docID fk , downloaddate)

流程

  1. 用户登录: ..

  2. 显示首页:检查cookies 是否登录。如果已经登录,请求用户表数据并显示、否则显示登录链接
    显示最近被上传的20个文件(暂时不用热门)

  3. 显示文档:根据点击文档ID显示PDF 显示评价 显示分享 显示分类

  4. 文档上传 登录认证 填写表单,检查表单合法性,后台生成封面放到../doc/cover/date/id.png、转换PDF 放到../doc/pdf/date/id 、 源文件放到/doc/source/date/文件名 更新user表,更新userupload表,更新document表。

  5. 文档下载 用户认证,返回静态文件地址 更新user表 更新userdownload表

  6. 评论,填写表单,更新comment表

简单设计

文档分享网站 --- 事前准备_第1张图片
首页.png
文档分享网站 --- 事前准备_第2张图片
显示文档.png
文档分享网站 --- 事前准备_第3张图片
个人信息.png

你可能感兴趣的:(文档分享网站 --- 事前准备)