项目文档
一、	项目概述
本项目是一个赛事管理系统,提供了赛事的创建、管理、报名、证书上传等功能。系统包括前端页面、后台管理和API接口。
二、	项目结构
project-root/
│
├── admin/                  # 后台管理系统
│   ├── api/                # API接口
│   ├── assets/             # 静态资源
│   ├── includes/           # 公共函数和认证
│   ├── layout/             # 页面布局
│   ├── pages/              # 后台页面
│   ├── init.php            # 初始化文件
│   ├── login.php           # 登录页面
│   └── logout.php          # 注销页面
│
├── api/                    # 前端API接口
│
├── config/                 # 配置文件
│   └── db_connect.php      # 数据库连接配置
│
├── assets/                 # 前端静态资源
│
├── src/                    # 前端源代码
│   └── components/         # React组件
│
├── index.html              # 前端首页
├── form.html               # 报名表单页面
├── success.html            # 支付成功页面
├── competition_list.html   # 赛事列表页面
├── certificate_query.html  # 证书查询页面
└── test_db.php             # 数据库测试文件
三、	API 介绍
1. 获取赛事列表
•  URL: /api/competition_list.php
•  方法: GET
•  描述: 获取所有未结束的赛事列表。
•  响应:
  {
    "success": true,
    "data": [
      {
        "id": 1,
        "name": "2024青少年编程大赛",
        "start_date": "2024-03-01",
        "end_date": "2024-04-30",
        "price": 299.00,
        "status": "进行中",
        "thumbnail": "assets/images/competitions/thumb1.jpg",
        "banner": "assets/images/tp/image1.jpg",
        "pdf_file": "assets/docs/competition1.pdf"
      }
    ]
  }
2. 注册赛事
•  URL: /api/register.php
•  方法: POST
•  参数: competition_id, name, school, student_id, phone
•  描述: 注册参加指定的赛事。
•  响应:
  {
    "success": true,
    "message": "报名成功",
    "data": {
      "registration_id": 123,
      "out_trade_no": "2024030112345678",
      "payment_amount": 299.00
    }
  }
3. 上传证书
•  URL: /api/upload_certificate.php
•  方法: POST
•  参数: registration_id, certificate (文件)
•  描述: 上传参赛者的证书。
•  响应:
  {
    "success": true,
    "message": "证书上传成功",
    "path": "assets/images/zs/certificate_123.jpg"
  }
4. 查询订单
•  URL: /api/order_query.php
•  方法: GET
•  参数: phone
•  描述: 根据手机号查询订单信息。
•  响应:
  {
    "success": true,
    "data": [
      {
        "id": 1,
        "competition_name": "2024青少年编程大赛",
        "name": "张三",
        "school": "北京大学",
        "phone": "13800138001",
        "payment_amount": "299.00",
        "status": "已支付",
        "certificate_path": "assets/images/zs/certificate_123.jpg"
      }
    ]
  }
数据库配置
数据库配置文件
在 config/db_connect.php 中配置数据库连接:
四、	// 数据库配置
五、	   $host = 'localhost';     // 数据库主机
六、	   $dbname = 'competition_system';  // 数据库名
七、	   $username = 'root';      // 数据库用户名
八、	   $password = 'root';      // 数据库密码
九、	   $charset = 'utf8mb4';    // 字符集
十、	
十一、	部署指南
环境要求
•  操作系统: Linux/Unix 或 Windows
•  Web 服务器: Apache 或 Nginx
•  PHP: 7.4 或更高版本
•  数据库: MySQL 5.7 或更高版本
部署步骤
1. 克隆代码库
   git clone https://github.com/your-repo/competition-system.git
   cd competition-system
2. 配置Web服务器
•  Apache: 确保启用了mod_rewrite模块,并在虚拟主机配置中设置DocumentRoot指向项目的public目录。
•  Nginx: 配置server块,设置root指向项目的public目录,并配置PHP处理。
•  配置数据库
•  创建数据库并导入database.sql文件:
     CREATE DATABASE competition_system;
     USE competition_system;
     SOURCE /path/to/database.sql;
•  在config/db_connect.php中配置数据库连接信息。
•  设置文件权限确保assets/images和assets/docs目录可写,以便上传文件。
   chmod -R 775 assets/images
   chmod -R 775 assets/docs
•  安装依赖如果项目使用了Composer或NPM,请安装依赖:
   composer install
   npm install
•  启动服务确保Web服务器和数据库服务已启动,并访问项目的URL以确认部署成功。7. 配置域名和SSL
•  配置域名解析到服务器IP。
•  使用Let's Encrypt或其他证书颁发机构配置SSL证书。
•  测试通过访问API和前端页面,确保所有功能正常工作。---这套文档涵盖了项目的主要功能和部署步骤,确保您能够顺利地进行开发和部署。如果有任何问题或需要进一步的帮助,请随时联系技术支持团队。
点击空白处退出提示














评论