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.