Skip to content

Delk/tibao

Repository files navigation

TIBAO 题宝

一个面向高校学习场景的题库协同、资源分发与智能刷题平台。

让题库创建、跨校共享、练习刷题、错题回顾、收益结算和学习数据分析形成一个完整闭环。

PHP MySQL Bootstrap License


项目简介

TIBAO 题宝是我做的第一个完整 Web 项目。它最初来自真实的学习需求:同学之间经常需要整理、分享和练习课程题库,但普通文件传来传去很难管理,也缺少刷题记录、错题回顾、资源市场和收益反馈。

这个项目尝试把“题库管理”和“刷题学习”做成一个平台:

  • 用户可以注册、登录、创建自己的题库。
  • 题库可以编辑、导入、发布、购买或免费领取。
  • 学生可以进入练习模式刷题,系统记录答题情况。
  • 错题、收藏、成绩数据和题库收益可以在个人中心查看。
  • 通过邀请返佣、资源市场和社区讨论,让题库从个人资料变成可协作流通的学习资源。

它不是一个框架生成的 Demo,而是一个从前台介绍页、登录注册、后台控制台、题库市场、刷题系统到 API 接口都写完整的 PHP 项目。


功能亮点

前台展示

  • 品牌首页与产品介绍
  • 合作方案页面
  • 联系我们页面
  • 隐私政策页面
  • 登录、注册、找回密码流程

用户系统

  • 用户注册与登录
  • 邮箱验证码注册
  • 找回密码与重置密码
  • 邀请码注册
  • 注册审核逻辑
  • 个人资料修改
  • 密码修改

题库管理

  • 新建题库
  • 编辑题库信息
  • 新增、编辑、删除题目
  • Excel 批量导入题目
  • 设置题库价格
  • 发布 / 下架题库
  • 我的题库与已购买题库管理

智能刷题

  • 按题库进入练习模式
  • 支持单选、多选、判断等题型
  • 答题结果记录
  • 错题回顾
  • 收藏题目
  • 做题进度与正确率统计

资源市场

  • 公开题库列表
  • 免费领取题库
  • 购买付费题库
  • 微信 / 支付宝收款二维码展示
  • 卖家确认收款后授权资源
  • 题库收益记录

邀请与社区

  • 专属邀请码与邀请链接
  • 邀请注册奖励
  • 首单奖励逻辑
  • 社区帖子发布、编辑与查看

API 接口

  • 登录 / 注册接口
  • 当前用户信息接口
  • 我的题库接口
  • 练习开始、下一题、提交答案接口
  • Schema 自动探测辅助逻辑

技术栈

  • 后端语言:PHP
  • 数据库:MySQL / MariaDB
  • 数据库访问:PDO
  • 前端:HTML、CSS、JavaScript
  • UI:Bootstrap、SB Admin 风格后台模板
  • 邮件服务:PHPMailer
  • Excel 导入:PhpSpreadsheet
  • 认证方式:PHP Session + 密码哈希

项目结构

.
├── index.php                  # 前台首页
├── login.php                  # 登录页
├── register.php               # 注册页
├── forgot_password.php         # 找回密码
├── backend/
│   ├── db.php                  # 数据库连接入口
│   ├── config.example.php      # 本地配置示例
│   └── auth.php                # 登录鉴权
├── api/                        # 移动端/异步练习 API
├── sb-admin/                   # 用户控制台和题库后台
│   ├── index.php               # 控制台首页
│   ├── my_question_bank.php    # 我的题库
│   ├── practice.php            # 刷题练习
│   ├── resources_questionbanks.php
│   ├── my_account_income.php
│   ├── forum_index.php
│   └── vendor/                 # PHPMailer / PhpSpreadsheet 等依赖
├── js/
├── imgbk/
└── styles.css

快速开始

1. 准备环境

你需要一个支持 PHP 和 MySQL 的本地环境,例如:

  • XAMPP
  • phpStudy
  • Laragon
  • Apache + PHP + MySQL

建议版本:

  • PHP 7.4+
  • MySQL 5.7+ / MariaDB 10+

2. 配置数据库

复制配置示例:

cp backend/config.example.php backend/config.php

然后修改 backend/config.php

define('TIBAO_DB_HOST', 'localhost');
define('TIBAO_DB_NAME', 'your_database_name');
define('TIBAO_DB_USER', 'your_database_user');
define('TIBAO_DB_PASS', 'your_database_password');

3. 配置邮件服务

如果需要注册验证码和找回密码功能,请继续配置 SMTP:

define('TIBAO_MAIL_HOST', 'smtp.example.com');
define('TIBAO_MAIL_USERNAME', 'noreply@example.com');
define('TIBAO_MAIL_PASSWORD', 'your-smtp-password');
define('TIBAO_MAIL_FROM', 'noreply@example.com');
define('TIBAO_MAIL_FROM_NAME', 'TIBAO 题宝');
define('TIBAO_MAIL_PORT', '465');
define('TIBAO_MAIL_SECURE', 'ssl');

4. 部署到 Web 根目录

将项目放到本地 Web 服务器目录,例如:

htdocs/tibao

然后访问:

http://localhost/tibao/

开源安全说明

这个仓库已经做了基础开源净化:

  • 数据库账号密码不再硬编码到 backend/db.php
  • SMTP 邮箱授权码不再硬编码到注册和找回密码页面
  • 上传文件、练习状态、收款二维码、测试脚本不会被纳入 Git
  • 本地私密配置文件 backend/config.php 已加入 .gitignore

如果你要部署到公网,请继续检查:

  • 数据库表结构和权限
  • 上传目录的文件类型限制
  • 管理后台权限
  • 支付和收益流程
  • Session 和 Cookie 安全策略
  • SQL 注入、XSS、CSRF 等 Web 安全风险

当前状态

这是一个早期但完整的个人项目,代码里还保留了很多学习和快速迭代的痕迹。它适合用来展示:

  • PHP 原生 Web 项目开发能力
  • 后台管理系统搭建能力
  • 数据库驱动的业务系统设计
  • 题库、刷题、资源市场、收益结算等业务闭环
  • 从 0 到 1 完成一个可运行产品的过程

Roadmap

后续可以继续优化:

  • 补充数据库建表 SQL
  • 抽离公共组件和公共样式
  • 引入 Composer 统一管理依赖
  • 增加后台管理员权限系统
  • 增加 CSRF 防护
  • 增加更完整的输入校验
  • 增加题库导出功能
  • 增加 Docker 一键部署
  • 重构为更标准的 MVC 结构

License

This project is open-sourced under the MIT License.


免责声明

本项目仅用于学习、研究和个人作品展示。项目中的支付、收益、题库交易等功能属于实验性业务流程,实际商用前需要进一步完善安全、合规、数据备份和用户隐私保护机制。

About

TIBAO 题宝:面向高校学习场景的题库协同、资源分发与智能刷题平台。

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors