Skip to content

Dave-he/calendar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌈 多巴胺日历应用

一个基于 Node.js 的彩色日历 Web 应用,采用多巴胺色彩设计,让记录生活变得更加有趣和充满活力!

✨ 功能特色

🎨 多彩视觉体验

  • 多巴胺色彩系统:5种浅色系配色方案,让每一天都充满活力
  • 动态颜色变化:根据事件数量和内容长度,日期格子颜色会动态加深
  • 渐变背景:美观的渐变背景和毛玻璃效果

📅 多视图展示

  • 年视图:一览全年,快速查看整年的事件分布
  • 月视图:详细月份展示,可预览每日事件
  • 日视图:专注单日,详细记录和管理当日事件

🎯 智能标识

  • 工作日标识:工作日显示奋斗头像 💪,带有弹跳动画
  • 休息日标识:休息日显示轻松头像 😎,带有摇摆动画
  • 今日高亮:当前日期特殊高亮显示

📝 事件管理

  • 快速添加:点击任意日期即可添加事件
  • 事件预览:月视图中可预览事件内容
  • 事件统计:显示每日事件数量
  • 删除管理:支持删除不需要的事件

🚀 便捷导航

  • 快速跳转:一键回到今天
  • 日期选择器:快速跳转到任意日期
  • 键盘快捷键
    • T 键:跳转到今天
    • Ctrl + ←/→:切换月份/年份
    • Ctrl + Enter:在模态框中添加事件
    • ESC:关闭模态框

🛠️ 技术栈

  • 后端:Node.js + Express
  • 模板引擎:EJS
  • 样式:CSS3 (渐变、动画、响应式)
  • JavaScript:原生 ES6+
  • 日期处理:Moment.js
  • 图标:Font Awesome

📦 安装和运行

1. 克隆项目

git clone <repository-url>
cd calendar

2. 安装依赖

npm install

3. 启动应用

🚀 基本启动方式

# 默认端口 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 用户

# Windows CMD
set PORT=8080 && npm start

# Windows PowerShell
$env:PORT=8080; npm start

4. 访问应用

  • 本地访问http://localhost:端口号
  • 局域网访问http://你的IP地址:端口号
  • 默认地址http://localhost:3000

5. 端口冲突解决

如果遇到端口被占用的错误:

# 查看端口占用情况
lsof -i :3000

# 杀死占用端口的进程
kill -9 进程ID

# 或者直接使用其他端口
PORT=3001 npm start

📁 项目结构

calendar/
├── 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.jsdopamineColors 对象中添加新颜色:

const dopamineColors = {
  light: ['#新颜色1', '#新颜色2', ...],
  medium: ['#新颜色1', '#新颜色2', ...],
  dark: ['#新颜色1', '#新颜色2', ...]
};

📱 响应式设计

应用完全支持移动端访问:

  • 自适应布局
  • 触摸友好的交互
  • 移动端优化的字体大小和间距

🚀 部署建议

生产环境部署

  1. 使用 PM2 进程管理器
  2. 配置 Nginx 反向代理
  3. 使用数据库替换内存存储
  4. 添加用户认证系统

数据持久化

当前版本使用内存存储事件数据,重启服务器后数据会丢失。生产环境建议:

  • 使用 MongoDB 或 PostgreSQL
  • 添加数据备份机制
  • 实现用户系统和权限管理

🤝 贡献

欢迎提交 Issue 和 Pull Request!

📄 许可证

MIT License


享受使用这个充满活力的多巴胺日历应用吧!🎉

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors