<p align="center">
<img alt="li calendar" src="./readme_src/logo.png" width="100px" />
<br>
Li Calendar - 锂日历记事本
<br>
<a title="Github" target="_blank" href="https://github.com/li-calendar-notepad">Github</a> |
<a title="Gitee" target="_blank" href="https://gitee.com/li-calendar-notepad">Gitee</a>
</p>
## 🛸 介绍
前身[日历记事本PHP版本](https://gitee.com/hslr/calendar_notepad),因为工作中常常要记录每天的工作日志,所以2020年上半年,抽了几天的下班时间开发了PHP版本,稳定运行了一年,但是它有些不足,2021年决定重新启动此项目,对他进行优化和增加功能并进行了技术升级。后期接触了GO+Gin+Vue3并再次重新开发了本项目 锂日历记事本。
## 😎 特点
- 免部署、跨平台,并支持docker部署
- 以日历的形式记录各种事项
- 支持 markdown 语法
- 事件以邮件的形式提醒
- 支持限制指定企业邮箱格式注册
- 支持节假日及特殊的日期特殊显示
- 多彩事件风格
- 支持事件统计
- 每个日历记事本都可以单独设置密码
## 🎁 软件架构
|名称|说明|
|---|---|
|Go|程序的后端语言|
|Gin|后端框架|
|Gorm|ORM数据库框架|
|vue3|前端框架|
|ElementUI-Plus|前端ui框架|
|fullcalendar|日历视图框架|
## 🌱 相对PHP版本增加以及准备做的
- [x] 全新UI
- [x] 内容选用高级编辑器支持传文件,粘贴图片
- [x] 深色模式支持
- [x] 强化事件模板功能,并支持拖拽
- [x] 风格支持自定义,支持导入导出
- [x] 节假日改为特殊日期,可导入。后期可根据用户提供支持其他地区或国家假期
- [x] docker运行
- [x] 设置邮件提醒 (**请注意:docker运行需要证书**)
- [ ] 按时间范围,分享日历视图
- [ ] 速记功能
- [ ] 事件时间线视图
- [ ] 单事件收藏、分享
- [ ] 项目的收藏功能
- [ ] 时间线视图
## ⌨️ 前端源码
项目进行了前后端分离,所以本源码不包含前端,前端是由`Vue3`+`Element-UI Plus`+`Fullcalendar`,前端项目源码请访问:[github](https://github.com/li-calendar-notepad/li-calendar-vue) | [gitee](https://gitee.com/li-calendar-notepad/li-calendar-vue)
## 🚥 说明
目前项目仍处于开发阶段,部分功能未完善,欢迎体验,有问题可以提Issues,暂时不建议作为正式项目使用。
## 🖼️ 截图
日历首页
<img alt="li calendar" style="border:1px solid #dce1e4;" src="./readme_src/screenshot/item_home.png" />
深色模式
<img alt="li calendar" style="border:1px solid #dce1e4;" src="./readme_src/screenshot/dark.png" />
事件内容
<img alt="li calendar" style="border:1px solid #dce1e4;" src="./readme_src/screenshot/event_content.png" />
事件模板
<img alt="li calendar" style="border:1px solid #dce1e4;" src="./readme_src/screenshot/item_home_model.png" />
## 💾 编译
#### 方式一 (通用)
1. 前端文件编译后,将dist下文件全部移植`./assets/frontend`文件夹下。编译教程请参考[前端项目](#前端源码)的`readme.md`文件
2. 按照[此教程](./assets/readme.md)安装工具。然后将
`assets`文件夹编译成go文件(目的是把静态资源打包在可执行文件内)
3. 依次执行
```shell
# 编译静态资源(上一步执行完成了,可以不用重复执行)
go-bindata-assetfs -o=assets/bindata.go -pkg=assets assets/...
# 开始编译,编译成功后在项目根目录生成可执行文件:li-calendar win平台: li-calendar.exe
go build -o li-calendar main.go
```
#### 方式二 (Docker)推荐此方式
前提:docker环境,并且可以执行make命令,暂时不适用于windows平台
1. 将前端代码克隆在当前项目的根目录并将文件夹命名为`web`
示例:
```shell
# github
git clone https://github.com/li-calendar-notepad/li-calendar-vue web
# gitee
git clone https://gitee.com/li-calendar-notepad/li-calendar-vue web
```
2. 执行make命令
```shell
# 编译程序,成功后项目根目录会生成压缩包
make build
```
## 🚄 运行
首先下载好对应系统的可运行文件,如果没有你所使用系统的文件,请自行编译或者使用docker ,下载地址:[gitee](https://gitee.com/li-calendar-notepad/li-calendar-gin/releases) | [github](https://github.com/li-calendar-notepad/li-calendar-gin/releases),Windows系统请使用 cmd 等工具来运行,避免闪退无法看见错误信息
#### 生成配置文件:
```
# 生成配置文件(必须)
./li-calendar config
# 执行完成之后同级目录会生成`conf`目录,里面有两个配置文件,根据自己的需求修改`config.ini`文件内容
```
#### 可执行文件运行:
```
# linux
./li-calendar
# windows (避免出错请使用 cmd 运行)
.\li-calendar.exe
```
## 💎 docker 和 docker-compose 运行
[docker 仓库](https://hub.docker.com/r/hslr/li-calendar)
如果使用 docker-compose 请[点此查看 docker-compose.yml](./docker-compose.yml)
```shell
# 拉取镜像
docker pull hslr/li-calendar:latest
# 创建挂载文件夹
mkdir -p ~/docker_data/li-calendar/{conf,uploads,database}
# 运行
docker run --name li-calendar --restart always -p 9090:9090 \
-v ~/docker_data/li-calendar/conf:/app/conf \
-v ~/docker_data/li-calendar/uploads:/app/uploads \
-v ~/docker_data/li-calendar/database:/app/database \
-e TZ=Asia/Shanghai \
hslr/li-calendar:latest
```
参数说明
```sh
# 开放端口
-p 9090:9090
# 设置容器自启动
--restart always
# 环境变量
-e TZ=Asia/Shanghai # 设置中国上海时区(避免错过邮件提醒)
# 数据挂载(根据需求选择)
-v ~/docker_data/li-calendar/conf:/app/conf # 项目配置目录
-v ~/docker_data/li-calendar/uploads:/app/uploads # 上传的文件目录
-v ~/docker_data/li-calendar/database:/app/database # sqlite数据库目录(如果使用MySQL无需挂载此项)
-v ~/docker_data/li-calendar/runtime:/app/runtime # 运行缓存、日志等(不推荐挂载)
```
## 🧂 访问、默认账号密码:
### 浏览器打开
```
http://[你的域名或ip]:9090
```
### 默认账号密码
```
账号:admin2024 // 年份是根据当时部署的年份创建的
密码:123456
```
## ⛺ (假日、风格)导入文件
特殊日期和风格文件下载(特殊日期包含中国法定节假日2020-2023年文件,欢迎提供其他地区或者国家假期数据)
[去查看和下载,持续更新](https://cloud.enianteam.com/#/share/ugwzotae)
## 🎁 打赏
开源不易,如果你喜欢本项目或者觉得项目对你有帮助,欢迎进行[🧧打赏作者🧧](https://blog.enianteam.com/u/sun/content/11#%E6%89%93%E8%B5%8F)。记得加作者留名。在此感谢
## 😎 代码贡献
感谢各位爱好者对本项目作出的贡献(按加入时间排序):
- 红烧猎人 \[ [Github](https://github.com/hslr-s) | [Gitee](https://gitee.com/GgoCoder) ]
- GgoCoder \[ [Github](https://github.com/forgocode) | [Gitee](https://gitee.com/GgoCoder) ]
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
锂日历记事本Gin后端项目,基于go语言Gin框架开发项目资.zip (138个子文件)
assets\version 12B
Dockerfile.base 520B
build.bat 669B
Dockerfile 1KB
.git\config 317B
.git\description 73B
.git\HEAD 21B
.git\index 11KB
.git\info\exclude 240B
.git\logs\HEAD 209B
.git\logs\refs\heads\main 209B
.git\logs\refs\remotes\origin\HEAD 209B
.git\packed-refs 368B
.git\refs\heads\main 41B
.git\refs\remotes\origin\HEAD 30B
.gitignore 403B
api\v1\system\item.go 12KB
api\v1\system\event.go 11KB
initialize\initialize.go 7KB
api\v1\system\style.go 7KB
lib\cmn\log.go 6KB
lib\mail\email.go 6KB
api\v1\admin\SpecialDay.go 5KB
api\v1\system\login.go 5KB
models\User.go 5KB
api\v1\system\register.go 5KB
lib\cmn\base.go 5KB
ability\eventReminder\eventReminder.go 5KB
api\v1\admin\users.go 4KB
initialize\database.go 4KB
api\v1\system\subject.go 4KB
api\v1\system\calendarEcharts.go 3KB
docs\docs.go 3KB
main.go 3KB
api\v1\install\base.go 3KB
lib\jsonConfig\configModel.go 3KB
api\v1\system\file.go 3KB
routers\router.go 2KB
api\v1\system\user.go 2KB
lib\mail\mail.go 2KB
lib\computerInfo\base.go 2KB
lib\systemSetting\systemSetting.go 2KB
models\Event.go 2KB
models\Reminder.go 2KB
models\base.go 2KB
api\v1\admin\systemSetting.go 2KB
api\v1\middleware\LoginInterceptor.go 2KB
api\v1\common\apiReturn\apiReturn.go 2KB
routers\common\fsSystem.go 2KB
api\v1\common\base\base.go 2KB
models\SystemSetting.go 2KB
models\datatype\item.go 2KB
lib\cmn\ini_config.go 1KB
lib\cache\gocache.go 1KB
models\Item.go 1KB
lib\captcha\captcha.go 1KB
lib\language\lang.go 1KB
models\datatype\datatype.go 1KB
api\v1\system\jsonConfig.go 1KB
api\v1\system\share.go 1KB
api\v1\system\captcha.go 1019B
routers\system\item.go 986B
routers\system\subject.go 940B
models\Share.go 903B
routers\system\event.go 894B
lib\jsonConfig\SpecialDayModel.go 753B
api\v1\enter.go 696B
models\Style.go 605B
models\datatype\event.go 600B
lib\jsonConfig\abilityModel.go 552B
models\Subject.go 547B
routers\system\login.go 537B
models\File.go 533B
api\v1\system\open.go 511B
routers\admin\systemSetting.go 494B
routers\admin\specialDay.go 489B
routers\admin\style.go 489B
lib\global\global.go 486B
api\v1\system\public.go 464B
models\SpecialDay.go 463B
models\Special.go 431B
routers\system\calendarEcharts.go 429B
lib\cmn\verifyFormat.go 426B
routers\system\file.go 407B
api\v1\system\test.go 398B
routers\admin\users.go 397B
routers\system\style.go 350B
routers\system\user.go 333B
api\v1\middleware\AdminInterceptor.go 329B
initialize\usertoken.go 326B
routers\system\captcha.go 317B
api\v1\admin\about.go 314B
routers\system\specialDay.go 286B
routers\system\open.go 252B
routers\system\jsonConfig.go 244B
routers\admin\about.go 236B
models\StatusDefine.go 224B
routers\system\test.go 220B
api\v1\system\register_test.go 216B
ability\enter.go 204B
共 138 条
- 1
- 2
资源评论
学习开源项目成就精彩人生
- 粉丝: 1276
- 资源: 1821
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功