{"id":47880349,"url":"https://github.com/getditto/template-rust","last_synced_at":"2026-04-04T01:44:34.058Z","repository":{"id":242738717,"uuid":"809826257","full_name":"getditto/template-rust","owner":"getditto","description":"A sample app showing how to sync offline with Ditto using Rust","archived":true,"fork":false,"pushed_at":"2024-06-13T18:28:58.000Z","size":132,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":7,"default_branch":"main","last_synced_at":"2026-04-04T01:44:32.688Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":false,"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/getditto.png","metadata":{"files":{"readme":"README.md","changelog":null,"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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-03T14:19:05.000Z","updated_at":"2025-02-21T15:34:36.000Z","dependencies_parsed_at":"2024-06-04T19:17:17.814Z","dependency_job_id":"c8a4761b-17b3-433d-b9c7-614ba4017717","html_url":"https://github.com/getditto/template-rust","commit_stats":null,"previous_names":["getditto/template-rust"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/getditto/template-rust","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getditto%2Ftemplate-rust","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getditto%2Ftemplate-rust/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getditto%2Ftemplate-rust/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getditto%2Ftemplate-rust/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/getditto","download_url":"https://codeload.github.com/getditto/template-rust/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getditto%2Ftemplate-rust/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31384845,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T01:22:39.193Z","status":"ssl_error","status_checked_at":"2026-04-04T01:22:33.970Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":[],"created_at":"2026-04-04T01:44:33.530Z","updated_at":"2026-04-04T01:44:34.043Z","avatar_url":"https://github.com/getditto.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# `template-rust`\n\nThis is a template starter project for showing how to develop\napplications using Ditto's Rust SDK.\n\n## About Ditto\n\n[Ditto is an \"edge-sync platform\"][0], which allows your apps to\nwork and communicate even while offline. The Ditto SDKs allow\nyou to read and write changes to a local database even while\noffline, but will automatically connect to nearby peers and sync\nchanges with each other.\n\n- [Ditto Rust API Docs][1]\n\n## Getting Started\n\nTo get started with Ditto, [visit the Ditto Portal and create an App][2],\nthen find your \"App ID\" and Playground Token. You'll use these to\nauthenticate your SDK instances so they can securely sync with each other.\n\n![Ditto Portal with AppID and Playground Token](.github/assets/ditto-portal.png)\n\n\u003e The AppID and token in this screenshot are fake, you need to create\n\u003e your own Ditto account and App, then copy the AppID and Playground Token\n\u003e generated for you :)\n\nNext, copy the `.env.sample` file and rename it to `.env` to use it:\n\n```\ncp .env.sample .env\n```\n\nEdit the `.env` file and paste your App ID and Playground Token:\n\n```\n#!/usr/bin/env bash\n# ...\n\nexport APP_ID=\"\"           # Your App ID\nexport PLAYGROUND_TOKEN=\"\" # Your Playground Token\n```\n\nNow you can build and run the available sample apps. Be sure to check the\n`--help` menu to see subcommands and options for each app.\n\n### Simple Querybuilder\n\nThis sample shows how to use Ditto's \"Query Builder\" API to\ncreate and subscribe to documents:\n\n```\ncargo run --bin=simple_querybuilder -- --collection=\"cars\"\n# ...\nInserted document with id=6659efed00288113001bb5a9\n```\n\n### Simple DQL\n\nThis sample shows how to use Ditto's new \"Ditto Query Lanuage\" (or DQL)\nto insert and query for documents:\n\n```\ncargo run --bin=simple_dql -- insert-car --make=\"ford\" --color=\"blue\"\n\ncargo run --bin=simple_dql -- select-cars --color=\"blue\"\n```\n\n### Simple Attachments\n\nThis sample shows how to upload and download large files using Ditto's\nAttachments API:\n\n```\ncargo run --bin=simple_attachments -- upload-photo --path=$HOME/Downloads/photo.png\n\ncargo run --bin=simple_attachments -- download-photo --name=photo.png\n```\n\n[0]: https://ditto.live\n[1]: https://docs.rs/dittolive-ditto\n[2]: https://portal.ditto.live\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgetditto%2Ftemplate-rust","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgetditto%2Ftemplate-rust","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgetditto%2Ftemplate-rust/lists"}