GeekApk 社区设计 - geekapk-r/Talk GitHub Wiki
这个 wiki 页面将帮助你认识 GeekApk 社区 开始的内容设计 (这个版本和原本的设计有出入)
优秀的设计是 简洁而明了的,一切应该尽可能 统一,可能的特性虽然 多 但底层表示 不乱,像一道彩虹,不是「满天都是花花绿绿杂乱的彩带」
是之前水平不够的原因 (现在也一样),真正的这种社区应该是 尽可能简单的,不过设计时添加了 太多莫名其妙的特性 让她变得 复杂不堪且难以理解,我决定在此进行 精简,依然保留插件设计
GeekApk 里主要还是有三大模型: 用户,应用,评论
其他的都可以省掉 (话题,头条,应用集,新闻 都可以是应用或评论)
另外还有必须要有的 PM,收件箱,时间线 设计
模型里偏重 星标,置顶,过滤,排序,推荐
用户系统不开放注册,需要有人开 issue 引荐,一个特别不人性化但是实在没办法的事是密码是自动生成的
密码的分发和重置依赖第三方平台
用户
字段 |
类型 |
描述 |
id |
integer |
用户的 唯一标识 |
name |
varchar |
用户名 |
alias |
varchar |
用户名 |
email |
varchar |
邮件 |
github |
varchar |
GitHub 用户简名 |
super |
integer |
超应用 AID |
bio |
varchar |
介绍 |
dev_bio |
varchar |
开发者介绍 |
ctime |
datetime |
创建时间 |
atime |
datetime |
上线时间 |
following |
integer |
跟随数 |
followed |
integer |
被跟随数 |
follow
字段 |
类型 |
描述 |
user |
integer |
跟随者 UID |
followed |
integer |
被跟随者 UID |
hash
字段 |
类型 |
描述 |
user |
integer |
用户 |
hash |
varchar |
用户密码 SHA-256 hash |
- Filter 超级用户? 填写email? 填写bio? 有别名? 已经跟随?
- Sort 创建时间 上线时间 跟随数 被跟随数
- 检索 用户名 用户别名 bio
应用
字段 |
类型 |
描述 |
id |
integer |
应用 AID (唯一标识) |
creator |
integer |
创建人 UID |
category |
integer |
分类 SID |
name |
varchar |
名称 |
alias |
varchar |
别名 |
pkgname |
varchar |
包名 |
icon |
varchar |
图标链接 |
version |
varchar |
版本 |
reversion |
integer |
重版本 (用于标识更新) |
description |
varchar |
描述 |
updates |
varchar |
更新内容 |
visualizer |
varchar |
applayout |
optlabel |
varchar |
操作名覆盖 |
special |
varchar |
应用特殊标签 |
install |
varchar |
获取链接 |
previews |
varchar |
预览图片们 |
apimin |
integer |
Android API 最小需求 |
apitarget |
integer |
Android API 目标 |
size |
integer |
以千字节计算的安装包体积 |
lang |
varchar |
语言标识代码 |
src |
varchar |
源代码地址 |
perm |
varchar |
权限 |
stars |
integer |
收获的 Star 数目 |
replies |
integer |
收获的 评论 数目 |
locked |
boolean |
是否不允许他人添加推荐 (需要用于实现应用集等) |
star
字段 |
类型 |
描述 |
user |
integer |
Star 的 用户 |
app |
integer |
应用 AID |
category
字段 |
类型 |
描述 |
id |
integer |
分类 SID |
name |
varchar |
分类描述 |
parent |
varchar |
父分类 描述(允许两层分类) |
recommend
字段 |
类型 |
描述 |
user |
integer |
推荐的 用户 |
app |
integer |
在应用 n 中 |
recommend |
integer |
推荐了 n |
top
字段 |
类型 |
描述 |
app |
integer |
对应应用 AID |
pinned |
integer |
置顶评论 CID |
- Filter category 最低AndroidAPI 你发布的?
- Sort star replies created updated size
- 检索 应用名 别名 包名 描述
评论
字段 |
类型 |
描述 |
id |
integer |
回复唯一 CID |
user |
integer |
发布 用户 |
target |
integer |
回复到的 应用 |
ctime |
datetime |
创建时间 |
mtime |
datetime |
更新时间 |
reply |
integer |
回复到 |
content |
varchar |
Markdown 内容 |
stars |
integer |
Star 数目 |
replies |
integer |
回复 数目 |
likes |
integer |
喜欢数 |
like
字段 |
类型 |
描述 |
user |
integer |
like 的 用户 |
comment |
integer |
评论 CID |
comment_star
字段 |
类型 |
描述 |
user |
integer |
star 的 用户 |
comment |
integer |
评论 CID |
- Filter 应用目标 发布用户
- Sort star like reply created updated
- Search 内容
收件箱
字段 |
类型 |
描述 |
to |
integer |
谁的邮件? |
from |
integer |
谁发的? |
type |
intger |
类型? |
data |
integer |
数据 |
ignore |
boolean |
已经阅读 |
time |
datetime |
发送时间 |
- Sort 发送时间
- Filter 类型 谁发送的? 已经阅读?
Private Table
字段 |
类型 |
描述 |
uid |
integer |
这是谁的私有表记录? |
id |
integer |
用户私有表记录的 ID |
type |
integer |
类型 |
accessable |
integer |
谁可以访问这个信息? |
text |
varchar |
消息 |
ctime |
datetime |
创建时间 |
mtime |
datetime |
修改时间 |
- Sort 创建时间 修改时间
- Filter 谁可以访问这条消息 我可以访问哪条他人的消息
Timeline
字段 |
类型 |
描述 |
uid |
integer |
谁发表了这个时间线? |
time |
datetime |
什么时间? |
type |
integer |
什么情况 |
data |
integer |
额外数据信息 |
- Sort 时间
- Filter UID 一组UID 我所有Following的UID type