{"id":44386262,"url":"https://github.com/uverify-io/uverify-ui","last_synced_at":"2026-05-09T13:26:06.818Z","repository":{"id":278826739,"uuid":"866173350","full_name":"UVerify-io/uverify-ui","owner":"UVerify-io","description":"UVerify makes blockchain technology accessible to everyone, regardless of prior experience. Effortlessly secure your file or text hashes on the Cardano blockchain.","archived":false,"fork":false,"pushed_at":"2026-02-28T17:43:10.000Z","size":3835,"stargazers_count":4,"open_issues_count":2,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-28T20:07:21.700Z","etag":null,"topics":["cardano","cryptography","notarytool","react","tailwindcss"],"latest_commit_sha":null,"homepage":"https://app.uverify.io","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/UVerify-io.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":"CLA.md"}},"created_at":"2024-10-01T19:15:59.000Z","updated_at":"2026-02-28T17:42:55.000Z","dependencies_parsed_at":"2025-02-21T23:43:32.844Z","dependency_job_id":"8de438b7-3786-469c-ac3a-554216206155","html_url":"https://github.com/UVerify-io/uverify-ui","commit_stats":null,"previous_names":["uverify-io/uverify-ui"],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/UVerify-io/uverify-ui","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UVerify-io%2Fuverify-ui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UVerify-io%2Fuverify-ui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UVerify-io%2Fuverify-ui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UVerify-io%2Fuverify-ui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/UVerify-io","download_url":"https://codeload.github.com/UVerify-io/uverify-ui/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UVerify-io%2Fuverify-ui/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30212021,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-07T09:02:10.694Z","status":"ssl_error","status_checked_at":"2026-03-07T09:02:08.429Z","response_time":53,"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":["cardano","cryptography","notarytool","react","tailwindcss"],"created_at":"2026-02-12T00:44:52.880Z","updated_at":"2026-05-09T13:26:06.787Z","avatar_url":"https://github.com/UVerify-io.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 💎 Welcome to UVerify: Your Gateway to Blockchain Simplicity\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/UVerify-io/uverify-ui/actions/workflows/build.yml\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/UVerify-io/uverify-ui/build.yml\" alt=\"Test Workflow Status\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/UVerify-io/uverify-ui/actions/workflows/test.yml\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/UVerify-io/uverify-ui/test.yml?label=test\" alt=\"Test Workflow Status\"\u003e\n  \u003c/a\u003e\n   \u003ca href=\"https://github.com/UVerify-io/uverify-ui/actions/workflows/release.yml\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/UVerify-io/uverify-ui/release.yml?label=release\" alt=\"Release Workflow Status\"\u003e\n  \u003c/a\u003e\n   \u003ca href=\"https://conventionalcommits.org\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Conventional%20Commits-1.0.0-%23FE5196?logo=conventionalcommits\u0026logoColor=white\" alt=\"Conventional Commits\"\u003e\n  \u003c/a\u003e\n   \u003ca href=\"https://discord.gg/Dvqkynn6xc\"\u003e\n    \u003cimg src=\"https://img.shields.io/discord/1263737876743589938\" alt=\"Join our Discord\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://cla-assistant.io/UVerify-io/uverify-ui\"\u003e\u003cimg src=\"https://cla-assistant.io/readme/badge/UVerify-io/uverify-ui\" alt=\"CLA assistant\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\nUVerify makes blockchain technology accessible to everyone, regardless of prior experience. Effortlessly secure your file or text hashes on the Cardano blockchain. Want to try it out before diving into the code? Visit [app.uverify.io](app.uverify.io) to explore the app.\n\n## 🚀 Getting Started\n\nTo get started, clone the repository and run the following commands:\n\n```zsh\nnpm install\nnpm run dev\n```\n\n### 🌻 Environment Variables\n\nTo run the application, you need to set up the following environment variables in a `.env` file:\n\n```env\nVITE_BACKEND_URL=http://localhost:9090\nVITE_CARDANO_NETWORK=preprod\n```\n\n| Variable Name               | Description                                                                                                                     | Default Value                   |\n|-----------------------------|---------------------------------------------------------------------------------------------------------------------------------|---------------------------------|\n| `VITE_BACKEND_URL`          | URL of the UVerify backend service                                                                                              | `http://localhost:9090`         |\n| `VITE_CARDANO_NETWORK`      | Cardano network to connect to (e.g., `preprod`, `preview`, `mainnet`)                                                          | `preprod`                       |\n| `ADDITIONAL_TEMPLATES_FILE` | Path to an alternative `additional-templates.json` file. Supports `~`, absolute, and relative paths (relative to `uverify-ui`). Set this to load a custom template list without modifying the committed `additional-templates.json`. | `./additional-templates.json`   |\n\n#### Using `ADDITIONAL_TEMPLATES_FILE` locally\n\nAdd it to your `.env` to load a local templates file during development:\n\n```env\nADDITIONAL_TEMPLATES_FILE=../uverify-examples/sandbox/vin-additional-templates.json\n```\n\n#### Using `ADDITIONAL_TEMPLATES_FILE` in Docker\n\nPass it as a build argument so templates are baked in at image build time:\n\n```yaml\n# docker-compose.override.yml\nservices:\n  uverify-ui:\n    build:\n      args:\n        ADDITIONAL_TEMPLATES_FILE: ./my-additional-templates.json\n```\n\nThe corresponding `Dockerfile` must declare the arg and export it as an env var before running `npm run build`:\n\n```dockerfile\nARG ADDITIONAL_TEMPLATES_FILE=./additional-templates.json\nENV ADDITIONAL_TEMPLATES_FILE=${ADDITIONAL_TEMPLATES_FILE}\nRUN npm run build\n```\n\n## 🚀 Features\n\n- **Blockchain-Backed Notary Service**: Securely store file or text hashes on the Cardano blockchain for tamper-proof verification.\n- **Intuitive User Interface**: Simple and user-friendly design to streamline the notarization process.\n- **Customizable Metadata**: Add metadata to your hashes to enrich certificate details and personalize their appearance.\n- **Flexible Certificate Templates**: Tailor the look and feel of certificates using predefined or custom templates.\n- **Web3 Partnership System**: Contribute new templates or restrict access to specific templates for your users.\n- **External Custom UI Templates**: Integrate private or external templates from separate repositories for enhanced flexibility.\n\n## 🛠️ Key Configuration Options\n\n### `uverify_template_id`\nUse the `uverify_template_id` metadata field to customize the appearance of your certificates. This field allows you to select or define a template that matches your branding or use case.\n\n### Creating Custom Templates\nYou can create and contribute new certificate templates or restrict them to specific users via the **Web3 Partnership System**. Follow these steps to get started:\n\n1. **Generate a Template**:\n   Use the UVerify CLI tool to initialize a new template:\n   ```zsh\n   npx @uverify/cli init my-template\n   ```\n2. **Customize the Template**:\n   Modify the `Certificate.tsx` file in the generated template to suit your needs.\n3. **Register the Template**:\n   Add an entry to `additional-templates.json` in the project root.\n\n#### `additional-templates.json`\n\nThis file is the primary way to register additional certificate templates. It is read at build time by `config.js` and supports two entry types.\n\n**Local file** — a template located relative to the `uverify-ui` directory:\n\n```json\n[\n  {\n    \"type\": \"file\",\n    \"name\": \"MyCertificate\",\n    \"path\": \"../path/to/my-template/src/Certificate.tsx\"\n  }\n]\n```\n\n**External repository** — a template fetched from a git repository at a pinned commit (cloned into `.template-cache/` during the build):\n\n```json\n[\n  {\n    \"type\": \"repository\",\n    \"name\": \"PartnerTemplate\",\n    \"url\": \"https://github.com/some-org/partner-template\",\n    \"commit\": \"a3f1c2d4e5b6...\",\n    \"path\": \"src/Certificate.tsx\"\n  }\n]\n```\n\n\u003e **Security note**: The `commit` field pins the exact revision that will be used. This makes external templates fully auditable and prevents unexpected upstream changes from affecting your build. To update an external template, change the `commit` hash and open a pull request for review.\n\n`additional-templates.json` is committed to this repository. To have your template included in the standard deployment at [app.uverify.io](https://app.uverify.io), open a pull request adding a `repository` entry. All proposed templates undergo a security review before being merged.\n\nFor detailed instructions on creating and managing templates, visit the [uverify-ui-template repository](https://github.com/UVerify-io/uverify-ui-template).\n\n## 💙 Contributing\n\nWe welcome all contributions! Please read our [Contributing Guidelines](CONTRIBUTING.md) before getting started.\n\n### Important Notes:\n\n- Use **semantic commits** for all contributions.\n- Sign the **Contributor License Agreement (CLA)** before committing. You can review the CLA [here](./CLA.md) and sign it via **[CLA Assistant](https://cla-assistant.io/)**. The CLA bot will guide you through the process when you open a pull request.\n- For feature requests or tasks, please open an issue first to align with the project goals.\n\n## 📚 Additional Documents\n\n- [Code of Conduct](CODE_OF_CONDUCT.md)\n- [Security](SECURITY.md)\n- [Contributor License Agreement (CLA)](./CLA.md)\n\n## 📜 License\n\nThis project is licensed under the **AGPL**. If this license does not match your use case, feel free to reach out to us at **[hello@uverify.io](mailto:hello@uverify.io)** to discuss alternative licensing options.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuverify-io%2Fuverify-ui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fuverify-io%2Fuverify-ui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuverify-io%2Fuverify-ui/lists"}