A Gantt-style todo list, written with Vite + React 19 + TypeScript + MUI (completely rewrote for v1.0.0).
It follows these rules:
- x-axis is the calendar (each column is a date), so it's infinite
- y-axis is task list (each line contains only one task), expanding
![]() |
![]() |
![]() |
![]() |
Build Docker Image:
docker build -t timetender ./appRun Docker Image:
# DockerHub
docker pull titanrgb/timetender:latest
# GitHub
docker pull ghcr.io/mehver/timetender:latestdocker run -d \
--name=timetender \
-e TZ=Asia/Shanghai \
-p 127.0.0.1:80:8080/tcp \
-v /path/for/data:/usr/lib/timetender/data \
timetender:latest| Parameter | Function |
|---|---|
-p 127.0.0.1:80:8080/tcp |
HTTP web interface |
-e TZ=Asia/Shanghai |
Specify a timezone |
-v /path/for/data:/usr/lib/timetender/data |
Data storage directory (JSON file) |
Open http://localhost and choose "后端服务器存储" in Settings if you want server-side persistence (browser-local storage works out of the box too).
Single-file build (no server needed):
cd app
pnpm install
pnpm buildThen open dist/index.html directly in a browser (file:// works).
Requirements
- Node.js v24
Install Dependency
cd app
pnpm installFrontend Development
pnpm start & # optional: Express backend for the /api/data endpoints
pnpm devFrontend Compile
pnpm buildBackend Server
pnpm startTests / Typecheck
pnpm test # vitest unit + smoke tests
pnpm typecheck # tsc -bBuild Docker Image
pnpm install
pnpm build
docker build -t <YourID>/timetender:<tag> .All dependencies are open-source and licensed under permissive licenses. No copyleft (e.g., GPL, AGPL) components are included.
- Node.js
- React 19 + Vite
- Material UI v7 (https://github.com/mui/material-ui)
- MUI X (https://github.com/mui/mui-x)
- Data Grid
- Date Pickers
- Express 5 (https://github.com/expressjs/express)
- React 19 + Vite
- Docker
- Node.js v24 Image (https://hub.docker.com/_/node)
node:24-alpine
- Node.js v24 Image (https://hub.docker.com/_/node)
This project is released under the BSD 3-Clause License. Code may be reused with proper attribution.
Copyright (c) 2022 Mehver (https://github.com/Mehver). All rights reserved.
All dependencies are open-source and licensed under permissive licenses. No copyleft (e.g., GPL, AGPL) components are included.




