!!!!!!!!!
很多人不知道选题怎么选 不清楚自己适合做哪块内容 都可以免费来问我 避免后期給自己答辩找麻烦 增加难度(部分学校只有一次答辩机会 没弄好就延迟毕业了)
源码获取:https://pan.baidu.com/s/1aRpOv3f2sdtVYOogQjb8jg?pwd=jf1d 提取码: jf1d
!!!!!!!!!
项目介绍
随着教育信息化的不断推进,实践教学管理系统在提高教学质量和学生实践能力方面发挥着重要作用。一个基于Spring Boot的实践教学管理系统不仅能够简化教学流程,还能为教师和学生提供更加便捷、高效的服务体验。通过这个项目的实施,目标是帮助用户优化实践教学流程,提高教学质量,同时为教育机构提供有价值的解决方案。
核心功能模块:
- 用户管理:支持教师、学生和管理员的注册、登录、信息修改和权限控制,确保用户数据的安全性和隐私性。
- 课程与项目管理:实现课程和实践项目的添加、编辑、删除和分类管理,支持多种项目类型(如实验、实习、设计等)和多媒体资源的上传。
- 实践任务分配:允许教师在线分配实践任务,设置任务要求和完成时间,并支持任务状态的更新和查询。
- 进度跟踪与反馈:生成和管理学生的实践进度,记录任务完成情况和指导教师的反馈意见,支持进度状态的实时更新和查询。
- 成果提交与评审:支持学生在线提交实践成果,教师可以在线评审和打分,并提供详细的评审意见。
技术栈
1.运行环境:jdk8+idea
2.IDE环境:idea+mysql8.0;
3.数据库工具:Navicat15
技术栈
后端:idea+springboot
前端:vue+CSS+JavaScript+jQuery+elementui
项目截图
核心代码
# coding:utf-8
# author:ila
import click,py_compile,os
from configparser import ConfigParser
from configs import configs
from utils.mysqlinit import Create_Mysql
from api import create_app
from api.exts import db
from api.models.user_model import *
from api.models.config_model import *
from api.models.brush_model import *
@click.group()
def sub():
pass
@click.command()
@click.option("-v", default=0.1, type=float)
def verr(v):
# VERSION = 0.1
click.echo("py sub system version:{}".format(v))
@click.command()
def run():
app = create_app(configs)
app.debug = configs['defaultConfig'].DEBUG
app.run(
host=configs['defaultConfig'].HOST,
port=configs['defaultConfig'].PORT,
threaded=configs['defaultConfig'].threaded,
processes=configs['defaultConfig'].processes
)
@click.command()
def create_all():
app = create_app(configs)
with app.app_context():
print("creat_all")
db.create_all()
@click.command()
@click.option("--ini", type=str)
def initsql(ini):
cp = ConfigParser()
cp.read(ini)
sqltype = cp.get("sql", "type")
database= cp.get("sql", "db")
if sqltype == 'mysql':
cm = Create_Mysql(ini)
cm.create_db("CREATE DATABASE IF NOT EXISTS `{}` /*!40100 DEFAULT CHARACTER SET utf8 */ ;".format(database))
with open("./db/mysql.sql", encoding="utf8") as f:
createsql = f.read()
createsql = "DROP TABLE" + createsql.split('DROP TABLE', 1)[-1]
cm.create_tables(createsql.split(';')[:-1])
cm.conn_close()
elif sqltype == 'mssql':
cm = Create_Mysql(ini)
cm.create_db("CREATE DATABASE IF NOT EXISTS `{}` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;".format(database))
with open("./db/mssql.sql", encoding="utf8") as f:
createsql = f.read()
createsql = "DROP TABLE" + createsql.split('DROP TABLE', 1)[-1]
cm.create_tables(createsql.split(';')[:-1])
cm.conn_close()
else:
print('请修改当前面目录下的config.ini文件')
@click.command()
@click.option("--py_path", type=str)
def compile(py_path):
print("py_path====>",py_path)
py_compile.compile(py_path)
@click.command()
def replace_admin():
filePath=os.path.join(os.getcwd(),"api/templates/front/index.html")
if os.path.isfile(filePath):
print(filePath)
with open(filePath,"r",encoding="utf-8") as f:
datas=f.read()
datas=datas.replace('baseurl+"admin/dist/index.html#"','"http://localhost:8080/admin"')
datas=datas.replace('baseurl+"admin/dist/index.html#/login"','"http://localhost:8080/admin"')
with open(filePath,"w",encoding="utf-8") as f:
f.write(datas)
sub.add_command(verr)
sub.add_command(run,"run")
sub.add_command(create_all,"create_all")
sub.add_command(initsql,"initsql")
sub.add_command(replace_admin,"replace_admin")
if __name__ == "__main__":
sub()
标签:springboot,create,configs,LW,源码,command,import,app,click
From: https://blog.csdn.net/weixin_71977459/article/details/144637846