var PersonSchema = new Schema({ surname: {type:String, required:true, index:true}, forename: {type:String, index:true}, weight: Number, eyeColour: {type: String, required:true, enum:['Blue','Brown','Green','Hazel']}, dateOfBirth: Date, accepted: Boolean });
forms-angular is a simple framework build on top of the MEAN stack (with a little Twitter Bootstrap and Mongoose thrown in for good measure) that enables you to generate forms super quickly. At its simplest it takes a mongoose schema and generates a form, complete with REST routing and bindings.
Reports are easy to add, with grid output, totals, drill-downs (to other, more specific, reports or to the form that the data can be amended in), export to PDF and CSV.
Forms-angular is easy to extend, using regular Angular JS controllers that allow you to hook into navigation elements, data events and much more.