程序聚合 软件案例 企业级多租户在线问卷调研与数据洞察平台

企业级多租户在线问卷调研与数据洞察平台

2026-09-17 10:28:16
行业:企业内部管理
载体:网站、云服务/云平台
技术:JavaScript、Python、Flask、SQLite

业务和功能介绍

1、立项背景和目标:集团及下属多个主体每年需开展员工满意度、培训需求、制度落实、招聘与人才盘点等多类调研,此前使用免费在线表单工具,存在三个硬伤:一是数据存放在第三方公有云,薪酬、绩效、组织人事等敏感数据无法合规留存;二是问卷样式与统计口径不统一,一份结论报告需要人工汇总 2—3 天;三是多主体同时使用时问卷互相可见、权限无法隔离。项目目标是自建一套可本地私有化部署、数据完全自主可控、支持多租户物理隔离的在线调研平台,把"发问卷—收数据—出结论"的全链路压缩到半天以内。
2、软件功能和核心功能模块:平台内置 21 种题型(单选、多选、下拉、矩阵、量表、评分、NPS、权重打分、签名、数字、日期、文本等),核心模块包括三栏拖拽式可视化编辑器(左题型库 / 中画布 / 右属性面板)、跳题逻辑与显示条件、断点续答、匿名与实名双模式、多租户物理隔离(每个租户独立数据库与上传目录)、角色权限体系(平台超管、租户管理员、只读查看)、ECharts 统计与交叉分析(频次、占比、均值、词云、矩阵透视)、实时投屏大屏、答卷明细与原始数据导出。
3、业务流程和功能路径:管理员登录 → 新建问卷(默认草稿)→ 拖拽配置题目与逻辑 → 发布并设置回收期限 → 通过链接或二维码分发 → 受访者免登录填写(手机端适配、断点续答)→ 实时统计与投屏 → 一键导出明细与图表 → 归档沉淀题库。

项目实现

1、整体架构和设计思路:采用"单体分层 + 多租户物理隔离"架构。Flask 承担 Web 层,SQLite(WAL 模式)承载数据,waitress 作为生产级 WSGI 容器,systemd 托管进程,Nginx 负责反向代理与静态资源;前端使用原生 JavaScript 零构建(不依赖 Node 工具链,便于在离线内网与信创环境交付)。后端按 engine(问卷引擎)/ models(数据模型)/ library(题库资产)/ tenant(租户路由)/ security(安全) / perf(性能)分层解耦,租户前缀由中间件统一剥离,实现一套代码支撑"一租户一库"、交付即拷贝目录。
2、我负责的模块和结果:独立完成需求定义、原型设计、全部后端与前端开发、性能调优、安全加固与部署运维。量化结果:支持题型 21 种;首屏资源体积由 78.2 KB 压缩至 21.2 KB(下降 73%);公网 50 并发压测 p95 响应由 18.1 秒降至 3.7 秒,100 并发 p95 为 5.9 秒;"同一时刻集体打开"的承载人数由 25 人提升至 50—60 人;单次调研从发放到产出结论由约 2 个工作日缩短至 0.5 个工作日;平台已支撑集团多个主体的常态化调研,零数据外泄。
3、遇到的难点和解决方案:① SQLite 在高并发读写下出现锁等待,通过启用 WAL 模式、把统计查询改为预聚合缓存并补建条件索引解决;② 公网带宽仅 4 Mbps,静态资源成为瓶颈,引入 gzip 压缩与基于文件修改时间的长缓存(?v=mtime),并修正 Vary 响应头(追加 Accept-Encoding),使压缩与缓存同时生效;③ HR 敏感数据合规要求高,实现登录失败"IP + 账号"双维度分级限流(5/8/12/20 次分别对应 5 分钟至 6 小时封锁)、Cookie 加 HttpOnly 与 SameSite、全站非 GET 请求校验 Origin/Referer、上传做扩展名白名单与随机文件名、密码以 PBKDF2-SHA256 20 万轮加盐存储;④ 存量单租户数据升级为多租户时不能丢线上数据,编写幂等迁移脚本(先备份、再按租户拆库),迁移后逐租户核对答卷数量与统计结果一致才放行。

示例图片视频


