sociallayer-im / product-management

social layer product issue tracker
0 stars 0 forks source link

group and event space hierarchy #124

Open jiangplus opened 3 months ago

jiangplus commented 3 months ago

目前我们的社区空间单位是 group, group 是一个组织,或者一个 pop-up city, 每个活动是 event。

Zuzalu.City 的层级结构是: Space - 一个社区, Event - 一个 pop-up city活动, Session - 某个讲座,workshop或者小型活动。

目前的使用场景中,the mu 是一个社区, muChiangmai, muBuenos, muAcrra, 每次通过改名字来表示不同的活动。

后续需要设计新的社区和活动层级。

可能的解决方案: group 有 parent group 的概念,可以实现层级结构,这样 the mu 是 muBuenos 的 parent group; 专门提取一个 pop-up city 或者 campaign 的结构; 将不同的活动展示空间视为不同的 calendar,calendar 可以自由组合; 以上方案的混合。

jiangplus commented 3 months ago

event site 改名为 venue 增加 track 这个概念

jiangplus commented 2 months ago

Event 管理层级的讨论

很早以前有讨论过 Event Space 作为一个单独的概念,每个 community 创建一个 Event Space;最近说的 Event Hub 也是类似的。Event Space 可以想象成一个 Community 的 Event Portal。

sola 的社区概念经过几次迭代,最早的 data model 叫做 Org,强调组织概念,但是很早就去掉了,因为很多用户是一个社区,不是一个组织。后面使用 Group 作为 data model,Group 就是一群人,结构类似微信群,有一个群主(owner),几个管理员(manager)和多数普通成员。Group 的好处是非常中性,可以是 Community,DAO,Company,Conference 等等,后面才有了 Pop-up City。

Group 的层级来自于几个因素,比如 706 有各个地方的城市节点,每个城市节点是独立的 subgroup;SeeDAO 内部有不同的公会,每个公会可以有自己的 subgroup。Subgroup 不需要是单独的概念,只是 Group 对象有一个 parent_id 指向上一层级的 Group。所以 Group 目前在sola是一个很通用的概念,表示任何集体或非个人的实体。

一个社区可以有自己的子社区,一个pop-up city brand会有不同地方的分支,一个 conference brand有不同的大会(比如奥运会每四年在不同城市举办),层级结构是必要的。

一个大会 as a Group 不光是 Event 的聚合,还是关联了成员的身份,门票,Venue,Map Marker,Badge 等等。目前这些对象都关联在 Group 上。因为加州的大会你买了门票,不代表在清迈的活动也还有资格参加,所以这些都需要分开。如果新创建一个 Event Space data model 不太适合承载这个,除非 Membership,Venue,Map Marker,Badge 这些概念都进行重新的绑定。

nicosxt commented 2 months ago

每一个group内含一个group type 相当于是他的标签 group type 可以是 pop-up city, unconference, coliving, DAO, etc... 前端主页的UX可以用group type来进行展示