{"id":20746153,"url":"https://github.com/mehver/timetender","last_synced_at":"2025-04-24T06:52:36.541Z","repository":{"id":61533980,"uuid":"551846837","full_name":"Mehver/Timetender","owner":"Mehver","description":"Self use todo list, time scheduler and management service.","archived":false,"fork":false,"pushed_at":"2025-02-25T23:21:18.000Z","size":5021,"stargazers_count":6,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-24T06:52:10.858Z","etag":null,"topics":["ant-design","docker","express","nodejs","react","scheduler","time-management","time-management-tools","todolist"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/r/titanrgb/timetender","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Mehver.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-10-15T08:08:48.000Z","updated_at":"2025-02-25T23:21:15.000Z","dependencies_parsed_at":"2024-03-04T13:27:39.803Z","dependency_job_id":"bee9b365-f55f-4963-994a-b5b65915856c","html_url":"https://github.com/Mehver/Timetender","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mehver%2FTimetender","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mehver%2FTimetender/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mehver%2FTimetender/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mehver%2FTimetender/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Mehver","download_url":"https://codeload.github.com/Mehver/Timetender/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250580713,"owners_count":21453531,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ant-design","docker","express","nodejs","react","scheduler","time-management","time-management-tools","todolist"],"created_at":"2024-11-17T07:24:34.121Z","updated_at":"2025-04-24T06:52:36.536Z","avatar_url":"https://github.com/Mehver.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"https://github.com/Mehver/Timetender/raw/main/docs/icon/256.png\" width=\"20%\"/\u003e\n    \u003ch1\u003eTimetender \u003ccode\u003ev0.1.4\u003c/code\u003e\u003c/h1\u003e\n\t\u003ca href='https://github.com/Mehver/Timetender'\u003e\u003cimg src=\"https://img.shields.io/badge/-GitHub-3A3A3A?style=flat\u0026amp;logo=GitHub\u0026amp;logoColor=white\" referrerpolicy=\"no-referrer\" alt=\"GitHub\"\u003e\u003c/a\u003e\n\t\u003ca href='https://hub.docker.com/r/titanrgb/timetender'\u003e\u003cimg src=\"https://img.shields.io/badge/-DockerHub-1c90ed?style=flat\u0026amp;logo=Docker\u0026amp;logoColor=white\" referrerpolicy=\"no-referrer\" alt=\"DockerHub\"\u003e\u003c/a\u003e\n\t\u003ca href='https://quay.io/repository/titanrgb/timetender'\u003e\u003cimg src=\"https://img.shields.io/badge/-Quay.io-ee0000?style=flat\u0026amp;logo=RedHat\u0026amp;logoColor=white\" referrerpolicy=\"no-referrer\" alt=\"Quay.io\"\u003e\u003c/a\u003e\n    \u003c/tr\u003e\n\u003c/div\u003e\n\n## 1 Description\n\nDuring my high school, I use Excel as a todo list to manage my tasks such as homework. It's time to make a more powerful\nversion by React.\n\nIt follows these rules:\n\n- x-axis is the calendar (each column is a date), so it's infinite\n- y-axis is task list (each line contain only one task), expanding\n\nAnd with classifying by color and tags, it can be more powerful.\n\n### 1.1 (eliminated) Excel Concept\n\n\u003cimg src=\"https://github.com/Mehver/Timetender/raw/main/docs/0.png\" width=\"50%\"\u003e\n\n### 1.2 Now Project\n\n\u003ctable\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003cimg src=\"https://github.com/Mehver/Timetender/raw/main/docs/A.png\"/\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003cimg src=\"https://github.com/Mehver/Timetender/raw/main/docs/B.png\"/\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n\u003ctr\u003e\n        \u003ctd\u003e\u003cimg src=\"https://github.com/Mehver/Timetender/raw/main/docs/C.png\"/\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003cimg src=\"https://github.com/Mehver/Timetender/raw/main/docs/D.png\"/\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n\u003c/table\u003e\n\n## 2 Usage\n\n```shell\n# DockerHub\ndocker pull titanrgb/timetender:latest\n# GitHub\ndocker pull ghcr.io/mehver/timetender:latest\n# Quay.io\ndocker pull quay.io/titanrgb/timetender:latest\n```\n\n```shell\ndocker run -d \\\n  --name=timetender \\\n  -e TZ=Asia/Shanghai \\\n  -p 127.0.0.1:80:8080/tcp \\\n  -v /path/to/config:/usr/lib/timetender/config \\\n  -v /path/for/data:/usr/lib/timetender/data \\\n  titanrgb/timetender:latest\n```\n\n| Parameter                                       | Function                        |\n| ----------------------------------------------- | ------------------------------- |\n| `-p 127.0.0.1:80:8080/tcp`                      | Http webUI                      |\n| `-e TZ=Asia/Shanghai`                           | Specify a timezone              |\n| `-v /path/to/config:/usr/lib/timetender/config` | Timetender's configuration directory |\n| `-v /path/for/data:/usr/lib/timetender/data`    | Timetender's data storage directory       |\n\n## 3 Development\n\n**Requirements**\n\n- [Node.js](https://nodejs.org/en/) v16.16.0\n- [Docker](https://www.docker.com/) v20.10.17\n\n**Install Dependency**\n\n```shell\nnpm install --legacy-peer-deps\nnpm run build\n```\n\n**Frontend Development**\n\n```shell\nnpm run react\n```\n\n**Frontend Compile**\n\n```shell\nnpm run build\n```\n\n**Backend Server**\n\n```shell\nnpm start\n```\n\n**Build Docker Image**\n\n```shell\nnpm install --legacy-peer-deps\nnpm run build\ndocker build -t \u003cYourID\u003e/timetender:\u003ctag\u003e .\n```\n\n\n## 4 Built With\n\n- Node.js\n  - React.js\n    - Luckysheet (https://github.com/mengshukeji/Luckysheet)\n    - Material UI (https://github.com/mui/material-ui)\n    - Ant Design (https://github.com/ant-design/ant-design)\n    - Json Editor (https://github.com/josdejong/jsoneditor)\n  - Express.js\n- Docker\n  - Node.js v16 Image (https://hub.docker.com/_/node) \n    - `node:16-alpine3.16`\n\n## 5 Reference\n\n- [GitHub@mengshukeji/Luckysheet](https://github.com/mengshukeji/Luckysheet)\n  - https://dream-num.github.io/LuckysheetDocs/zh/guide/config.html\n  - https://dream-num.github.io/LuckysheetDocs/zh/guide/api.html\n- [GitHub@mengshukeji/luckysheet-react](https://github.com/mengshukeji/luckysheet-react)\n- [GitHub@mui/material-ui](https://github.com/mui/material-ui)\n  - https://mui.com/zh/material-ui/react-table/\n- [GitHub@ant-design/ant-design](https://github.com/ant-design/ant-design)\n  - https://ant.design/components/icon/\n- [GitHub@josdejong/jsoneditor](https://github.com/josdejong/jsoneditor)\n  - https://github.com/josdejong/jsoneditor/tree/master/examples/react_demo\n\n## 6 License\n\nMPL 2.0\n\nCopyright © 2022-PRESENT GitHub@Mehver/Timetender , All Rights Reserved.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmehver%2Ftimetender","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmehver%2Ftimetender","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmehver%2Ftimetender/lists"}