Complex web forms built using a simple JSON syntax, with accompanying JS and PHP parsers.
Collecting information is a big part of why the internet exists, and forms are one of the most direct and well supported ways to get that done. Web forms can be simple 2 field affairs such as for logins, but as applications and systems grow they can become 30+ field monstrosities with branching logic, validation, and accessibility requirements. Coding all these considerations is hard, and the HTML and JavaScript surrounding the forms can grow increasingly complex, making it hard to find bugs and forcing you to reinvent the wheel every time. EJ forms are a simple human-readable JSON format with an accompanying JS expander that will convert the JSON into live HTML, JS, and CSS to handle everything for you.
This project was started as part of a survey system I built while working for EnggSoft at the University of Alberta. It became clear that a general form system would be incredibly useful in a number of places on the site and so I obtained permission to open source the code from my manager at the time Rick Patsula. Inspiration was drawn from
Ideally in the future it would be beneficial to create a JavaScript GUI form creator to help even more people make web forms. I'm also interested in turning this into a more portable web component, expanding the field and validation options, etc. Take a look at the issues and feel free to submit a PR.
This code is available under the MIT licence. Attribution and code contributions are appreciated.