MrDu
24小时内活跃
方向: 前端-Web前端、后端-Python、
交付率:100.00%
相似推荐
跑步俱乐部社交平台小程序-喵扎特跑步
喵扎特跑步是一款面向跑步爱好者的俱乐部社交平台,旨在为跑步俱乐部提供数字化管理工具,促进跑者之间的交流互动。 核心功能模块包括: 1. 俱乐部管理:支持俱乐部创建、成员管理、权限分级、数据统计、月报生成等完整的俱乐部运营功能 2. 活动系统:支持多种活动类型(常规跑步活动、打卡挑战、PK对战、投票比赛),包含活动发布、报名管理、成绩记录、排行榜等 3. 社交动态:类似朋友圈的动态发布系统,支持图文发布、点赞评论、内容审核 4. 消息系统:私信聊天、系统通知、活动提醒等消息功能 5. 个人中心:跑步数据统计、目标设定、成就系统、设备绑定(运动手表) 业务流程:用户注册登录→加入/创建俱乐部→参与活动/发布动态→记录跑步数据→查看统计排名→获得成就奖励
宠物收养交流平台
项目主要分为“宠物信息展示”和“即时通讯”两部分进行开发,其中使用 JsonWebToken 实现前后端用户验证登录;并配合 Axios 实现前后端数据传输、请求响应拦截等操作;使用阿里云OSS对象存储服务对用户图片进行网上托管; 服务端使用Koa Web应用框架搭建后端,并封装Sql语句对数据库进行相关数据操作;基于socket.io库来实现服务端实时推送消息,客户端并配合使用socket.io-client 库来接收数据,由此实现即时通讯功能;
上上签·-微信
业务和功能介绍 1. 立项背景和目标 平时大家总有拿不定主意的时候:中午吃什么、聚会玩什么、事情选哪个。也有人喜欢求个签讨个好彩头。市面上工具要么功能单一,要么搞得太复杂。我们想做一个小而全的小程序,把"随机决策"和"抽签"放一起,打开就能用,不用登录、不用后端,数据都存在自己手机里,方便又省事。目标就是:想纠结时点一下,马上出结果。 2. 软件功能和核心模块 一共三大块: • 决策器:有抓阄和吃什么两种模式,每种都有转盘、抓阄、抽签三种玩法。选项自己加,还能把常用的选项组合存起来,下次直接用。吃的也可以存几套常吃菜单。 • 抽签(每日一签):每天一次,零点自动刷新,抽完能看历史记录。除了内置签文,也能自己加签。 • 我的:换头像、填昵称,设置默认用哪种决策形式,管理自定义签文,一键清空所有数据。 另外支持把决策结果分享给朋友,抓阄还能拉好友进同一个房间一起抽,可以设置"每人只能抽一次""每种只能被抽一次"。 3. 业务流程和功能路径 • 用决策器:打开小程序 → 进"决策"页 → 选抓阄还是吃什么 → 加选项(或从已存的组里选)→ 选转盘/抓阄/抽签 → 点"开始决策" → 出结果 → 可分享或重新来。 • 用每日一签:进"上上签"页 → 点抽签 → 看签文 → 可看历史。 • 管理个人数据:进"我的"页 → 改头像昵称 / 设决策形式 / 管理签文 / 清空数据。 • 和朋友一起抓阄:决策页 → 加好选项 → 点"邀请好友一起抓阄" → 设规则 → 生成房间分享给朋友 → 大家一起抽
上海数银科技有限公司停车系统-停车+会员
智慧城市是未来城市发展的方向,而智慧停车是其中的一个单元。为了让车主节省时间、室内导航快速找到停车位,离场时可以使用优惠、无感支付不停留出场;车场可以规范化、高效化、清晰化管理,我们开发了智慧停车系统。停车系统包含的子系统有:网关、权限云、优惠云、停车云、支付云、银联支付云、建行支付云、农行支付云、银联商务支付云、发票云、会员云、报表云、对账云、Job、地锁、商城、监控、微消息、短信
AY 手机维修检测设备(ROC-RK3308B-CC Plus)-嵌入式 Linux 手持设备 / 工业检测终端 UI 与本地服务联调
1、立项背景和目标 项目面向手机维修场景,在 Firefly ROC-RK3308B 手持板上提供本地操作界面,完成电池排线信息读取、底层修复、排线固件 OTA、WiFi/系统设置等检测业务。目标是:新板从零可部署、UI 可操作、与本地后端通过本机 HTTP 联通,形成「屏幕操作 → 本地服务 → 串口/云端」闭环。底层 Python 服务非本人从零开发,本人从拿到新板开始负责系统部署、UI 落地与端到端联调。 2、软件功能与核心模块 LVGL 人机界面:主菜单多业务入口(设置、电池修复、点阵/原彩/听筒/相机等);设置页含 WiFi、系统升级入口、服务器/语言/亮度等。 rk_client 通信层:板端 C 通过 curl/HTTP 调用本机 127.0.0.1:8080 后端。 电池与排线:FPC 信息读取、底层修复任务与进度、排线固件列表查询与升级进度展示。 设置子系统:WiFi 扫描连接、亮度 PWM、语言/服务器持久化、界面主题与二级/三级菜单样式统一。 本地后端(联调对象):FastAPI 提供健康检查、Apple/串口/FPC/云端固件列表等 API。 3、业务流程与功能路径 新板部署 → 启动 rk-backend 与 lvgl-ui → 主界面进入业务页 → UI 发 HTTP → 后端驱动串口/排线/云端 → 轮询进度并刷新界面。排线 OTA 路径:插 FPC → POST /fpc/firmware/list 取 sdk_key 与云端 packages → 用户选择后 upgrade → 轮询 progress。电池修复:选容量模式 → 创建任务 → 轮询 → 重启确认。设置路径:二级菜单 → 三级选择面板保存配置并即时预览(如亮度)。
帮助文档   Copyright @ 2021-2024 程聚宝 | 浙ICP备2021014372号
人工客服