{"id":17800352,"url":"https://github.com/andismith/react-lambda-forms","last_synced_at":"2025-07-20T09:40:19.902Z","repository":{"id":146417551,"uuid":"206655610","full_name":"andismith/react-lambda-forms","owner":"andismith","description":"React Forms with Hooks connected to Serverless NodeJS sharing the same field config and validation rules - all in a nice monorepo","archived":false,"fork":false,"pushed_at":"2019-09-08T22:17:16.000Z","size":1377,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-07T18:53:28.450Z","etag":null,"topics":["lambda","nodejs","react","react-hooks","serverless"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andismith.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-09-05T20:53:42.000Z","updated_at":"2019-09-08T22:20:33.000Z","dependencies_parsed_at":null,"dependency_job_id":"89d23298-5f39-4d4e-8845-3f78f5836883","html_url":"https://github.com/andismith/react-lambda-forms","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andismith%2Freact-lambda-forms","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andismith%2Freact-lambda-forms/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andismith%2Freact-lambda-forms/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andismith%2Freact-lambda-forms/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andismith","download_url":"https://codeload.github.com/andismith/react-lambda-forms/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246752652,"owners_count":20827987,"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":["lambda","nodejs","react","react-hooks","serverless"],"created_at":"2024-10-27T12:20:11.013Z","updated_at":"2025-04-02T04:13:08.304Z","avatar_url":"https://github.com/andismith.png","language":"JavaScript","readme":"# React Lambda Forms\n\nBuilding forms can be a pain. First you have to build the actual form fields; then the buttons; then handle the state of the form; handle the submission; write validation on the client and then write more validation on the server.\n\nThis repository shows you how you can build forms with a [simple configuration file](packages/shared/config/contact.js), and use the same configuration file and validation code on both the client and the server side.\n\nOn the client side, we're using React Hooks to manage the state of the form; while on the server side we're using a NodeJS Lambda; all packed in to a tidy monorepo.\n\nI hope this helps you to make your forms less painful.\n\n## Tech Stack\n\n* React (+ Hooks)\n* ES6 (Babel)\n* NodeJS\n* Serverless (Lambda)\n* SCSS modules\n* Jest\n* Webpack\n\n## Getting Started\n\nTo start, you'll need to have the following software installed:\n\n- [Node.js](https://nodejs.org) (v10.x for Lambda support)\n- [Yarn](https://yarnpkg.com) package manager\n- [Serverless](https://serverless.com/) framework - `yarn global add serverless`\n\n`yarn install` once from the root and yarn will install the required node_modules for every package.\n\n### API\n\nTo run the API, navigate to the `packages/api` directory and run the following:\n\n- `sls offline` to run the Lambda offline\n\n### Client\n\nTo run the client, navigate to the `packages/client` directory and run the following:\n\n- `yarn start` to start a local server, it'll launch the site so you can start to play around\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandismith%2Freact-lambda-forms","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandismith%2Freact-lambda-forms","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandismith%2Freact-lambda-forms/lists"}