{"id":21244430,"url":"https://github.com/unyt-org/uix-template-hello-uix","last_synced_at":"2025-07-10T21:30:46.436Z","repository":{"id":155040141,"uuid":"627502981","full_name":"unyt-org/uix-template-hello-uix","owner":"unyt-org","description":"UIX Base Project Template","archived":false,"fork":false,"pushed_at":"2025-03-21T19:07:42.000Z","size":303,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-26T18:03:54.403Z","etag":null,"topics":["base","uix","uix-example","unyt"],"latest_commit_sha":null,"homepage":"https://uix.unyt.org/templates","language":"TypeScript","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/unyt-org.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},"funding":{"github":["unyt-org"],"patreon":"unyt","custom":["https://unyt.org/donate"]}},"created_at":"2023-04-13T15:46:37.000Z","updated_at":"2025-03-21T19:07:45.000Z","dependencies_parsed_at":"2023-10-22T05:34:12.328Z","dependency_job_id":"94cafc9b-23cc-4270-8150-f125a547cb67","html_url":"https://github.com/unyt-org/uix-template-hello-uix","commit_stats":null,"previous_names":["unyt-org/uix-template-hello-uix","unyt-org/uix-base-project"],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/unyt-org/uix-template-hello-uix","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unyt-org%2Fuix-template-hello-uix","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unyt-org%2Fuix-template-hello-uix/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unyt-org%2Fuix-template-hello-uix/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unyt-org%2Fuix-template-hello-uix/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/unyt-org","download_url":"https://codeload.github.com/unyt-org/uix-template-hello-uix/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unyt-org%2Fuix-template-hello-uix/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264666021,"owners_count":23646570,"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":["base","uix","uix-example","unyt"],"created_at":"2024-11-21T01:25:23.846Z","updated_at":"2025-07-10T21:30:46.431Z","avatar_url":"https://github.com/unyt-org.png","language":"TypeScript","funding_links":["https://github.com/sponsors/unyt-org","https://patreon.com/unyt","https://unyt.org/donate"],"categories":[],"sub_categories":[],"readme":"# UIX Template: Hello UIX\n\nThis repository offers a simple setup for running your first\n[UIX](https://github.com/unyt-org/uix) application that integrates both frontend\nand backend rendered content. Indeed - it is our equivalent to the famous\n_Hello, World!_ program.\n\n\u003cimg src=\".github/res/welcome-banner.png\"\u003e\n\nFor more information, make sure to check out our\n[UIX Documentation](https://docs.unyt.org/manual/uix/getting-started).\n\n## Getting Started\n\nMake sure to install [UIX](https://docs.unyt.org/manual/uix/getting-started) and\n[git](https://git-scm.com/downloads) in order for the app to run.\n\n\u003cunyt-tabs\u003e\n\u003cunyt-tab label=\"macOS\" default\u003e\n\n```sh\ncurl -fsSL https://unyt.land/install.sh | bash\n```\n\n\u003c/unyt-tab\u003e\n\u003cunyt-tab label=\"Windows\"\u003e\n\n```powershell\nirm https://unyt.land/install.ps1 | iex\n```\n\n\u003c/unyt-tab\u003e\n\u003cunyt-tab label=\"Linux\"\u003e\n\n```sh\ncurl -fsSL https://unyt.land/install.sh | bash\n```\n\n\u003c/unyt-tab\u003e\n\u003c/unyt-tabs\u003e\n\n## Running the App\n\nLet’s launch your first app — our very own _Hello, UIX_ moment:\n\n```bash\nuix --init MyFirstApp\n```\n\nWhen running the `uix --init` command, UIX will automatically clone this\nrepository and launch the demo application.\n\n_Looks too easy? But really - that is all it takes!_\n\n## Project Structure\n\n### Directories\n\nThe source code is split into three directories:\n\n- The `backend` directory contains the backend logic that runs on\n  [Deno](https://deno.com/).\n- The `frontend` directory contains the code for the frontend clients (running\n  in the web browser).\n- The `common` directory contains common modules that can be initialized both in\n  the browser and in the deno backend - they can be imported from modules in the\n  `backend` and `frontend` directory.\n\nThe default export of the `backend/entrypoint.ts` and `frontend/entrypoint.ts`\ndetermine what content gets displayed when visiting your app in the browser.\n\nThe directory names (`backend`, `frontend`, `common`) are important to tell UIX\nwhich code runs in which context. These names can also be changed in the\n[`app.dx` config file](https://docs.unyt.org/manual/uix/configuration#the-appdx-file).\n\n### Configuration\n\nThe `app.dx` configuration file is required for a UIX app to run. It needs to\ncontain at least the app name. The `app.dx` has to be placed next to the app\ndirectories (`frontend`, `backend` and `common`).\n\n### Cross realm imports\n\nFrontend and common modules can import exported values from backend modules. In\nthe background, special interface module files are generated, making sure that\nthe backend source code is never exposed to the frontend endpoints.\n\nAccess to these exports can be limited by setting DATEX permission filters.\n\n## Development\n\nCompiling or bundling your TypeScript or JSX files is not required. The project\ncan be deployed as is. There is a devcontainer setup, running the latest Deno\nversion.\n\nWith the `--live` option, frontend browser tabs are automatically reloaded when\na file has changed, which is useful for development, but should not be used in\nproduction.\n\nThis command starts the backend endpoint and also exposes a web server on port\n80 or another available port.\n\n---\n\n\u003csub\u003e\u0026copy; unyt 2025 • [unyt.org](https://unyt.org)\u003c/sub\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funyt-org%2Fuix-template-hello-uix","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Funyt-org%2Fuix-template-hello-uix","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funyt-org%2Fuix-template-hello-uix/lists"}