{"id":23167573,"url":"https://github.com/ivanvit100/todolist","last_synced_at":"2026-04-10T04:50:02.209Z","repository":{"id":219405765,"uuid":"744125970","full_name":"ivanvit100/TODOList","owner":"ivanvit100","description":"TODO application using OOP principles, built with TypeScript, Electron and Express","archived":false,"fork":false,"pushed_at":"2024-05-08T20:01:11.000Z","size":2318,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-05-08T21:24:31.150Z","etag":null,"topics":["electron","express","nodejs","todo","todo-app","todo-list","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ivanvit100.png","metadata":{"files":{"readme":"README.md","changelog":null,"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":"2024-01-16T17:11:35.000Z","updated_at":"2024-05-08T21:24:32.936Z","dependencies_parsed_at":"2024-02-27T07:55:29.466Z","dependency_job_id":"aa04e865-d8a9-4c0d-b462-654b005ae5d1","html_url":"https://github.com/ivanvit100/TODOList","commit_stats":null,"previous_names":["ivanvit100/todolist_skizo","ivanvit100/todolist"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ivanvit100%2FTODOList","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ivanvit100%2FTODOList/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ivanvit100%2FTODOList/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ivanvit100%2FTODOList/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ivanvit100","download_url":"https://codeload.github.com/ivanvit100/TODOList/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247256109,"owners_count":20909240,"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":["electron","express","nodejs","todo","todo-app","todo-list","typescript"],"created_at":"2024-12-18T02:29:47.112Z","updated_at":"2025-12-30T20:25:47.614Z","avatar_url":"https://github.com/ivanvit100.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🗿 TODOList\n\n![preview](/preview/1.png)\n\nExample of a browser mode in task UI\n\n![preview](/preview/2.png)\n\nExample of a task with an expiring deadline\n\n![preview](/preview/3.png)\n\nExample of a mobile view\n\n![preview](/preview/4.png)\n\nExample of a settings menu\n\n## 🧭 Overview\n\nTODOList is a task management application built with TypeScript, Electron, and Express. It allows users to manage their tasks with features such as sorting, filtering, and prioritizing tasks. The application supports multiple languages and themes, and it is designed to be secure with password protection for user data. A unique feature of the application is a built-in HTML/CSS editor and the ability to view web pages on the task screen.\n\n## 📥 Installation\n\n### Complete package\n\nVisit [Releases](https://github.com/ivanvit100/TODOList/releases) page and download app image for your OS. It may be deb or rpm package or zip/tar archive.\n\n### From source\n\nFirst of all, clone this repo\n\n```sh\ngit clone https://github.com/ivanvit100/TODOList.git\n```\n\nThen, navigate to the project directory and install the dependencies:\n\n```sh\ncd TODOList\nnpm install\n```\n\nCommands for compiling projects you can see in [package.json](/package.json):\n```sh\nnpm run make\nnpm run make-zip\nnpm run make-linux\nnpm run make-darwin\nnpm run make-windows\n```\n\n## 🛠️ Configuration\n\n### CLI method\n\nYou can customize your TODO application. To do this, fix the config.json file to your liking.\n\n#### Config files path:\n- /home/user/.todo/config.json\n- C:/Program Files/todo/config.json\n\n#### Example of config structure:\n\n```json\n{\n    /*App settings*/\n    \"todo\": {\n        \"color-date-alert\": true, /* Whether to include styles for expired date of task notification */\n        \"lang\": \"ru\", /* Language of the interface */\n        \"theme\": \"light\", /* Application start theme, supports “light” and “dark” variants */\n        \"sort-order\": \"alphabet\", /* Sort order of task list */\n        \"login\": \"login\", /* User loging to protect your data */\n        \"password\": \"password\", /* User password to protect your data */\n        \"key\": \"key\" /* Secret key to hash password */\n    }\n}\n```\n\n### UI method\n\nTo setup your task list as you wish you can follow these steps:\n1. Open TODOList app\n2. Click 'Alt' button on your keyboard\n3. Select 'Menu' \u003e 'Settings'\n4. Log in to your account\n5. Change parameters\n6. Click 'Save'\n7. Reload app to ensure that changes was applied \n\n### More information\n\n#### Avaliable langs:\n- Russian - ru\n- English - us\n\n#### Avaliable sorts:\n- alphabet\n- priority\n- date\n- count\n\nAlso you can left login and password empty to use app without authtorisation.\n\n## 📝 Future changes\n\nHere you can see a list of TODO changes expected in upcoming commits:\n\n- New interface design\n- json to jsonl\n- Send one task instead of a full dump\n- Multi-user capability\n- Different encryption methods \n- Registration in UI\n- New HTML editor\n- Improving web performance\n\nYou can also implement these points in your pull request, it will help the project a lot. \n\n## 💼 Usage\n\n### Creating a Task\n\n1. Open the TODOList app.\n2. Select requaired list.\n3. Fill in the task details such as name, description, date, and priority.\n4. Click add button.\n\n### Editing a Task\n\n1. Select requaired list.\n2. Click on the task you want to edit.\n3. Click on edit button.\n4. Modify the task details as needed.\n5. Click \"Save\" to update the task.\n\n### Deleting a Task\n\n1. Select requaired list.\n2. Click on the task you want to delete.\n3. Click the delete button.\n\n### Sorting Tasks\n\n1. Click \"Alt\" button or icon in navbar.\n2. Click \"Menu\" \u003e \"Settings\".\n3. Log in to account.\n4. Select the desired sort order (alphabet, priority, date, count).\n5. Click \"Save\" to apply the sort order.\n6. Restart the app.\n\n### Using web-view\n1. Add a new task or edit a task as usual.\n2. In the “Description” field, insert only a link to the resource (not all sites are supported, for example, YouTube blocks playback of its videos from outside)\n3. Add or save the task.\n\n### Using custom HTML/CSS\n1. Add a new task or edit a task as usual.\n2. In the “Description” field, insert only HTML and CSS code (JavaScript is not supported at this time).\n3. Add or save the task.\n\nTo avoid breaking the interface, it is recommended to use unique class names and id's in your CSS rather than referring to generic selectors.\n\n## ❗️ License\n\nThis project is licensed under the MIT License. See the [LICENSE](/LICENSE) file for more information.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fivanvit100%2Ftodolist","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fivanvit100%2Ftodolist","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fivanvit100%2Ftodolist/lists"}