{"id":16509357,"url":"https://github.com/gitjeff05/tosbur-web","last_synced_at":"2026-02-02T18:02:55.372Z","repository":{"id":70564527,"uuid":"419447091","full_name":"gitjeff05/tosbur-web","owner":"gitjeff05","description":"Tosbur web application built with Vue and Vite","archived":false,"fork":false,"pushed_at":"2021-10-22T15:54:35.000Z","size":107,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-02T06:14:14.655Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Vue","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/gitjeff05.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":"2021-10-20T18:31:38.000Z","updated_at":"2021-10-27T00:07:04.000Z","dependencies_parsed_at":"2023-03-05T12:45:44.147Z","dependency_job_id":null,"html_url":"https://github.com/gitjeff05/tosbur-web","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/gitjeff05/tosbur-web","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitjeff05%2Ftosbur-web","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitjeff05%2Ftosbur-web/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitjeff05%2Ftosbur-web/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitjeff05%2Ftosbur-web/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gitjeff05","download_url":"https://codeload.github.com/gitjeff05/tosbur-web/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitjeff05%2Ftosbur-web/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261395956,"owners_count":23152439,"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-10-11T15:50:12.559Z","updated_at":"2026-02-02T18:02:55.319Z","avatar_url":"https://github.com/gitjeff05.png","language":"Vue","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Tosbur Web Application\n\nThe source code for the web application that powers Tosbur. The output of this application is consumed by the desktop application. This repository captures all of the state, styles and component behavior of the web application.\n\nThe desktop application loads this web app in its own render process through Electron's `BrowserWindow` module.\n\n## Separation of web application and Electon Builder.\n\nThere are community boilerplate solutions that integrate electron-builder and a web application in a single project. While there may be some advantages to community solutions, there are downsides in maintainability (e.g, [the \"recommended\" boilerplate](https://www.electron.build/#boilerplates) uses [electron-webpack](https://github.com/electron-userland/electron-webpack#electron-webpack--), which is in maintenance mode, seeking a maintainer and recommends a [Vite-based solution](https://github.com/cawa-93/vite-electron-builder) instead). Another downside is that they can create unnecessary complexity.\n\nWe do not need complex setups for this to work well. Any tool that can build a web application will work. Vite is a good choice for its speed, simplicity and bundling features. We can develop this application separately, and mock the `window.tosbur` function calls. Mocks should be done anyway as a means of testing components and application behavior.\n\n## How was this application created?\n\n```bash\npnpx create-vite tosbur-web --template vue\n```\n\n### Running standalone app\n\n```bash\npnpm dev\n```\n\n### Running in staging mode\n\nThis is meant to be run inside of the tosbur-vue electron app with `yarn electron:serve`\n\n```bash\npnpm stage\n```\n\n### Build\n\n```bash\npnpm build\n```\n\n## How is this application imported into the Main application?\n\n```javascript\n// Main electron process (background.js)\n\nwin = new BrowserWindow({\n    webPreferences: {\n        preload: preloadPath,\n    },\n});\n\n// ...\n\nif (process.env.WEBPACK_DEV_SERVER_URL) {\n    // Load the url of the dev server if in development mode\n    await win.loadURL(process.env.WEBPACK_DEV_SERVER_URL);\n} else {\n    createProtocol('app');\n    // Load the index.html when not in development\n    win.loadURL('app://./index.html');\n}\n```\n\n# Resources\n\n## Icons\n\n[Iconify clarity](https://icon-sets.iconify.design/clarity/container-volume-line/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgitjeff05%2Ftosbur-web","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgitjeff05%2Ftosbur-web","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgitjeff05%2Ftosbur-web/lists"}