Skip to content

CoderX42/carbon-cycle-100

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CarbonCycle100 - 100天碳循环减脂挑战打卡应用

基于碳循环原理的100天减脂挑战社交打卡应用,使用 Vue 3 + NestJS + MongoDB 全栈技术栈开发。

项目介绍

CarbonCycle100 帮助用户通过科学碳循环饮食法进行减脂挑战,提供每日打卡记录、社区分享、进度统计等功能。

核心功能

  • 用户注册/登录 - JWT 认证
  • 每日打卡(低碳/高碳状态 + 饮食/运动记录)
  • 查看个人打卡日历与统计数据
  • 浏览社区动态(所有用户的打卡分享)
  • 100天挑战进度追踪

技术栈

后端

  • NestJS ^10.0
  • MongoDB + Mongoose ^8.0
  • JWT ^10.0
  • Passport JWT
  • bcrypt 密码加密
  • Swagger API 文档
  • Class-validator DTO 验证
  • Throttler 接口限流

前端

  • Vue 3 ^3.4 + TypeScript ^5.0
  • Vite ^5.0
  • Vue Router
  • Pinia 状态管理
  • Element Plus UI
  • Tailwind CSS
  • GSAP 动画
  • Chart.js 数据可视化
  • Axios HTTP 客户端

项目结构

carbon-cycle-100/
├── backend/                 # NestJS 后端
│   ├── src/
│   │   ├── modules/
│   │   │   ├── auth/       # 认证模块
│   │   │   ├── users/      # 用户模块
│   │   │   ├── checkin/    # 打卡模块
│   │   │   └── community/  # 社区模块
│   │   ├── app.module.ts
│   │   └── main.ts
│   ├── package.json
│   └── .env.example
│
└── frontend/               # Vue 3 前端
    ├── src/
    │   ├── api/            # API 接口
    │   ├── components/     # 公共组件
    │   ├── router/         # 路由配置
    │   ├── stores/         # Pinia 状态管理
    │   ├── types/          # TypeScript 类型
    │   ├── views/         # 页面组件
    │   ├── App.vue
    │   └── main.ts
    ├── package.json
    ├── vite.config.ts
    └── .env.example

快速开始

前置要求

  • Node.js ^18.0
  • MongoDB ^7.0
  • npm 或 yarn

安装

1. 克隆项目

git clone <repository-url>
cd carbon-cycle-100

2. 安装后端依赖

cd backend
npm install

3. 配置后端环境变量

复制 .env.example.env 并修改配置:

cp .env.example .env

默认配置:

MONGODB_URI=mongodb://localhost:27017/carboncycle100
JWT_SECRET=your-secret-key
JWT_EXPIRES_IN=7d
PORT=3000

4. 启动后端

npm run start:dev

后端将在 http://localhost:3000 运行,API 文档:http://localhost:3000/api-docs

5. 安装前端依赖

cd ../frontend
npm install

6. 配置前端环境变量

复制 .env.example.env

cp .env.example .env

7. 启动前端

npm run dev

前端将在 http://localhost:5173 运行

API 接口文档

认证接口

方法 路径 描述
POST /auth/register 用户注册
POST /auth/login 用户登录

用户接口

方法 路径 描述 认证
GET /users/profile 获取当前用户信息
PATCH /users/profile 更新用户信息

打卡接口

方法 路径 描述 认证
POST /checkin 每日打卡
GET /checkin/today 获取今日打卡
GET /checkin/calendar 获取日历打卡记录
GET /checkin/stats 获取打卡统计数据
GET /checkin/history 获取打卡历史

社区接口

方法 路径 描述 认证
GET /community/posts 获取社区动态列表
POST /community/posts 发布动态
POST /community/posts/:id/like 点赞/取消点赞

功能说明

碳循环饮食

  • 低碳日:减少碳水化合物摄入(20-50g),促进脂肪燃烧
  • 高碳日:增加碳水化合物摄入(150-200g),补充肌糖原

打卡流程

  1. 选择当日状态(低碳/高碳)
  2. 记录饮食内容
  3. 记录运动情况
  4. 填写体重(可选)
  5. 记录当日感受

挑战规则

  • 100天为完整挑战周期
  • 建议低碳-高碳交替进行
  • 每日打卡记录饮食和运动
  • 社区分享心得互相鼓励

开发规范

  • 代码使用 2 空格缩进
  • 变量命名使用 camelCase
  • 组件命名使用 PascalCase
  • CSS 类名使用 kebab-case
  • 使用 TypeScript 严格模式

许可证

MIT

About

CarbonCycle100 帮助用户通过科学碳循环饮食法进行减脂挑战,提供每日打卡记录、社区分享、进度统计等功能。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages