{"id":27944047,"url":"https://github.com/ar-to/html-forms","last_synced_at":"2026-04-20T09:05:23.560Z","repository":{"id":118376227,"uuid":"100568528","full_name":"ar-to/html-forms","owner":"ar-to","description":"Tests using forms, inputs and server side handlers via nodejs, express, and more.","archived":false,"fork":false,"pushed_at":"2017-09-25T02:58:28.000Z","size":151,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-07T12:43:21.063Z","etag":null,"topics":["body-parser","browser-sync","browserify","css3","expressjs","html-form","html5","nodejs","nodejs-server","nodemon","watchify"],"latest_commit_sha":null,"homepage":null,"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/ar-to.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":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2017-08-17T06:18:02.000Z","updated_at":"2017-08-20T01:40:07.000Z","dependencies_parsed_at":null,"dependency_job_id":"5f2abd4d-c2e9-4d4a-bd2f-07b226964460","html_url":"https://github.com/ar-to/html-forms","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ar-to/html-forms","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ar-to%2Fhtml-forms","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ar-to%2Fhtml-forms/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ar-to%2Fhtml-forms/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ar-to%2Fhtml-forms/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ar-to","download_url":"https://codeload.github.com/ar-to/html-forms/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ar-to%2Fhtml-forms/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32040364,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T00:18:06.643Z","status":"online","status_checked_at":"2026-04-20T02:00:06.527Z","response_time":94,"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":["body-parser","browser-sync","browserify","css3","expressjs","html-form","html5","nodejs","nodejs-server","nodemon","watchify"],"created_at":"2025-05-07T12:21:17.742Z","updated_at":"2026-04-20T09:05:23.555Z","avatar_url":"https://github.com/ar-to.png","language":"JavaScript","readme":"# html-forms\nTests using forms, inputs and server side handlers via nodejs, express, and more.\n\n## Instructions\n\nmake sure you have a current version of node installed\n\nclone git repository and move into directory\n\n```\ngit clone https://github.com/ar-to/html-forms.git\ncd html-forms\n```\n\ninstall dependencies\n\n`npm i`\n\nstart server\n\n`npm start` or `node server.js`\n\ntest forms\n\ntest [localStorage API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API/Using_the_Web_Storage_API) by checking the dev tools.\n\n## Development\n\nIf you want to experiment with the code and make new forms or changes to the existing forms then follow the notes below. You will notice that I did not use a task runner like gulp/grunt because I wanted to test how all of these tools would work independently but also because I tend to run them globally when I'm making test projects like these.\n\nThis project uses:\n\n[nodemon](https://github.com/remy/nodemon#nodemon) - to reload server when file are changed\n\n[browser-sync](https://www.browsersync.io/docs) - to reload browser when files are changed. When you run browser-sync it will give you the option to use your computer loop IP called locahost or your local network IP so you can see it in any computer or device connected to the same internet.\n\n[browserify](http://browserify.org) - to bundle the javascript modules inside `www/js/`\n\n[watchify](https://github.com/substack/watchify) - to watch for file changes and rebuild the bundle.js.\n\n\nInstall browserify, watchify, nodemon and browser-sync\n\n`npm i --save-dev browserify watchify nodemon browser-sync`\n\nto watch for changes in your files and restart server, open terminal and run\n\n`npm run nodemon`\n\nto watch changes in inside public directory `./www` and serve them to reload browser, open new terminal window and run\n\n`npm run browser-sync`\n\nto create bundle.js once, open new terminal window and run\n\n`npm run browserify`\n\nor to watch for changes inside main.js and re-bundle\n\n`npm run watchify`\n\n## Future Features\n\n1. Use cookies to save form data within browser\n2. Use built-in browser database to store data\n3. Get emails to work\n4. Setup foreman to automate all the npm scripts at once\n\n## Resources\n\n* [Form Basics](https://developer.mozilla.org/en-US/docs/Learn/HTML/Forms/Your_first_HTML_form)\n\n* [form widgets](https://developer.mozilla.org/en-US/docs/Learn/HTML/Forms/The_native_form_widgets)\n\n* [Sending data- server side](https://developer.mozilla.org/en-US/docs/Learn/HTML/Forms/Sending_and_retrieving_form_data)\n\n* [using cookies with forms](http://www.the-art-of-web.com/javascript/setcookie/)\n\n* [Forms with NodeJS](https://www.sitepoint.com/creating-and-handling-forms-in-node-js/)\n\n* [Forms with NodeJS and Express](https://www.gitbook.com/book/kevinchisholm/handling-post-requests-with-express-and-node-js/details)\n\n  * [express body-parser](https://github.com/expressjs/body-parser/)\n\n* [Fetch API](https://developer.mozilla.org/en-US/docs/AJAX)\n\n* [ReactJS forms](https://facebook.github.io/react/docs/forms.html)\n\n### Sending emails\n\nI tested this using nodemailer but could not get gmail to work so need to test mailgun then google again some time.\n\n* [nodemailer](https://nodemailer.com/about/)\n\n* [nodemailer example with express](https://blog.ragingflame.co.za/2012/6/28/simple-form-handling-with-express-and-nodemailer)\n\n* [mailgun](http://blog.mailgun.com/how-to-send-transactional-emails-in-a-nodejs-app-using-the-mailgun-api/)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Far-to%2Fhtml-forms","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Far-to%2Fhtml-forms","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Far-to%2Fhtml-forms/lists"}