基於 Next.js 的步步紀錄排行榜工具。
pnpm install
pnpm dlx prisma migrate deploy
pnpm dev
- 新增步步紀錄
- iOS Shortcut
- Android
- 歷史紀錄
- 七天
- 一個月
- 排行榜
- 七天
- 一個月
- 獎章系統
- PWA
- 分析功能
餅餅踏踏使用 SQLite 作為資料庫,因此需要將資料庫檔案掛載到容器中。
touch stepstep.db
docker run -d -p 3000:3000 \
-v $(pwd)/stepstep.db:/app/prisma/dev.db \
-e JWT_SECRET=YOUR_SECRET \
-e INVITE_CODE=YOUR_INVITE_CODE \
--name stepstep \
ghcr.io/gnehs/stepstep
- 取得指定日期的排行榜。
- 日期格式為
YYYY-MM-DD
。
[
{
"steps": 5000,
"distance": 5.123456789,
"energy": 0,
"user": {
"id": "c123456",
"name": "Test"
}
}
]
- 透過同步令牌取得分析資料。
interface ActivityData {
success: boolean;
data: {
aggregate: {
_sum: {
distance: number;
energy: number;
steps: number;
};
_avg: {
distance: number;
energy: number;
steps: number;
};
};
last30dAggregate: {
日: {
[hour: string]: { distance: number; energy: number; steps: number };
};
一: {
[hour: string]: { distance: number; energy: number; steps: number };
};
二: {
[hour: string]: { distance: number; energy: number; steps: number };
};
三: {
[hour: string]: { distance: number; energy: number; steps: number };
};
四: {
[hour: string]: { distance: number; energy: number; steps: number };
};
五: {
[hour: string]: { distance: number; energy: number; steps: number };
};
六: {
[hour: string]: { distance: number; energy: number; steps: number };
};
};
last30dByDay: Array<
| {
distance: number;
energy: number;
steps: number;
timestamp: string;
}
| { timestamp: string }
>;
};
}