a home inventory web app
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
rtrp
.gitignore
LICENSE
README.md
requirements.txt

README.md

Right Things In Right Places

Right Things In Right Places is a home inventory web application using python django framework.

简介

这是一个使用Django框架开发的家用物品收纳管理的web应用。一方面用于学习实践所学的python web开发知识,也会实践一些前端技术,另一方面也是生活中确有此方面需求,经常忘记某个东西放在了哪里,我想通过这个管理系统可以起到管理查询的作用。 计划以RESTful形式的后端,加上响应式前端的方式组成这个应用。

数据库设计

应用以物品管理为中心,所以核心是Item表,用于存放物品的详细信息,同时配有Itemmeta表用于物品特殊属性的添加。参考sortly的设计,使用Folder来存放Item,这样Folder可以嵌套,形成层级关系,比如大衣柜folder下还可以增加左下抽屉folder,这样item物品可以选择放入不同层级的folder中。分类方面,感觉通过分类搜索的场景不会太多,同时添加物品时太繁琐,所以只设置tag标签分类,用于快速添加和快速查找。 数据库暂定划分6个表: 1 User用户表 用于管理用户信息,使用Django自带的User 2 Folder表 文件夹表 3 Item表 物品表 4 Itemmeta表 物品元信息(特殊信息) 5 Tag表 类型标签表 6 TagRelatation表 标签关系表

结构设计

Django使用Restful Framework处理各种请求,oauth toolkit实现oauth验证 前端vuejs+framework7,登录验证使用一个页面(inline page),应用使用一个单页面

API接口

用户验证 /auth

  • 登录 POST /login username,password token
  • 登出 POST /logout token result
  • 更新密码 PUT /password username, password result
  • 用户注册 POST /register username, email, password,

列表 /list

  • 列表 GET /<folder_id> 返回文件夹下的文件夹和物品列表,空为返回根目录
  • 列标签 GET /tags/ 返回本用户所有标签

文件夹 /folder

  • 文件夹列表 GET / 返回对应id下的文件夹属性
  • 添加文件夹 POST / 制定文件夹下添加文件夹 foldername, [parentname, tag, info]
  • 更新文件夹 PUT / 更新制定文件夹 foldername, []
  • 删除文件夹 DELETE / foldername

物品设置 /item

  • 物品信息 GET /
  • 添加物品 POST / itemname,[]
  • 更新物品 PUT / itemname, []
  • 删除物品 DELETE / itemname, []

搜索 /search 待完成

  • 搜索tag POST /tag [tagname 返回文件夹列表和item列表
  • 搜索item POST /item [itemname 返回item列表
  • 搜索folder POST /folder [foldername 返回folder列表