{"id":26178486,"url":"https://github.com/typeonce-dev/effect-react-19-project-template","last_synced_at":"2025-10-14T17:48:01.901Z","repository":{"id":281784274,"uuid":"860008682","full_name":"typeonce-dev/effect-react-19-project-template","owner":"typeonce-dev","description":"Learn how to organize Effect services, layers, and runtime to execute both client and server code in React 19","archived":false,"fork":false,"pushed_at":"2025-09-19T12:28:16.000Z","size":137,"stargazers_count":26,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-09-19T14:41:48.203Z","etag":null,"topics":["effect","effect-ts","react-19","server-actions","server-components","waku","waku-react"],"latest_commit_sha":null,"homepage":"https://www.typeonce.dev/course/effect-react-19-project-template","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/typeonce-dev.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":"2024-09-19T16:52:06.000Z","updated_at":"2025-09-19T12:28:19.000Z","dependencies_parsed_at":"2025-03-11T06:35:00.840Z","dependency_job_id":null,"html_url":"https://github.com/typeonce-dev/effect-react-19-project-template","commit_stats":null,"previous_names":["typeonce-dev/effect-react-19-project-template"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/typeonce-dev/effect-react-19-project-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/typeonce-dev%2Feffect-react-19-project-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/typeonce-dev%2Feffect-react-19-project-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/typeonce-dev%2Feffect-react-19-project-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/typeonce-dev%2Feffect-react-19-project-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/typeonce-dev","download_url":"https://codeload.github.com/typeonce-dev/effect-react-19-project-template/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/typeonce-dev%2Feffect-react-19-project-template/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279020043,"owners_count":26086806,"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-10-14T02:00:06.444Z","response_time":60,"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":["effect","effect-ts","react-19","server-actions","server-components","waku","waku-react"],"created_at":"2025-03-11T21:28:53.261Z","updated_at":"2025-10-14T17:48:01.878Z","avatar_url":"https://github.com/typeonce-dev.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Effect with React 19: Project Template\nThis repository contains all the code for the project [`Effect with React 19: Project Template`](https://www.typeonce.dev/course/effect-react-19-project-template).\n\nThe app is implemented using typescript. You can get started by forking/cloning the repository and installing the dependencies:\n\n```sh\npnpm install\n```\n\n***\n\n## Project content\nReact 19 brings the server closer to the client with feature like server components and server action. Organizing server code is different from the usual pattern of client-only projects.\n\nEffect allows to organize a **maintainable and testable codebase for both client and server**. It also makes it easier to distinguish between client and server code, as well as handling the boundary between the two.\n\nIn this project template, we will explore how to use Effect with React 19 and TypeScript.\n\nThe project uses a framework called [Waku](https://waku.gg/). Waku is a minimal framework that already includes most of the features from React 19, included server components and server actions.\n\nWaku is therefore ideal to showcase how to use Effect with React 19 with a minimal configuration, while still leveraging the full power of Effect.\n\n## Prerequisites\nIn this project I won't explain the details of services and layers in Effect. I suggest you to follow [Effect: Beginners Complete Getting Started](https://www.typeonce.dev/course/effect-beginners-complete-getting-started) to understand the basics of Effect.\n\nThe course will introduce the main new features in React 19, without going too deep into the technical details. Most of these features are already documented in the [official React documentation](https://react.dev/).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftypeonce-dev%2Feffect-react-19-project-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftypeonce-dev%2Feffect-react-19-project-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftypeonce-dev%2Feffect-react-19-project-template/lists"}