原项目地址:https://github.com/Jasonzss/ElectrochemicalAnalysisSystem2023 **
采用主流技术重置EAS,业务逻辑不会改变太多,这是2代的工作。重置的目的是巩固和落实一下最近学的技术栈和技术思想 项目目录解释
python:pythonweb模块,与javaweb使用http协议沟通,负责执行java端传过来的python算法文件
resources:RESTful风格设计的接口层,提供Api给前端使用
domain:以面向对象的方式对业务领域建模得来的领域层,是项目核心业务的主要所在。
repository:数据持久层,使用JPA的规范实现
application:实现一些不在domain和repository层实现的逻辑,为resources提供简单的接口调用
infrastructure:非业务上的基础设施,包括对使用框架的扩展、工具类等
后端架构使用DDD架构,RESTful风格的接口,但会有一些小改动。 大致架构图如下
开发IDE:IDEA 2020
JDK:1.8
服务器:Servlet4.0、Tomcat8
数据库:MySQL8
持久层:SpringJPA
数据源:Druid
数据校验:Hibernate Validator
安全框架:shiro
DI框架:主要是Spring5
接口设计:RESTful风格、Jersey2
接口测试:JerseyClient
代码托管:git/github
项目管理:maven
工具包:guava、apache commons、hutool
邮件发送:JavaMail
测试框架:JUnit、Mockito
日志:log4j、slf4j
json处理:gson
python版本:python 3
pythonweb框架:flask
http请求工具:httpclient5
缓存:Ehcache
压缩工具:snappy
- 实验员上传实验文件(点位数据文件)到(实验)文件管理系统,数据处理系统解析文件中的内容后将其中的各项指标和画成图的点位数据呈现给实验员看。
- 对于传入(点位)数据处理系统的数据,实验员可以使用算法系统提供的算法对数据进行处理。确认好数据后点击保存,数据点位相关信息则被保存。
- 数据处理的最终目的:得到优质的数据用于建模
- 使用数据分析系统对已经保存的数据进行数据建模分析,每次分析需要指定一种物质名称,并选择该物质的若干条实验数据。建模成功后会计算出一系列指标生成分析报告
- 文件管理系统:基于JDK File,对项目中各业务文件进行管理,为上层使用文件屏蔽了相当一部分逻辑。
- 文件的增删改查
- 文件的存放目录以及名称
- java的.java文件和class文件的自动管理
- 算法系统:为上层提供便捷的算法的执行调用,提供方便的算法管理业务。 4. 上层不需要了解python算法、java算法是如何运行的 4. 用户只需要提供算法名称和参数就可以调用 4. 对算法文件进行增删改查的业务 4. 对算法文件内容进行解析
- 数据处理系统:基于算法系统对用户传入的实验文件进行处理
- 数据分析系统:基于算法系统对用户选定的数据进行分析
- 单机备份系统:基于单机的环境下对数据库和项目文件进行备份管理
- RBAC用户管理系统:基于RBAC的模式对系统的用户角色权限进行管理
- 日志系统:提供项目业务日志的查看功能
持续更新中... ...
项目目前因为时间问题还存在许多的坑,详情可以看代码中的TODO