{"id":20563105,"url":"https://github.com/synmetrix/client-v2","last_synced_at":"2026-05-29T08:32:02.661Z","repository":{"id":177645473,"uuid":"639920021","full_name":"synmetrix/client-v2","owner":"synmetrix","description":"Synmetrix client","archived":false,"fork":false,"pushed_at":"2025-02-04T10:56:03.000Z","size":3523,"stargazers_count":0,"open_issues_count":5,"forks_count":5,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-12-01T14:33:59.454Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://synmetrix.org","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/synmetrix.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":"2023-05-12T14:24:49.000Z","updated_at":"2025-01-31T12:57:41.000Z","dependencies_parsed_at":null,"dependency_job_id":"a01e692e-ca87-4a17-a730-80962890ac2a","html_url":"https://github.com/synmetrix/client-v2","commit_stats":null,"previous_names":["mlcraft-io/client-v2","synmetrix/client-v2"],"tags_count":49,"template":false,"template_full_name":null,"purl":"pkg:github/synmetrix/client-v2","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/synmetrix%2Fclient-v2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/synmetrix%2Fclient-v2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/synmetrix%2Fclient-v2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/synmetrix%2Fclient-v2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/synmetrix","download_url":"https://codeload.github.com/synmetrix/client-v2/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/synmetrix%2Fclient-v2/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33644249,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-29T02:00:06.066Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":"2024-11-16T04:16:32.646Z","updated_at":"2026-05-29T08:32:02.640Z","avatar_url":"https://github.com/synmetrix.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\u003ca href=\"https://synmetrix.org\"\u003e\u003cimg src=\"https://github.com/mlcraft-io/client-v2/blob/master/src/assets/logo_with_text.png\" alt=\"Synmetrix\" width=\"300px\"\u003e\u003c/a\u003e\u003c/p\u003e\n\n# Synmetrix Client\n\nThis is a client-side of the Synmetrix project!\n\n## Requirements\n\nBefore using the client-side of the project, ensure that you have the following components installed:\n\n- **NodeJS:** Version 20.8.1 or higher.\n- **Synmetrix Backend:** Ensure the [Synmetrix backend](https://github.com/mlcraft-io/mlcraft/) is properly set up and running.\n\n## Installation\n\nTo install the client-side of the project, follow these steps:\n\n```bash\n# Clone the Synmetrix Client repository\ngit clone https://github.com/mlcraft-io/client-v2\n\n# Navigate to the project directory\ncd client-v2\n\n# Install required packages using Yarn\nyarn\n\n# Start the client-side application\nyarn start\n```\n\nAfter completing these steps, open your web browser and go to [](http://localhost:8000) to access the Synmetrix client.\n\n## Usage\n\nFor detailed guidance on utilizing the Synmetrix client and exploring its features, please consult the [Synmetrix Documentation](https://docs.synmetrix.org/).\n\n## Storybook Integration\n\nExplore the interactive UI components and functionalities of the Synmetrix client using Storybook. Storybook provides a convenient environment to showcase and test UI components in isolation.\n\nTo launch Storybook, use the following command:\n\n```bash\nyarn storybook\n```\nOnce the command is executed, navigate to [](http://localhost:6007)\n\n## Code Linting\n\nMaintain code consistency and quality in the Synmetrix client by implementing linting. Follow these steps to configure linting in Visual Studio Code (VS Code):\n\n### Requirements:\n\n- [ESLint Extension](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint)\n- [Prettier Extension](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode)\n\n### Configuration:\n\n1. Install ESLint and Prettier VS Code extensions.\n2. Open your VS Code settings (settings.json) and add the following configuration:\n```json\n{\n  \"eslint.enable\": true,\n  \"eslint.format.enable\": true,\n  \"editor.formatOnSave\": true\n}\n```\n\nThis configures VS Code to run ESLint and Prettier on file save.\n\n## Conventional Commits\n\nWe adhere to the Conventional Commits specification to ensure consistent and meaningful commit messages. The structure of our commits follows the pattern:\n\n```\n\u003ctype\u003e[optional scope]: \u003cdescription\u003e\n\n[optional body]\n\n[optional footer(s)]\n```\n\nFor a detailed understanding of Conventional Commits, refer to the [Conventional Commits specification](https://www.conventionalcommits.org/en/v1.0.0/).\n\n## Component Structure\n\nIn the Synmetrix project, components follow a consistent structure to enhance maintainability and organization. Each component typically consists of the following files:\n\n1. **index.tsx:**\n   The main file containing the component's implementation. This file includes the React component code.\n\n2. **index.module.less:**\n   A Less file containing the component's styles. Using module.less ensures that styles are scoped to the component and won't conflict with styles from other components.\n\n3. **index.stories.tsx:**\n   A file dedicated to Storybook stories for the component. Storybook stories help in visually testing and documenting the component's variations and use cases.\n\n4. **index.test.tsx:**\n   The file containing unit tests for the component using testing framework vitest. Writing tests ensures the reliability and correctness of the component's functionality.\n\nHere's an example directory structure for a component named `ExampleComponent`:\n\n```plaintext\n/src\n  /components\n    /ExampleComponent\n      index.tsx\n      index.module.less\n      index.stories.tsx\n      index.test.tsx\n```\n\n## Testing\n\nEnsure the reliability and correctness of the Synmetrix client by utilizing testing functionalities powered by Vitest. Vitest provides a robust testing framework to validate the behavior of your components and functionalities.\n\nTo run tests, use the following command:\n\n```bash\nyarn test\n```\n\nExecuting this command will initiate the testing suite, allowing you to assess the client's performance and functionality. Any detected issues or failures will be highlighted, providing valuable insights for debugging and maintaining code quality.\n\n## Build\n\nEfficiently build and package the Synmetrix client with the following commands:\n\n- **Build the Client:**\n  ```bash\n  yarn build\n  ```\n  This command utilizes Vite to build the Synmetrix client.\n\n- **Post-Build Tasks:**\n  ```bash\n  yarn postbuild\n  ```\n  After the build, this command creates compressed archives (\u003cb\u003edist.tar.gz\u003c/b\u003e and \u003cb\u003edist.zip\u003c/b\u003e) of the generated distribution files.\n\n- **Build Storybook:**\n  ```bash\n  yarn build-storybook\n  ```\n  Use this command to build the Storybook for the client.\n\n- **Serve the Built Client Locally:**\n  ```bash\n  yarn serve\n  ```\n  This command previews the built client locally using Vite.\n\nIncorporate these commands into your workflow to streamline the build process and prepare the Synmetrix client for deployment.\n\n  ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsynmetrix%2Fclient-v2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsynmetrix%2Fclient-v2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsynmetrix%2Fclient-v2/lists"}