Skip to content

Build Web UI / RIA applications fast with less effort using Metadata rather than code.

License

Notifications You must be signed in to change notification settings

joeatbayes/metadata-forms-gui

Repository files navigation

Meta data driven forms GUI for REST servicesfrigate forms logo

Status: Alpha-Dev - Ready to use in projects but some features may need enhancements.

Live demo for FDA Certificates, Dental Claims, Dental Providers, etc. *The Demos are highly responsive, Try them on both desktop and mobile devices.*on github pages.

Metadata based forms based GUI for CRUD operations. Provide a Meta data based system to rapidly deliver highly functional user interfaces. It supports editing, viewing and updating data in HTML with REST based backend services. It can dramatically reduce the Labor required to build and maintain a custom GUI while retaining sufficient flexibility to deliver a branded, customized and efficient user experience.

Please file a Issue to request enhancements. You can also reach me on Linked-in Contact main Git Repo URI: metadata-forms-gui

Sample Screen

Certificate of Need

Sample Screen for FDA Project Certificate Of Need

Live Version metadata source html source

Dental Claim Form

dental Claim Form Live Version metadata source html source

Graphical Left Navigation

sample graphical left nav

metadata source

Simple Form

Simple Form

Live Version metadata source html source

Simple Form Demonstrating field level Validation

field level validation

metadata source

Getting Started

Files

Documentation

Directories

  • data - Contains most data used to drive the demonstration forms. Also contains forms definition
  • cneed.txt - contains the sample form and widgets needed to display the certificate of need.
  • data/cert-of-need - Contains sample data for different certificate of need to provide a live editing experience. This data was download from a US government site.
  • data/widgets - different pre-defined widgets that can be re-used across forms.
  • http-server
  • docs - root directory for the [github pages site] for this repository. Some forms can be tested directly on this site. Files are copied into this directory to prepare publishing a new version of the site by update-gitpages.sh
  • docs/documentation - design notes, usage documentation, actions, roadmap, etc that I did not want to keep in the main directory.
  • http-docs All static html, javascript, css and forms files expected to be served by the web server. Data specific things like sample certificates are not in this directory.
  • http-docs/mforms
  • http-docs/mforms/js
  • http-docs/mforms/css
  • http-docs/mforms/js

Main mForms Implementation

HTTP Server

  • Demo Note: Gitpages where we host the live demo only allows form display and will not accept updates. If you wish to demonstrate saving data via REST calls then a server capable of processing PUT and POST commands must be available. See: httpServer
  • httpServer.exe A basic HTTP server to allow local testing of forms and data retrieval logic. Implemented in httpServer.go It maps "/data" to the data directory at ../data and URI "/" is mapped that is expected to contain the main html and javascript is mapped to ../http-docs. All mapping is relative to current directory where executable is ran so it expects the executable to be ran from inside of "http-docs" All examples are written to expect these to be mapped. This server can be replaced with an appropriate configured http server provided it supports the correct mapping for /data and /http-docs. The exe extension is only present in windows. For MAC and linux it is a executable file of same name without the extension.

Test Files

  • mforms_parse_test.js - Tests the YAML like parser with sample test test data in node.js run using node.js locally but is also used by the mforms_parse_test.html to test in browser.
  • mforms_parse_test.html - May be loaded directly in chrome but most tests are ran in the browser via httpServer.

Support Files

  • update-gitpages.sh - Copies selected code and data to the /docs directory where it can be published to the gitpages site for this repository. This is needed to supply a basically working GUI with working forms without requiring any installation or downloading. Code ran on the gitpages site can not save the updated form data because github pages does not support PUT and POST operations.

About

Build Web UI / RIA applications fast with less effort using Metadata rather than code.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published