属于我们的甜蜜时光 💕
- React 18 + Vite
- Tailwind CSS
- Framer Motion
- React Router
- Lucide Icons
- Java 17 + Spring Boot 3
- PostgreSQL
- Redis
- MinIO (对象存储)
- Docker Compose
docker-compose up -d这会启动:
- PostgreSQL (端口 5432)
- Redis (端口 6379)
- MinIO (API 端口 9000, 控制台端口 9001)
cd frontend
npm install
npm run dev前端将在 http://localhost:3000 运行
cd backend
mvn spring-boot:run后端将在 http://localhost:8080 运行
bzt/
├── frontend/ # React 前端
│ ├── src/
│ │ ├── components/ # 通用组件 (Layout, FloatingHearts)
│ │ ├── pages/ # 页面组件
│ │ │ ├── Home.jsx # 首页 (Hero 区 + 快速入口)
│ │ │ ├── Photos.jsx # 照片墙
│ │ │ ├── Diary.jsx # 恋爱日记
│ │ │ ├── Anniversary.jsx # 纪念日
│ │ │ ├── MessageBoard.jsx # 留言板
│ │ │ └── Timeline.jsx # 时间轴
│ │ └── api/ # API 请求封装
│ └── package.json
├── backend/ # Spring Boot 后端
│ ├── src/main/java/com/bingzhi/
│ │ ├── controller/ # REST 控制器
│ │ ├── service/ # 业务逻辑
│ │ ├── mapper/ # 数据访问层
│ │ ├── entity/ # 实体类
│ │ └── config/ # 配置类
│ └── pom.xml
├── docker-compose.yml # Docker 编排
└── bingzhiTime.md # 产品需求文档
| 模块 | 接口 | 方法 | 说明 |
|---|---|---|---|
| 照片 | /api/photos | GET | 获取照片列表 |
| 照片 | /api/photos | POST | 上传照片 |
| 照片 | /api/photos/{id} | DELETE | 删除照片 |
| 日记 | /api/diaries | GET | 获取日记列表 |
| 日记 | /api/diaries | POST | 创建日记 |
| 日记 | /api/diaries/{id} | PUT | 更新日记 |
| 日记 | /api/diaries/{id} | DELETE | 删除日记 |
| 纪念日 | /api/anniversaries | GET | 获取纪念日列表 |
| 纪念日 | /api/anniversaries | POST | 创建纪念日 |
| 纪念日 | /api/anniversaries/{id} | PUT | 更新纪念日 |
| 纪念日 | /api/anniversaries/{id} | DELETE | 删除纪念日 |
| 留言 | /api/messages | GET | 获取留言列表 |
| 留言 | /api/messages | POST | 发送留言 |
| 留言 | /api/messages/{id}/like | PUT | 切换喜欢状态 |
| 时间轴 | /api/timeline | GET | 获取时间轴事件 |
| 时间轴 | /api/timeline | POST | 创建事件 |
| 时间轴 | /api/timeline/{id} | PUT | 更新事件 |
| 时间轴 | /api/timeline/{id} | DELETE | 删除事件 |
- ✅ 首页 Hero 区 + 粉色渐变背景 + 浮动爱心动画
- ✅ 照片墙 - 瀑布流展示 + 分类筛选 + 照片预览
- ✅ 恋爱日记 - 时间倒序卡片 + 详情弹窗
- ✅ 纪念日 - 倒计时 + 在一起天数 + 庆祝动画
- ✅ 留言板 - 对话式布局 + 喜欢功能
- ✅ 时间轴 - 垂直时间线 + 事件展示
- ✅ 响应式设计 - 适配移动端/平板/桌面
访问 http://localhost:9001 可以管理 MinIO 对象存储:
- 用户名: bingzhi
- 密码: bingzhi123