oss-compass / compass-web

Frontend project for the OSS Compass
https://oss-compass.org
GNU Affero General Public License v3.0
18 stars 8 forks source link

Back End: Create Account System(建立 个人、OSPO等组织账户系统) #71

Closed eyehwan closed 1 year ago

eyehwan commented 1 year ago

背景输入

- 显示提交进度           
  - 申请人个人账户显示。尽快建立帐号和相关通知机制,项目跑完后,通过邮件通知(和微信公众号、slack 打通,分析完成后我们给他微信发个消息,这个页面放个公众号二维码之类,这样顺便还把用户拉进私域了)       
- 数据埋点                
- Compass Lab 面向(公开、非公开)数据集                        
  - OSPO 自己所属项目的操作               
  - 学术、个人实验性质。                         
  - 具体某个社区。

方案设计

---
title: OSS-Compass Website User Story Flow Chart
author: https://github.com/normal-coder
---
flowchart LR

%% 实体
    user((fab:fa-user 用户))
    GitHub((GitHub))
    Gitee((Gitee))
    Slack((Slack))
    WeChat((微信))

%% 页面
    index(主页)
    browse(项目浏览)
    explore(平台推荐热门领域)
    collections(项目分类)
    search(搜索项目分析报告)
    report(项目分析报表)

    login(使用\nGitHub/Gitee\n登录)
    reg(使用\nGitHub/Gitee\n注册)
    submit(提交项目分析)
    setting(帐号设置)
    subscribe(我订阅的报告页面)

%% 功能
    basic([设置昵称/头像])
    email([邮箱绑定\n用于更新通知])
    binding([绑定/解绑\n第三方帐号])
    delete([删除我的帐号])
    notify[(通知推送)]
    status([报告状态 + 更新时间\n待开始/进行中/已完成])
    process(["数据进展\n [repo/issue/pr]: current/total"])

%% 流程
    pr[(以当前用户对项目\n发起 Pull Request)]
    merge[(社区合并)]
    raw_collection[(数据采集)]
    analyze[(报告生成)]

subgraph OSS-Compass
    user-->index & browse & reg & login & submit
end

subgraph 访客浏览
    browse --> explore & collections & search & report
end
report -.用户订阅关注的报告.-> subscribe
%% subgraph 登陆后操作
    subgraph 提交报告
        submit-->pr-->merge-->raw_collection-->analyze    
    end
    pr & merge & raw_collection & analyze -.进度通知.-> 系统通知
    subscribe  -.报告刷新.-> 系统通知

    login--> subscribe & setting
    subgraph 报告订阅
        subscribe-->status & process
    end

    subgraph 帐号管理维护
        setting--> basic & email & binding & delete
        binding--> 用于提交报告 & 用于更新通知
        subgraph 用于提交报告
            GitHub & Gitee
        end
        subgraph 用于更新通知
            Slack & WeChat
        end
    end
    subgraph 系统通知
        notify--> |邮件| 邮件
        notify--> |模板消息| 公众号
        notify--> |Bot消息| Slack频道
    end
%% end

帐号体系支持

平台支持使用第三方代码托管服务商帐号进行授权注册和登录。包括但不仅限于:

需要对现有的页面做登录注册入口改造。

### 导航:全站增加登陆选项
- [ ] 未登录:右侧增加「登录/注册」选项
- [ ] 已登录:导航右侧增加已登录用户头像,Hover 弹出下拉菜单,移动端适配菜单纳入移动端左侧菜单抽屉
    我的报告:路由 `/report`,跳转到当前用户提交的报告页面。
    帐号设置:路由 `/settings`,跳转到帐号设置页面

导航调整

### 帐号设置
- [ ] 基本信息管理:支持设置昵称和头像
- [x] 邮箱管理:支持设置、验证并绑定一个邮箱,用于订阅收社区信息和系统通知
- [ ] 第三方帐号绑定:支持绑定 `GitHub`、`Gitee`、`微信`、`Slack` 四个平台的帐号。其中
  `GitHub`、`Gitee`:有且至少必须有一个(初始值来自帐号注册)
  `微信`、`Slack`:用于系统通知,使用扫码和机器人进行绑定。
- [ ] 删除我的帐号:注销删除当前帐号

帐号设置

系统通知支持、报告订阅功能

基于帐号绑定的基础,平台提供以下方式进行通知:

为解决用户关注分析报告生成进展的问题,现将提交报告和关注报告拆分为两个功能做如下调整:

### 报告提交、订阅调整
- [ ] 报告提交由于原有的 OSS-Compass Bot 拉取分支+创建PR,改为使用 Bot 拉取分支+提交,使用用户身份(Token)创建 Pull Request。
- [ ] 报告页面提供订阅选项(报告详情、Collection 列表)
- [ ] 为用户提供「我订阅的」页面功能,可以管理查看订阅。
- [ ] 当用户订阅的报告产生变化,通过绑定的渠道向用户推送更新。

我订阅的

poorfish commented 1 year ago

涉及页面:

eyehwan commented 1 year ago

进度更新分类:

weihongbin1 commented 1 year ago

后端进度

normal-coder commented 1 year ago
normal-coder commented 1 year ago
【OSS Compass 项目订阅更新 - XXXX】模板(点击展开) ```md --- TITLE: OSS Compass 项目订阅更新 - XXXX --- Hi XX, 你在 OSS Compass 上订阅的项目报告近期有 X 项更新,具体如下: - [oss-compass/project](#) - [oss-compass/project](#) 点击上方链接可查阅更新后报告内容,如需管理 **OSS Compass 项目订阅**,请点击此处。 更多开源软件项目分析洞察请访问:[OSS Compass](#)。 [OSS Compass 团队](右对齐) ```
【OSS Compass 项目订阅】模板(点击展开) ```md --- TITLE: OSS Compass 项目订阅 --- Hi XX, 你在 OSS Compass 网站上有关 [oss-compass/project](#) 的分析请求已提交并订阅,我们将在确认并完成分析后与你同步相关的报告信息。 如需管理 **OSS Compass 项目订阅**,请点击此处。 更多开源软件项目分析洞察请访问:[OSS Compass](#)。 [OSS Compass 团队](右对齐) ```
【OSS Compass 项目订阅】模板(点击展开) ```md --- TITLE: OSS Compass 项目订阅 --- Hi XX, 你已成功订阅项目 [oss-compass/project](#) 的分析报告,我们将在项目报告更新时与你同步相关的报告信息。 如需管理 **OSS Compass 项目订阅**,请点击此处。 更多开源软件项目分析洞察请访问:[OSS Compass](#)。 [OSS Compass 团队](右对齐) ```
【OSS Compass 项目退订】模板(点击展开) ```md --- TITLE: OSS Compass 项目退订 --- Hi XX, 你已成功退订项目 [oss-compass/project](#) 的分析报告。 如需管理 **OSS Compass 项目订阅**,请点击此处。 更多开源软件项目分析洞察请访问:[OSS Compass](#)。 [OSS Compass 团队](右对齐) ```

@weihongbin1

normal-coder commented 1 year ago

登录注册相关问题

「我的订阅」问题

账号设置相关问题

邮件部分问题

文案相关

normal-coder commented 1 year ago

微信模板消息

帐号绑定/解绑

报告生成/更新通知

报告订阅变更通知

@weihongbin1

weihongbin1 commented 1 year ago