打卡App开发记录
打卡App开发记录
本文记录我开发工具类项目打卡App. 主要工具包括: React, Nextjs, tailwindcss, shadcnUI, Echart.
项目目标
做出一个功能完备, 风格优美, 使用简单的打卡App. 通过做这个App可以学习使用ShadcnUI库, 和用Echart做数据可视化
UI
App的大部分UI使用ShadcnUI成熟的组件进行组合, 这些组件的可自定制化程度基本能够满足需求.
颜色主题: 引入ShadcnUI时会引入一系列的主题颜色, 关于这些主题颜色的自定制化还未作研究. 目前使用默认. 关于明暗模式也未做具体实验.
数据
- 数据读取: 在
useEffect
中使用localStorage
将读取数据. - 数据保存: 在每次数据被修改之后使用
localStorage
保存数据
关于日期
最初日期的数据结构用的是Date, 但是Date在存储再读取后会变成string, 因此会造成数据类型上的不匹配. 因此最后选择使用number类型的TimeStamp作为日期的数据结构, 在需要展示或者做分析的时候再转换成Date类型.
数据可视化
使用了Echart的line-chart和heatmap两种类型的图. 使用难点在于对options的定制化, 但另一方面也说明了可定制化程度高.
其他
- 部署: 使用Vercel平台
未解决的问题
This post is licensed under CC BY 4.0 by the author.