{"id":20631193,"url":"https://github.com/solidlabresearch/solid-todo-app-vue","last_synced_at":"2026-03-10T06:32:04.915Z","repository":{"id":57888928,"uuid":"520369905","full_name":"SolidLabResearch/solid-todo-app-vue","owner":"SolidLabResearch","description":"Solid ToDo application implemented using Vue","archived":false,"fork":false,"pushed_at":"2023-10-24T08:46:20.000Z","size":1594,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-20T08:42:51.987Z","etag":null,"topics":["linked-data","prototype","solid","todo"],"latest_commit_sha":null,"homepage":"https://SolidlabResearch.github.io/solid-todo-app-vue/","language":"Vue","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/SolidLabResearch.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":"2022-08-02T05:55:05.000Z","updated_at":"2022-11-28T07:54:56.000Z","dependencies_parsed_at":"2023-02-16T20:46:34.996Z","dependency_job_id":"c3f8eca2-4d6a-4033-978f-b35b017ceed3","html_url":"https://github.com/SolidLabResearch/solid-todo-app-vue","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/SolidLabResearch/solid-todo-app-vue","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SolidLabResearch%2Fsolid-todo-app-vue","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SolidLabResearch%2Fsolid-todo-app-vue/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SolidLabResearch%2Fsolid-todo-app-vue/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SolidLabResearch%2Fsolid-todo-app-vue/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SolidLabResearch","download_url":"https://codeload.github.com/SolidLabResearch/solid-todo-app-vue/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SolidLabResearch%2Fsolid-todo-app-vue/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30326891,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-10T05:25:20.737Z","status":"ssl_error","status_checked_at":"2026-03-10T05:25:17.430Z","response_time":106,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["linked-data","prototype","solid","todo"],"created_at":"2024-11-16T14:11:27.787Z","updated_at":"2026-03-10T06:32:03.508Z","avatar_url":"https://github.com/SolidLabResearch.png","language":"Vue","readme":"\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/SolidLabResearch/solid-todo-app-vue/main/public/icon.svg\" alt=\"icon\" width=\"60\"\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eSolid Tasks\u003c/h1\u003e\n\nThis is an experimental tasklist application built on top of Solid, in an effort to identify challenges related to developing interoperable applications on top of Solid. This is **not intended for actual use** in any capacity whatsoever, and exists as a technical prototype.\n\nThere is a live version [available](https://solidlabresearch.github.io/solid-todo-app-vue/) published on GitHub Pages from the main branch.\n\n## Dependencies\n\n* [Vue](https://vuejs.org/) for the user interface\n* [Vite](https://vitejs.dev/) for development server, building, bundling\n* [Comunica with link traversal](https://github.com/comunica/comunica-feature-link-traversal) for reading and writing data\n* [Small custom vocabulary](https://github.com/SolidLabResearch/solid-todo-app-react/tree/main/ontology) for describing the data\n* [Community Solid Server](https://github.com/CommunitySolidServer/CommunitySolidServer) as local temporary data storage while developing, but other Solid pods should also work\n\n## Compatibility\n\nThe latest known compatibility status with a number of servers implementing the Solid protocol is the following:\n\n* Community Solid Server: compatible with version 6.0.0+ and probably 5.1.0+\n* Node Solid Server: not tested\n* Enterprise Solid Server: not tested\n\n## Functionality\n\nThus far, the prototype offers the following functionality:\n\n* Logging in and out with a WebID, where the OIDC issuer is discovered via `solid:oidcIssuer`, and displaying the user's name from `foaf:name` or `foaf:givenName` after logging in\n* Creating, renaming and removing to-do lists and to-do entries within those lists, in a nested fashion\n* Language selection between English and Finnish\n\n## Storage strategies\n\nThe prototype also allows customising the storage paths for newly-created to-do lists and entries:\n\n* Default without `pim:storage` present is `private/todos/todos` under the path that contains the WebID, and it is this way to match the React prototype\n* Default with `pim:storage` present is `private/todos/todos` under the path pointed at by `pim:storage`\n* The `http://example.org/todolist/pathTemplate` predicate can be used to define a custom path, for example `{storage}/tasks/{tasklist}`, with the following templates available to use in the string: `year`, `month`, `date`, `timenow`, `tasklist`, `task`, `storage`\n\nExamples of different storage strategies that can be implemented with the template:\n\n* All tasks in single file: `{storage}/tasks/singlefile`\n* All lists in different files: `{storage}/tasks/{tasklist}`\n* All individual tasks in different files: `{storage}/tasks/{tasklist}/{task}`\n* All tasks for one year in their own file: `{storage}/tasks/{year}`\n\n## Development setup\n\nThe project uses [Yarn](https://yarnpkg.com/) version 3 and up for package management, and offers the usual commands:\n\n* `yarn dev` to start the Webpack development server to serve the application\n* `yarn css` to start the Community Solid Server as a data storage for development, with users from [tests/users.json](tests/users.json)\n* `yarn lint` for ESLint\n* `yarn build` for bundling for production\n\nFor example, to start the application locally after cloning:\n\n```\n$ yarn install --immutable\n$ yarn dev\n```\n\nFor Visual Studio Code, a Vue extension such as [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) might be useful, potentially with [TypeScript takeover mode](https://vuejs.org/guide/typescript/overview.html#volar-takeover-mode).\n\n## Issues\n\nAny issues encountered can be reported via the GitHub issue tracker. However, before reporting issues, please note that this is not a production-ready application and is not intended for everyday use.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsolidlabresearch%2Fsolid-todo-app-vue","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsolidlabresearch%2Fsolid-todo-app-vue","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsolidlabresearch%2Fsolid-todo-app-vue/lists"}