{"id":22942021,"url":"https://github.com/async3619/turborepo-electron-starter","last_synced_at":"2025-10-12T20:44:57.142Z","repository":{"id":188290482,"uuid":"678460633","full_name":"async3619/turborepo-electron-starter","owner":"async3619","description":"code pieces that allows you to build an electron app through turborepo","archived":false,"fork":false,"pushed_at":"2024-11-01T15:45:18.000Z","size":1006,"stargazers_count":5,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-09T08:56:56.085Z","etag":null,"topics":["boilerplate","electron","graphql","react","turborepo","typescript","vite"],"latest_commit_sha":null,"homepage":"","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/async3619.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}},"created_at":"2023-08-14T15:53:33.000Z","updated_at":"2025-05-31T12:33:06.000Z","dependencies_parsed_at":"2023-08-14T19:25:16.853Z","dependency_job_id":null,"html_url":"https://github.com/async3619/turborepo-electron-starter","commit_stats":null,"previous_names":["async3619/turborepo-electron-starter"],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/async3619/turborepo-electron-starter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/async3619%2Fturborepo-electron-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/async3619%2Fturborepo-electron-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/async3619%2Fturborepo-electron-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/async3619%2Fturborepo-electron-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/async3619","download_url":"https://codeload.github.com/async3619/turborepo-electron-starter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/async3619%2Fturborepo-electron-starter/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269706714,"owners_count":24462221,"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","status":"online","status_checked_at":"2025-08-10T02:00:08.965Z","response_time":71,"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":["boilerplate","electron","graphql","react","turborepo","typescript","vite"],"created_at":"2024-12-14T13:46:21.720Z","updated_at":"2025-10-12T20:44:57.073Z","avatar_url":"https://github.com/async3619.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ⚡ Turborepo Electron Starter\n\nThis is a boilerplate project that allows you to build an electron app through [turborepo](https://turbo.build/repo).\n\n## 📚 Used Libraries\n\n- [Electron](https://www.electronjs.org/)\n- [React](https://reactjs.org/)\n- [Vite](https://vitejs.dev/)\n- [NestJS](https://nestjs.com/)\n- [TypeScript](https://www.typescriptlang.org/)\n- [ESLint](https://eslint.org/)\n- [Prettier](https://prettier.io/)\n- [GraphQL](https://graphql.org/)\n- [Apollo](https://www.apollographql.com/)\n\n## 🦁 NestJS as Main Process\n\nThis project uses [NestJS](https://nestjs.com/) as the main process. NestJS is a great framework for building\nserver-side applications with TypeScript. It has a great dependency injection system and a great module system that\nallows you to easily build a modular application. so now you will not get headache with writing code for main process\nlogics and managing its lifecycle anymore.\n\n## 📡 IPC over GraphQL\n\nHave you ever written code for IPC between the main process and the renderer process? if so, you may have experienced\nproblems such as lack of type safety, and testability. since there is literally no way to ensure that the arguments and\nreturn values of the IPC commands are correct.\n\nso this project uses GraphQL for IPC between the main process and the renderer process. with this approach, you can easily\ncall a command from the renderer process to the main process with strongly typed arguments and return values.\n\nand this project will not expose the GraphQL server to the outside world. it will only be used for IPC between the main\nprocess and the renderer process. this can achieve the same level of security as IPC using `ipcRenderer` and `ipcMain`.\n\n## 🌳 Project Structure\n\n```\n├── apps\n│   ├── electron # \u003c- this will package and build, and run the electron app\n│   ├── main # \u003c- electron main process source codes\n│   └── renderer # \u003c- renderer web app source codes\n├── packages\n│   ├── eslint-config-custom # \u003c- shared eslint config\n│   ├── tsconfig # \u003c- shared tsconfig\n│   ├── types # \u003c- common types for the whole project\n│   └── ui # \u003c- shared ui components\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasync3619%2Fturborepo-electron-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fasync3619%2Fturborepo-electron-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasync3619%2Fturborepo-electron-starter/lists"}