工具网站 精华

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

zr***版主 发表于 2024-8-26 · 最后回复 2025-2-5 IP:天津 9,011 15
本帖最后由 M397749490 于 2026-1-24 16:16 编辑


史无前例 —— 苦力怕论坛问卷系统横空出世
Unprecedented —— KLPBBS survey system has emerged
[tr=rgb(245, 245, 245)]
[td]纸上得来终觉浅,绝知此事要躬行
网址:
https://wj.klpbbs.com
项目地址: GitHub[/td]
[/tr][/table][table=98%]

简介

为了让论坛用户能够更加简单、快速地填写问卷,苦力怕论坛 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
mainpage.png
首页

oauth.png
登录


list.png
问卷列表


survey.png
试卷内容


completed.png
刮刮乐彩蛋


   backstage.png
后台管理界面


judge.png
判卷系统


backend.png
后台

status.png
运行状态


github_backend.png
GitHub 前端项目


github_frontend.png
GitHub 后端项目


github_frontend_insight.png
GitHub 前端项目统计


评分 5 人参与铁粒 +680 贡献 +1 查看全部评分 收起
  • Minecr*** 铁粒 +20 creeper?
  • 鸡*** 铁粒 +60 支持
  • n00*** 铁粒 +100 酷
  • Eth*** 贡献 +1 苦力怕论坛感谢有你~
  • 雪*** 铁粒 +500 苦力怕论坛感谢有你~
回复 15 最早 最新 只看楼主
***Lv.5 金牌会员
2024-8-26 20:40:02 · 来自手机 IP:广东省
好
但我在手机端里没法刮刮乐

9# 2024-8-26 20:40:02 收起回复
缔造者 2024-8-26 20:43 IP:广东省
回复 举报
长按即可
屍回复缔造者 2024-8-26 20:46 IP:广东省
回复 举报
好的
缔造者回复屍 2024-8-26 20:54 IP:广东省
回复 举报
目前还不稳定,等能用的时候试试,反正刮刮乐是要长按的才能刮
您需要登录后才可以回帖 登录 | 立即注册
本版积分规则