{"id":19378740,"url":"https://github.com/dynamods/dynamohome","last_synced_at":"2025-04-23T19:32:25.766Z","repository":{"id":222092265,"uuid":"756235482","full_name":"DynamoDS/DynamoHome","owner":"DynamoDS","description":"A react-based app to serve for Dynamo landing page. ","archived":false,"fork":false,"pushed_at":"2024-09-13T14:50:09.000Z","size":398,"stargazers_count":0,"open_issues_count":0,"forks_count":6,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-09-17T13:20:12.618Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/DynamoDS.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":"2024-02-12T08:57:29.000Z","updated_at":"2024-09-13T14:49:48.000Z","dependencies_parsed_at":"2024-02-14T05:23:33.907Z","dependency_job_id":"79b5fbb6-35bb-4b2f-959f-5bba3fa27035","html_url":"https://github.com/DynamoDS/DynamoHome","commit_stats":null,"previous_names":["dnenov/dynamo-landing-page","dnenov/dynamohomepage","dynamods/dynamohome"],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DynamoDS%2FDynamoHome","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DynamoDS%2FDynamoHome/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DynamoDS%2FDynamoHome/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DynamoDS%2FDynamoHome/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DynamoDS","download_url":"https://codeload.github.com/DynamoDS/DynamoHome/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223932116,"owners_count":17227277,"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-10T09:07:00.854Z","updated_at":"2024-11-10T09:07:01.374Z","avatar_url":"https://github.com/DynamoDS.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DynamoHome\n\n[![License](https://img.shields.io/npm/l/@dynamods/dynamo-home)](https://github.com/DynamoDS/DynamoHome/blob/master/LICENSE)\n[![version](https://img.shields.io/npm/v/@dynamods/dynamo-home?logo=npm\u0026label=version)](https://www.npmjs.com/package/@dynamods/dynamo-home)\n[![Build](https://github.com/DynamoDS/DynamoHome/actions/workflows/build.yml/badge.svg)](https://github.com/DynamoDS/DynamoHome/actions/workflows/build.yml)\n[![Publish](https://github.com/DynamoDS/DynamoHome/actions/workflows/npm-publish.yml/badge.svg)](https://github.com/DynamoDS/DynamoHome/actions/workflows/npm-publish.yml)\n\nA react-based app to serve as Dynamo landing page.\nThis application is specific to Dynamo and utilizes several specific endpoints to work as intended.\n\n## Introduction\n\n### Layout\n\nThe sidebar contains links to the 3 main modules:\n\n- `Recent` - lists of recently opened files (the number of recent files can be changed by the user in Dynamo preferences window)\n- `Samples` - lists Sample files. e.g \"%ProgramData%\\Autodesk\\RVT 2025\\Samples\"\n- `Learning` - a one-stop-shop for Dynamo learning resources\n\n#### Recent module\n\n![recent](https://github.com/dnenov/DynamoHomePage/assets/5354594/d47687b6-dd91-46eb-a9a3-f97eb44a7ddb)\n\n#### Samples module\n\n![samples](https://github.com/dnenov/DynamoHomePage/assets/5354594/21279b42-3a55-4f22-8872-e084035598ba)\n\n#### Learning module\n\n![learning](https://github.com/dnenov/DynamoHomePage/assets/5354594/c4cc53c7-8d3d-4d16-bd82-19530169c313)\n\n## Development\n\n### Requirements\n\n- [git](https://git-scm.com/)\n- [Node.js](https://nodejs.org/)\n\n### Install\n\n```shell\ngit clone https://github.com/DynamoDS/DynamoHome.git\ncd DynamoHome\nnpm install --force\n```\n\n### Running the project\n\n```shell\nnpm start\n```\n\n### Build for development\n\n```shell\nnpm run build\n```\n\n### Create a distribution bundle\n\n```shell\nnpm run bundle\n```\n\n### Lint\n\nWe use [ESlint](https://eslint.org/) to analyze and find problems. It has [integrations](https://eslint.org/docs/latest/user-guide/integrations) for various editors and other tools.\n\n```shell\nnpm run lint:check  # To find problems\nnpm run lint:fix    # To fix problems\n```\n\n### Test\n\nWe use [jest](https://jestjs.io/) and [playwright](https://playwright.dev/) to run our tests.\n\n```shell\nnpm run test:unit   # To run unit test\nnpm run test:e2e    # To run e2e test\nnpm run test        # To runs all tests\n```\n\n### Bump Version\n\n```shell\nnpm run version:patch   # To bump patch version\n```\n\n### Localization\n\nLocalization is done via [`react-intl`](https://www.npmjs.com/package/react-intl) library. The current setup relies on the combination of these 2 elements:\n\n- localization files stored inside the [`src/locales`](src/locales) folder (add as many localization files as needed)\n- adding new locales to the switch statement inside the [`src/localization/localization.js`](src/localization/localization.js) file:\n\n```javascript\nexport const getMessagesForLocale = (locale) =\u003e {\n  switch(locale) {\n    case 'en':\n      return EnglishMessages;\n    default:\n      return EnglishMessages;\n  }\n}\n```\n\n### 3rd party libraries and dependencies\n\nThe use of 3rd party libraries was kept to the bare minimum, where developing native elements would have resulted in exceptional time overhead.\n\n- [`react-intl`](https://www.npmjs.com/package/react-intl) - library used for localization\n- [`react-split-pane`](https://www.npmjs.com/package/react-split-pane) - allows resizable (draggable) panel (used in the SidePanel)\n- [`react-table`](https://www.npmjs.com/package/react-table) - a lightweight headless react table\n\n### Generate Third Party License Info\n\n- To generate about box html files use `npm run license`, this will output alternative about box files to [license_output](license_output). One will contain the full transitive production dep list, the other will contain the direct production deps.\n- These files will be packed into the released npm package\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdynamods%2Fdynamohome","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdynamods%2Fdynamohome","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdynamods%2Fdynamohome/lists"}