Skip to content

Lambholl/sql-course-design

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

106 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sql-course-design

数据库课程设计


Usage:

数据库

  • 安装数据库: 安装MySQL

  • 构建表格: 导入sql文件构建数据库

后端

  • 安装依赖: pip install flask sqlalchemy

  • 配置文件:

    • 打开config.py
    • 根据本地数据库端口等信息修改配置文件
  • 启动进程:

    python app.py (Windows)

    python3 app.py (Linux)

前端

  • 安装依赖包: npm install

  • 开启调试模式: npm run dev

  • 构建前端文件: npm run build

整合前后端

  • nginx
    server {
        listen       19198;
        listen       [::]:19198;

        # 调试使用此代理
        # location / {
        #     proxy_pass http://localhost:5173/;
        #     # 设置请求头,以便后端服务能获取到真实的用户信息
        #     proxy_set_header Host $host;
        #     proxy_set_header X-Real-IP $remote_addr;
        #     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        #     proxy_set_header X-Forwarded-Proto $scheme;
        # }

        # 生产环境使用此路由
        location / {
            root   "E:\scripts\sqlCourseDesign\sql-course-design\client-side\dist";
            index  index.html index.htm;
        }

        # /api/ 开头的请求,代理到后端API服务器
        location /api/ {
            proxy_pass http://localhost:1145/api/;
            # 同样设置请求头
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
        }


        # 错误页面配置
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

Todo List:

本项目使用flask作为用户交互界面。

数据库开发 (MySQL)

  • 搭建数据库环境
  • 创建数据库表结构
  • 将数据库表结构形成说明文档

后端开发 (Flask)

  • 配置flask环境

    • 配置MySQL数据库连接 (使用SQLAlchemy),测试接口
    • 创建数据模型 (ORM映射)
    • 初始化数据库迁移工具 (Flask-Migrate)
  • 利用MySQL实现底层api,实现连接和提交操作功能

  • 路由与功能实现

    功能 院系管理 班级管理 课程管理 学期管理 学期课程管理 学生管理 成绩管理
    获取
    -
    添加
    修改
    -
    -
    删除
    -
  • 报表与查询

    • 成绩单查询
      • 学生成绩单
      • 班级成绩统计
    • 选课查询
      • 学生选课
      • 课程名单
    • 班级平均分排序 班级内总分排序

前端开发 (Vite+Vuejs)

  • 通用组件

    • 基础布局模板
    • 导航栏(菜单:院系/班级/课程/成绩/报表)
    • 数据表格组件(支持分页)
    • 表单验证组件
  • 管理界面

    • 院系管理
    • 班级管理
    • 课程管理
    • 学期课程设置
    • 学生管理
    • 成绩录入
  • 报表页面

    • 学生成绩单
    • 课程成绩统计
    • 班级平均分排行榜
    • 学生选课情况
    • 课程选课名单

系统集成

  • 数据验证
    • 院系/班级删除前检查关联数据
    • 成绩输入范围验证
    • 学号/课程代码唯一性校验
  • 错误处理
    • 统一404/500错误页面
    • 数据库操作异常捕获
  • 安全措施
    • 表单CSRF保护
    • SQL注入防护(使用ORM参数化查询)

课程报告

跳转课程报告

About

数据库课程设计

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors