Coder Social home page Coder Social logo

sandbox's Introduction

Sandbox

Build Status

Project in which I experiment various technologies and techniques.

##What do this project currently has:

####Maven

I will eventually create a build based on Graddle while maintaining maven working so that I can compare them.

####Spring Boot with spring-boot-starter-web (using spring parent)

####Vaadin + Spring MVC

_Using Spark now. See _

####Validation using an uniform notification pattern

Moved to

####Implementation of Payroll

Moved to

####Validation based on JUnit

Gave up to a different approach, see Validation using an uniform notification pattern section.

####Magritte for JVM

Very promising, but I gave up for lack of time. I maintained, however, a branch with the partial implementation

Magritte is a meta-description framework that keeps full power to the programmer since the description is made with pure OO. A description alone is useless, but it can be used to any purpose, most notably to generate dynamic stuff, since the description of objects can be obtained anytime at runtime. In Smalltalk it is commonly used to generate web forms in the Seaside Framework. The JVM implementation is more or less like the one in Smalltalk, and I aim to use it to generate not only web forms, but validation and tests also.

For example suppose a class Employee with a name and age, a description of this class could be:

   @DescriptionDefinition
   def myDescritpion(){
     ["name".isAString().beRequired(),
     "age".isAnInteger().minSize(18).beRequired()]
   }

With this description I can generate, dynamically:

  • A web form that validates the required fields and that the age is an Integer => 18;
  • Validations on the server side;
  • An object mother builder class that builds valid Employee classes;
  • An entire web API;
  • The sky is the limit....

I intent to do the following:

  1. Vaadin UI generation based on Magritte
  2. Test generation based on Magritte
  3. Validation generation based on Magritte

sandbox's People

Contributors

vitormcruz avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.