{"id":16487194,"url":"https://github.com/phalt/react-flask","last_synced_at":"2025-10-27T19:31:05.434Z","repository":{"id":166688015,"uuid":"622763602","full_name":"phalt/react-flask","owner":"phalt","description":"Fully typed Flask and React applications","archived":false,"fork":false,"pushed_at":"2023-07-25T22:46:01.000Z","size":5328,"stargazers_count":8,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-06T03:12:28.701Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://phalt.github.io/react-flask/","language":"Python","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/phalt.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-04-03T02:32:30.000Z","updated_at":"2024-03-16T15:07:49.000Z","dependencies_parsed_at":"2023-07-25T23:48:25.604Z","dependency_job_id":null,"html_url":"https://github.com/phalt/react-flask","commit_stats":null,"previous_names":["phalt/beckett-framework","beckett-software/beckett-framework","beckett-software/react-flask","phalt/react-flask"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phalt%2Freact-flask","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phalt%2Freact-flask/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phalt%2Freact-flask/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phalt%2Freact-flask/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/phalt","download_url":"https://codeload.github.com/phalt/react-flask/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238549537,"owners_count":19490828,"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-11T13:33:07.424Z","updated_at":"2025-10-27T19:31:04.789Z","avatar_url":"https://github.com/phalt.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 💫 React Flask (RF)\n\n### Fully typed Flask and React applications\n\n![maze](/docs/banner.jpg)\n\nWelcome to RF, a _strongly-linked_ Flask and React application template.\n\nRF combines a [Flask](https://flask.palletsprojects.com/en/2.3.x/) server, with a [React TypeScript](https://www.typescriptlang.org/docs/handbook/react.html) UI into a comprehensive full-stack framework for building modern web applications.\n\nRF features a sophisticated types manager that automatically synchronizes [Python Type hints](https://docs.python.org/3/library/typing.html) and [TypeScript interfaces](https://www.typescriptlang.org/docs/handbook/interfaces.html). This means that as you make changes to your API code in the server, RF diligently keeps the API Client up to date.\n\n## Built on popular tools\n\nWe use cutting edge Python tools including:\n\n* [Pydantic 2.0](https://docs.pydantic.dev/latest/)\n* [Flask 2.3](https://flask.palletsprojects.com/en/2.3.x/)\n\nAnd our TypeScript is modern too:\n\n* [Node 18.17.0](https://nodejs.org/en)\n* [React 18](https://react.dev/)\n* [TypeScript 5.1](https://www.typescriptlang.org/)\n\nBoth TypeScript and Python hold their positions as two of the [most widely used programming languages globally](https://www.statista.com/statistics/793628/worldwide-developer-survey-most-used-languages/). As a result, they are frequently combined in various projects.\n\nHowever, setting up a smooth and efficient development environment that integrates these languages can be a cumbersome and time-consuming process, often leading to a subpar developer experience. Thankfully, RF steps in to solve this challenge by through it's sophisticated types manager.\n\n## Type-safe productivity boost\n\nRF provides:\n\n* A types manager which keeps the API interface type-safe.\n* React: A collection of type-safe API hooks for querying the HTTP API.\n* React: No single page app, so bundled JS for the client loads faster.\n* Flask: A manager for generating new React pages without any manual effort.\n* Flask: View-based routing to reduce the bundle size of JS on page loads.\n\n## Currently in development\n\nBefore this becomes a fully fledged package, it exists as a decent template that can be forked when you start a new project and worked on from there.\n\n## Set up\n\nFork the code, then run the build and dev command to get started:\n\n```bash\ngit clone git@github.com:beckett-software/react-flask.git\ncd react-flask\nmake build\nmake dev\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphalt%2Freact-flask","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphalt%2Freact-flask","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphalt%2Freact-flask/lists"}