一个基于 Node.js 的彩色日历 Web 应用,采用多巴胺色彩设计,让记录生活变得更加有趣和充满活力!
- 多巴胺色彩系统:5种浅色系配色方案,让每一天都充满活力
- 动态颜色变化:根据事件数量和内容长度,日期格子颜色会动态加深
- 渐变背景:美观的渐变背景和毛玻璃效果
- 年视图:一览全年,快速查看整年的事件分布
- 月视图:详细月份展示,可预览每日事件
- 日视图:专注单日,详细记录和管理当日事件
- 工作日标识:工作日显示奋斗头像 💪,带有弹跳动画
- 休息日标识:休息日显示轻松头像 😎,带有摇摆动画
- 今日高亮:当前日期特殊高亮显示
- 快速添加:点击任意日期即可添加事件
- 事件预览:月视图中可预览事件内容
- 事件统计:显示每日事件数量
- 删除管理:支持删除不需要的事件
- 快速跳转:一键回到今天
- 日期选择器:快速跳转到任意日期
- 键盘快捷键:
T键:跳转到今天Ctrl + ←/→:切换月份/年份Ctrl + Enter:在模态框中添加事件ESC:关闭模态框
- 后端:Node.js + Express
- 模板引擎:EJS
- 样式:CSS3 (渐变、动画、响应式)
- JavaScript:原生 ES6+
- 日期处理:Moment.js
- 图标:Font Awesome
git clone <repository-url>
cd calendarnpm install# 默认端口 3000
npm start
# 开发环境(自动重启)
npm run dev方法一:使用环境变量
# 指定端口 8080
PORT=8080 npm start
# 指定端口 3001
PORT=3001 npm start
# 指定任意端口
PORT=9999 npm start方法二:直接使用 node 命令
# 指定端口 8080
PORT=8080 node server.js
# 指定端口 3001
PORT=3001 node server.js方法三:使用预设脚本
# 启动在端口 3001
npm run start:3001
# 启动在端口 8080
npm run start:8080# Windows CMD
set PORT=8080 && npm start
# Windows PowerShell
$env:PORT=8080; npm start- 本地访问:
http://localhost:端口号 - 局域网访问:
http://你的IP地址:端口号 - 默认地址:
http://localhost:3000
如果遇到端口被占用的错误:
# 查看端口占用情况
lsof -i :3000
# 杀死占用端口的进程
kill -9 进程ID
# 或者直接使用其他端口
PORT=3001 npm startcalendar/
├── server.js # 主服务器文件
├── package.json # 项目配置
├── views/ # EJS 模板文件
│ ├── index.ejs # 主页面模板
│ └── partials/ # 页面片段
│ ├── year-view.ejs # 年视图
│ ├── month-view.ejs# 月视图
│ └── day-view.ejs # 日视图
└── public/ # 静态资源
├── css/
│ └── style.css # 主样式文件
├── js/
│ └── script.js # 前端脚本
└── images/ # 图片资源
应用采用多巴胺色彩设计理念:
- 浅粉色
#FFE5E5 - 浅蓝色
#E5F3FF - 浅绿色
#E5FFE5 - 浅橙色
#FFF5E5 - 浅紫色
#F0E5FF
- 中粉色
#FFB3B3 - 中蓝色
#B3D9FF - 中绿色
#B3FFB3 - 中橙色
#FFDFB3 - 中紫色
#D9B3FF
- 深粉色
#FF8080 - 深蓝色
#80B3FF - 深绿色
#80FF80 - 深橙色
#FFCC80 - 深紫色
#CC80FF
在 server.js 中修改:
const PORT = process.env.PORT || 3000;在 server.js 的 dopamineColors 对象中添加新颜色:
const dopamineColors = {
light: ['#新颜色1', '#新颜色2', ...],
medium: ['#新颜色1', '#新颜色2', ...],
dark: ['#新颜色1', '#新颜色2', ...]
};应用完全支持移动端访问:
- 自适应布局
- 触摸友好的交互
- 移动端优化的字体大小和间距
- 使用 PM2 进程管理器
- 配置 Nginx 反向代理
- 使用数据库替换内存存储
- 添加用户认证系统
当前版本使用内存存储事件数据,重启服务器后数据会丢失。生产环境建议:
- 使用 MongoDB 或 PostgreSQL
- 添加数据备份机制
- 实现用户系统和权限管理
欢迎提交 Issue 和 Pull Request!
MIT License
享受使用这个充满活力的多巴胺日历应用吧!🎉