{"id":19732976,"url":"https://github.com/adelpro/form2email","last_synced_at":"2025-06-11T21:07:13.868Z","repository":{"id":171047154,"uuid":"606433004","full_name":"adelpro/form2email","owner":"adelpro","description":null,"archived":false,"fork":false,"pushed_at":"2023-04-16T16:13:43.000Z","size":12,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-28T04:01:03.593Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/adelpro.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":"2023-02-25T13:33:40.000Z","updated_at":"2023-03-04T02:36:38.000Z","dependencies_parsed_at":null,"dependency_job_id":"678caa5d-7412-4a38-8b55-936ad1d58d7b","html_url":"https://github.com/adelpro/form2email","commit_stats":null,"previous_names":["adelpro/form2email"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/adelpro/form2email","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adelpro%2Fform2email","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adelpro%2Fform2email/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adelpro%2Fform2email/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adelpro%2Fform2email/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adelpro","download_url":"https://codeload.github.com/adelpro/form2email/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adelpro%2Fform2email/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259340705,"owners_count":22843036,"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-11-12T00:28:42.586Z","updated_at":"2025-06-11T21:07:13.851Z","avatar_url":"https://github.com/adelpro.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# form2email\n\n## How to Create a Feedback Form With Backend Using ReactJS, NodeMailer and Gmail\n\nIn this step by step tutorial we will create an application to manage feedbacks, from the back-end to the front-end using ReactJS for the front-end and NodeJS, Nodemailer and Gmail for the back-end.\n\n- We will build an application with a form where the user can write his name, email, and his feedback.\n\n- The form data will be sent to a NodeJS back-end application over an API.\n\n- Then the Data will be formatted to an HTML page, then resent to an Gmail account using Nodemailer.\n\n- To keep our code architecture clean, we will group each functionality in different file.\n\n- We will learn how to manage cors in separate file with a special configuration folder \"/config\".\n\n- We will manage validations in a different file: \"validations/feedback.js\".\n\n- All our functions related to the route \"/feedback\" will be managed in a separate file too: \"/controllers/feedbackController.js\".\n\n- A rate limiter (5 feedbacks / hour) will be used to block spams: \"/middlewares/rateLimiter.js\".\n\n- We will run our back-end in a Linux machine using pm2, this will allow us to restart if our application crash or the server reboot and keep a logs for different events.\n\nRead the article on medium: ...","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadelpro%2Fform2email","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadelpro%2Fform2email","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadelpro%2Fform2email/lists"}