{"id":20631201,"url":"https://github.com/solidlabresearch/solid-service-template","last_synced_at":"2025-06-17T20:42:21.577Z","repository":{"id":182271996,"uuid":"667823890","full_name":"SolidLabResearch/solid-service-template","owner":"SolidLabResearch","description":"A template for a Solid service.","archived":false,"fork":false,"pushed_at":"2023-07-19T09:08:42.000Z","size":144,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-01-17T07:09:35.041Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SolidLabResearch.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-07-18T11:35:55.000Z","updated_at":"2023-07-19T09:09:28.000Z","dependencies_parsed_at":"2023-07-19T11:31:50.824Z","dependency_job_id":null,"html_url":"https://github.com/SolidLabResearch/solid-service-template","commit_stats":null,"previous_names":["solidlabresearch/solid-service-template"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SolidLabResearch%2Fsolid-service-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SolidLabResearch%2Fsolid-service-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SolidLabResearch%2Fsolid-service-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SolidLabResearch%2Fsolid-service-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SolidLabResearch","download_url":"https://codeload.github.com/SolidLabResearch/solid-service-template/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242588427,"owners_count":20154203,"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":[],"created_at":"2024-11-16T14:11:32.237Z","updated_at":"2025-03-08T17:57:17.450Z","avatar_url":"https://github.com/SolidLabResearch.png","language":"JavaScript","readme":"# Solid service template\n\nThis template helps you to get started with creating a Solid service.\nWe rely on the [Client Credentials](https://communitysolidserver.github.io/CommunitySolidServer/6.x/usage/client-credentials/) \noffered by the [Community Solid Server](https://github.com/CommunitySolidServer/CommunitySolidServer) (CSS).\nThe advantage is that it allows the service to work without user interaction for authentication.\nThe disadvantage is that it doesn't work with other Solid servers.\nThis only applies to authentication.\nOnce authentication is done, \neverything else works as expected when you follow the Solid protocol.\nWhen there is a specification on how to do this type of authentication with every Solid server,\nwe will update this template.\n\n## Features\n\n- Community Solid Server to test with pods locally.\n- [Comunica](https://comunica.dev/) for querying pods and other data sources.\n\n## Usage\n\n1. Clone this repository via\n   ```shell\n   git clone https://github.com/SolidLabResearch/solid-service-template.git\n   ```\n2. Install the dependencies via \n   ```shell\n   npm i\n   ```\n3. Prepare the pods via\n   ```shell\n   npm run prepare:pods\n   ```\n4. Start Solid server with the pods via\n   ```shell\n   npm run start:pods\n   ```\n   Keep this process running.\n5. In another terminal start the service via\n   ```shell\n   npm start\n   ```\n6. The service does the following things.\n   1. GET a public resource with an unauthenticated fetch.\n   2. GET a private resource with an authenticated fetch.\n   3. Query a private resource with Comunica using an authenticated fetch.\n\nIf at some point you want to reset the pod data,\nyou do \n```shell\nnpm run reset:pods\n```\n\n## Pod data\n\nYou find the initial pod data in the folder `initial-pod-data`.\nIt has two resources:\n- `favourite-books`: this list contains the favourite books of the user. \n   This list is private. only the user has read, write, and control access.\n   This is specified in `favourite-books.acl`.\n- `wish-list`: this list contains the wish list of book of the user.\n   This list is public: everybody can read the list, but only the user can write and control it.\n   This is specified in `wish-list.acl`.\n\nYou find the shape to which the above two resources adhere in `shapes/book-list.ttl`.\n\n## License\n\nThis code is copyrighted by [Ghent University – imec](http://idlab.ugent.be/) and\nreleased under the [MIT license](http://opensource.org/licenses/MIT).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsolidlabresearch%2Fsolid-service-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsolidlabresearch%2Fsolid-service-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsolidlabresearch%2Fsolid-service-template/lists"}