zrll 发表于 2024-8-26 19:58:05

[开源][原创]苦力怕论坛问卷系统

本帖最后由 zrll 于 2024-8-26 20:01 编辑



史无前例 —— 苦力怕论坛问卷系统横空出世Unprecedented —— KLPBBS survey system has emerged

纸上得来终觉浅,绝知此事要躬行
网址: https://wj.klpbbs.cn
项目地址: GitHub


## 简介

为了让论坛用户能够更加简单、快速地填写问卷,苦力怕论坛 KLPBBS 与 瀚海工艺 Vastsea 团队的多位开发者共同合作,合力打造了一个无缝集成的问卷系统。通过这个系统,论坛用户可以使用已有的账号通过 KLPBBS API 快速登录,而无需重复注册或创建新的账号,极大地优化了用户体验。

### 快速登录与免注册填写

为了进一步降低用户填写问卷的门槛,KLPBBS 问卷系统引入了 KLPBBS 官方 API 登录接口,使论坛用户能够直接通过论坛账户登录,无需注册新账号。在用户在访问问卷页面时,只需点击登录按钮,系统会自动验证用户的论坛身份,并将其直接引导至问卷页面。

1. 单点登录(SSO)集成:当用户访问问卷系统时,系统会通过 API 调用与论坛进行身份验证,自动识别用户身份。用户无需手动输入账号密码,即可快速登录进入系统。
2. 免注册体验:通过论坛的现有账号体系,用户无需再为填写问卷注册新账户,减少了流程的复杂性,极大提升了用户参与问卷调查的积极性。
3. 用户数据同步:系统能够自动同步用户的基本信息,例如用户名、UID等,确保问卷填写过程中无任何重复信息输入的需求。填写问卷变得更加快捷,流畅。

技术栈
Tech Stack


### 前端

KLPBBS 问卷系统的前端采用了新一代前端 Web 框架 Next.js。Next.js 是基于 React 的全新框架,它不仅具有良好的性能优化。并且还针对不同的页面提供独立的预渲染支持,确保用户在不同设备有着最快的访问速度和最好的访问体验。

在 UI 层面,我们选择了 Mantine 组件库。Mantine 是一个功能齐全的 React 组件库,内置了大量响应式和可自定义的组件,极大地提升了开发效率。它支持按需加载组件,这使得前端项目可以保持较轻的体积,避免不必要的代码冗余,提升加载速度。

为了更好的处理数据展示与交互,用户系统前端还整合了多种优化工具。例如,通过 Next.js 内置的 API 路由和数据获取方法,我们可以根据用户的行为和问卷的数据动态生成页面,确保用户访问时的流畅度和数据的是实时性。

### 后端

在后端方面,KLPBBS 问卷系统采用了高效、安全的后端语言 Rust 来开发。Rust 是一种强调安全性和性能的系统级编程语言,其最大的特点就是通过其所有权模型,彻底避免了内存泄漏、空指针引用等常见的变成错误,从而确保了代码的稳定性。在并发方面,其也表现出色,它内置了强大的并行处理能力,可以帮助我们在大量用户请求的情境下依旧保持系统的高效运行。

为承载 Web 服务,后端使用了 Rust 中较为流行的 Axum 框架。Axum 是一个转为 Rust 生态设计的 Web 框架,它基于 Tokio 异步运行时,可以轻松处理高并发请求。Axum 支持丰富的路由机制和中间件扩展,能够让我们灵活的处理各种 API 请求。由于问卷系统涉及到大量的表单提交、数据交互和动态内容生成,Axum 的轻量级特性和性能优势让我们能够快速响应用户请求,并确保服务器在高并发环境下仍能保持稳定。

同时,后端还集成了高效的数据库 ORM 工具 SeaORM 和 PostgreSQL 数据库。这样,后端能够安全、高效地管理用户数据、问卷内容、统计信息等等,并确保数据的一致性和持久性。我们还为每个API端点设计了严格的输入验证和身份验证机制,进一步保障系统的安全性,避免非法访问和恶意操作。

### 部署

为了实现高效、稳定的持续集成和持续部署(CI/CD),KLPBBS问卷系统采用了一站式的Docker部署方案。Docker 的容器化技术允许我们将应用程序及其依赖打包成一个可移植的容器,从而简化了开发、测试和生产环境之间的一致性问题。通过这种方式,开发人员可以在本地环境中快速构建、测试和运行应用,保证代码在任何环境下都能稳定运行。

#### 一站式 CI/CD 系统

我们使用了基于 **GitHub Actions** 和 **Docker Compose** 的一站式 CI/CD 系统,以便在开发者提交代码时,能够自动化完成代码的构建、测试和部署。

开发人员
Devlopers


[*]zrll 前端 后端 测试 GitHub @zrll
[*]Snowball_233 前端 CI/CD 运维 文档 GitHub @雪球♡
[*]M397749490 CI/CD 运维 测试 GitHub @M397749490
[*]damesck 前端 文档 GitHub @damesck
[*]GaoNeng-wWw 前端 GitHub


图片分享
Images
首页
登录

问卷列表

试卷内容

刮刮乐彩蛋

后台管理界面

判卷系统

后台
运行状态

GitHub 前端项目

GitHub 后端项目


GitHub 前端项目统计


雪球♡ 发表于 2024-8-26 19:59:02

支持一下喵!

缔造者 发表于 2024-8-26 19:59:27

支持![贴吧_滑稽][贴吧_大拇指]

M397749490 发表于 2024-8-26 20:02:34

恭喜恭喜

不想吃老鼠的喵 发表于 2024-8-26 20:06:34

过来支持一下…
看看我的铁粒…
过 ¿ 天我买张提升卡顶贴[贴吧_滑稽][贴吧_大拇指]

YanRan233 发表于 2024-8-26 20:16:34

支持支持[哔哩_打call][哔哩_打call]

damesck 发表于 2024-8-26 20:24:01

终于做好了[哔哩_脱单]

n00bt1m 发表于 2024-8-26 20:38:37

棒棒棒,制作组太厉害了
顶贴顶贴

12_321 发表于 2024-8-26 20:40:02

好[贴吧_滑稽][贴吧_大拇指]
但我在手机端里没法刮刮乐
在这界面没法刮刮刮乐

portedboar44215 发表于 2024-8-26 20:41:58

似曾相识的感觉,有点像问卷星[贴吧_滑稽]
页: [1]2
查看完整版本: [开源][原创]苦力怕论坛问卷系统