基于shell+html+docker+nginx实现的自我管理系统

life-management 自我管理系统

作者:jerry

项目背景

曾经听过一句话,你的人生就是你的企业。我觉得很有道理,那如何去经营好这一家企业呢?我想,首先要知道自己在做什么,了解自己每一天,每个月,每一年是怎样度过的,都做了些什么。那我何不做一个人生的erp系统,来管理自己人生的资源呢?于是花了很多时间,写了这个项目,并命名为life-management 。

项目简介

本项目包含db、后端、页面,虽然是个小项目,但麻雀虽小,五脏俱全,支持任务管理、学习管理、生活记录等功能,可灵活扩展,快速部署。为了降低系统的复杂性,所以只采用了shell+html+nginx实现,不包含任何的mysql,springboot,tomcat等花里胡哨的东西(其实是因为懒~)

github地址:https://github.com/skyinfant/life-management
csdn:https://blog.youkuaiyun.com/jerry_kim123/article/details/130071056
实例演示:http://47.108.253.93/ (按数字键1、2、3、4、5会跳转到其他5个页面)

🙏🏻 大家喜欢这个项目的话,感谢动手点点 star。

技术及设备要求

1、部署和使用本项目需要会基本的shell语言基础

2、需要一台拥有公网IP的linux服务器

3、需要懂一点点的nginx

功能特性

任务管理

支持任务的新建、暂停、开启、终止

睡眠管理/运动管理/阅读管理

点点按钮,就能记录自己每日的睡眠状况、运动状况、能量状态等,自动进行多维度统计,形成月度报表、年度报表,
和echars动态页面。这些只是我暂时预置的功能,如果想增加或扩展也是完全可以的,并且很方便!

多页面展示

1. 每日页面(index.html):展示最近30天的数据
2. 当月页面(monSum.html):展示当月的汇总数据(在其他页面按数字键1即可跳转)
3. 当年页面(yearSum.html):展示当年的汇总数据(在其他页面按数字键2即可跳转)
4. 汇总页面(sum.html):展示全部汇总数据   (在其他页面按数字键3即可跳转)
5. 月度页面(mons.html):展示最近24个月的数据 (在其他页面按数字键4即可跳转)
6. 年度页面(years.html):展示历年数据 (在其他页面按数字键5即可跳转)
   
   在每个页面按Enter键播放背景音乐,再按一次暂停
   要使用这些页面,需要先配置nginx和 config/config.sh 这个文件

报表

自动形成月度报表、年度报表

日志记录

保存每日的生活日志

灵活扩展

可根据自己的需要快速增删参数(字段),增删后会自动同步到db,报表和页面

各个文件及文件夹介绍

life-management.sh

本项目的命令行展示界面

data/params.sh

本项目的参数文件,系统的全部参数字段都定义在这个文件中,充当临时数据缓存的作用,最终数据储存在db文件中

funcs.sh

存放项目用到的自定义方法

config/config.sh

本项目的配置文件,在里面可配置6个页面的访问url,背景音乐,以及月度页面和年度页面的开关,展示数据,颜色

initParams.sh

用于进行每日数据初始化

operate-system.sh

项目系统操作面板,增删参数、任务管理、初始化系统等都在这里操作

data/db/

存放db文件

data/note/

存放日志文件

data/statement/

存放报表文件

data/note/income_flow/

存放收益流水文件。所谓收益,就是在做各种操作时的分数奖励或惩罚

快速部署

  1. 在linux主机上 git clone git@github.com:skyinfant/life-management.git 把项目拉下来,或者直接下载项目压缩包解压
  2. 进入life-management目录,执行 sh operate-system.sh ,选择第6个选项进行系统初始化,在询问是否允许加入crontab定时任务时输入y同意即可,然后等待1分钟初始化完成
  3. 初始化完成后,返回操作面板,选择第5个选项,可以设置任务,按提示操作即可
  4. 在操作面板按q退出,会自动回到本项目的主界面,如下图就部署完成了:

在这里插入图片描述

  1. 配置nginx:
    本文使用docker来部署nginx,当然用其他方式也是没问题的。
    docker安装nginx:https://cloud.tencent.com/developer/article/2015581
    注意,一定要把nginx容器的html目录,挂载到本项目的html目录,比如我的项目放在/root/test 下,
    所以我的创建容器命令为 :
docker run -p 80:80 --restart=always --name management \
-v /root/test/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /root/test/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /root/test/nginx/log:/var/log/nginx \
-v /root/test/life-management/html:/usr/share/nginx/html \
-d nginx:latest

nginx安装好后,编辑映射到宿主机的default.conf(我的位置是 /root/test/nginx/conf/conf.d/default.conf),这个是nginx的配置文件,在设置主页的地方加入这2行代码,以避免页面缓存:

add_header Cache-Control "no-cache, no-store";
expires 1s;

在这里插入图片描述

编辑完成后记得 docker restart nginx容器名称 重启nginx容器。

因为我把端口设为80,所以只要把config/config.sh 中的 management_page_url 设为我的服务器ip即可

在这里插入图片描述

等项目初始化完成,就可以用这个ip访问主页了!
在这里插入图片描述

简单使用

  1. sh goodSleep.sh 用于记录好的睡眠状况,sh badSleep.sh用于记录不好的睡眠状况,每日要先记录睡眠状况才能进行其他操作(根治熬夜顽疾~)
  2. sh focus_on_out.sh 用于开启/关闭专注模式,再运行一次则退出专注模式
  3. sh completed_task.sh 用于记录完成了1个任务,总任务量会减1
  4. sh operate-1.sh 日常操作面板,可进行运动,读书等情况的记录,如果自己想扩充操作选项,只需要 sh operate-system.sh,在系统操作面板中增加参数(即是字段),然后把自己的参数加入operate-1.sh 中的操作选项即可,代码十分简单,一看就懂。如果选项很多,那就复制多几个 operate-2.shoperate-3.sh(命名一定要以operate- 开头!)

贴心服务

  1. 项目使用过程中有任何问题,欢迎随时提问,看到的话我会及时回复的
  2. 执行 export PS1="" 可以隐藏当前会话窗口的命令行提示符,让主界面更清爽
  3. 推荐使用secureCRT作为linux连接工具,因为它可以把常用命令设置成按钮,只要点一下按钮就可以执行脚本了。
    secureCRT8.5绿色版网盘链接:https://pan.baidu.com/s/1RbId4G1yWVGY1l49du9fGA?pwd=1234

压缩包中有安装方法。secureCrt安装好后在顶栏右键,勾上这2个选项,可以显示command window和按钮栏

在这里插入图片描述

在下面的按钮栏上右键-新建按钮

在这里插入图片描述

填入内容,点确定即可新建一个按钮

在这里插入图片描述

后话

时间过得好快,常常感觉昨天还是26,今天就变18了,虚度时光,却一无所成。岁月不饶人,我也不能饶了岁月。既然留不住时间,那就留下自己走过的足迹吧。用程序记录下自己每一天,每个月,每一年的收获与成长,欢欣与遗憾。等到自己80岁时(但愿能活到那时候),回首过往,此生多少事,都付代码中,哈哈哈

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值