A Gantt-style todo list, time scheduler and management service.
925
A Gantt-style todo list, written with Vite + React 19 + TypeScript + MUI (completely rewrote for v1.0.0).
It follows these rules:
![]() | ![]() |
![]() | ![]() |
Build Docker Image:
docker build -t timetender ./app
Run Docker Image:
# DockerHub
docker pull titanrgb/timetender:latest
# GitHub
docker pull ghcr.io/mehver/timetender:latest
docker 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 build
Then open dist/index.html directly in a browser (file:// works).
Requirements
Install Dependency
cd app
pnpm install
Frontend Development
pnpm start & # optional: Express backend for the /api/data endpoints
pnpm dev
Frontend Compile
pnpm build
Backend Server
pnpm start
Tests / Typecheck
pnpm test # vitest unit + smoke tests
pnpm typecheck # tsc -b
Build 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:24-alpineThis 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.
Content type
Image
Digest
sha256:1e3c78b55…
Size
109.8 MB
Last updated
about 1 month ago
docker pull titanrgb/timetender