/ldmgr

个人学习资料管理系统,学习资料入库管理,学习计划管理,任务进度管理

Primary LanguageJavaGNU General Public License v3.0GPL-3.0

零、技术架构

jdk1.8 SpringBoot+javafx+maven

springboot-javafx-support 使SpringBoot支持了javafx,数据库使用sqlite, 数据访问层采用 MyBatisPlus,lombok简化实体类。

一、介绍

信息爆炸的时代,知识变得庞大。

本程序的宗旨是为个人学习资料管理提供方便快捷的操作,帮助学习者完成任务, 减轻学习者的记忆压力,建立起学习者的私有大百科

扩展理念:游戏化、即时激励。不鼓励程序之间直接连接(看看其他人),鼓励工具思维,鼓励需求化学习

不鼓励程序内阅读,程序仅提供管理

二、模块规划

模块 描述
资料库 学习资料、图书、文档等管理
知识树 用于体系化展示资料库
任务清单 记录将要完成的任务

学习陷阱|让学习者爱上学习,即时反馈系统(可以跳转到相关的社区)、激励系统 实践系统|光学不练假把式

1、资料库

(1)、资料展示:传统展现方式,将所有资料以表格方式汇总

(2)、资料管理:包括资料入库、资料作废(没有删除功能,作废后不做详细展示,需标出作废原因)、 资料源与物理路径关联(可以是本地的路径也可以是URL地址)、资料修改

(3)、类别管理:生成类别时所需

2、知识树

(1)、资料在入库时需选择所属类别,方便生成树状结构

(2)、知识分为已知和未知的,未知的不在管理范畴。已知的知识又分为 1学过、2了解, 常用的知识已经潜移默化的融入生活中,可以将其认为是已经掌握的。了解的知识是指知道有, 但详细的还不知道,需要近一步学习。

(3)、知识树中可以加入进度(完成度),知识树按个人添加的类别不同也各不同

3、任务清单

可以将知识树中了解的知识加入任务中学习变为学过的知识(知识树任务)。也可是自定义任务

三、开发进程

2019年8月1日:立项,需求分析,原始需求文档编写。

2019年8月4日:ui设计

2019年8月22日:完成了导航和资料查询界面

2019年8月25日:完成加载磁盘目录的功能,这中间遇到了很多的坑。 开始想用swt的 FileSysteView 加载磁盘目录和图标,结果图标是Icon类不能在javafx中使用。 于是研究了好长时间使用Icon类,无果后转向了使用jni和jna, 但是没有找到能获取关联Icon的WindowsAPI,与是先搁置了这个功能。然后遇到了TreeView的坑, 讲道理,javafx的封装性和易用性没有Winform考虑的周到,一顿百度后懵逼的填上了这些坑。 最大的收获应该就是研究jdk的源码吧,什么ClassLoader加载的dll库,FileSystemView最底层实现代码, 苦于经验不足及对java平台的不够深入,希望有一天我也能像那些开发jdk的大佬们一样, 自由的利用java平台的特性。

四、TODO list

  • 添加到资料库窗体的设计 - create by 2019/9/10
  • 添加到资料库窗体的数据库操作 - create by 2019/9/10
  • 检查重复文件窗体的设计及功能 - create by 2019/9/10
  • 使用默认程序打开文件(双击) - create by 2019/9/10
  • 文件属性 - create by 2019/9/10
  • 知识树功能的评估及设计 - create by 2019/9/10

资料入库管理、知识树等功能完善之后才实现以下功能 - create by 2019/9/10

  • 复制文件优先级最低 - create by 2019/9/10
  • 剪切文件优先级最低 - create by 2019/9/10
  • 删除文件 - create by 2019/9/10