1、项目开发背景:项目采用现代 Web 技术栈,结合人工智能技术,为数据库教学提供创新性解决方案。支持多种数据库类型,具备完整的用户管理和权限控制体系。
项目开发目标:提供给大学课堂使用,用于数据库课程教学,实现智慧课堂交互‘
2、软件功能、核心模块的介绍:
这是一个基于 Django 和 FastAPI 构建的智能数据库教学辅助平台,旨在帮助学生学习 SQL 和数据库知识。集成了sqlmcp,ai智慧交互,ER图智能生成、sql实验室等功能。
3、 模块: Django 主服务 (mcp_sql_project): 用户管理、会话管理、WebSocket 通信、数据存储
FastAPI 服务 (mcp_service):自然语言转 SQL 的 AI 服务
1、本系统采用前后端分离的微服务架构,主要由以下组件构成:
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ │ │ │ │ │
│ 前端界面 │ │ Django主服务 │ │ FastAPI服务 │
│ (Bootstrap) │◄──►│ (端口8000) │◄──►│ (端口8001) │
│ │ │ │ │ │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │ │
│ │ │
▼ ▼ ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ WebSocket │ │ SQLite/MySQL │ │ DeepSeek API │
│ 实时通信 │ │ 数据存储 │ │ AI模型服务 │
└─────────────────┘ └─────────────────┘ └─────────────────┘
2、后端技术栈
Django :主 Web 框架,处理用户认证、会话管理、数据操作
Django Channels: WebSocket 支持,实现实时聊天功能
FastAPI: MCP 服务 API,处理自然语言转 SQL
Pandas: 数据处理和结果展示
SQLAlchemy: 数据库 ORM,支持多种数据库连接
3、 前端技术
Bootstrap 5: UI 框架,响应式设计
JavaScript (ES6+):前端交互逻辑
AJAX: 异步数据交互。
4、我负责该项目的全栈开发,因为本人主要学习后端开发,在前端上浪费了比较多的时间,这是我在开发本项目中遇到的主要问题。