Skip to content

danilodeLuca/yawp

 
 

Repository files navigation

YAWP! Framework

A very simple and elegant domain specific language / framework in Java that helps you to create amazing REST APIs.

Build Status Maven Central Join the chat at https://gitter.im/feroult/yawp

Introduction

YAWP!'s main purpose is to help developers to easily create meaningful and scalable APIs to back their REST based applications. It natively supports and implements effective usage patterns for the Google Appengine Platform, so you can bootstrap your API very quickly with a free (to start) auto-scalable environment.

If scalability is not an issue or you'd rather do-it-yourself, you can use the PostgreSQL persistence driver to deploy your code on different platforms.

You create your POJOs and YAWP!

Guides

Here you can find the complete YAWP! Guides.

Getting Started

  1. At the command prompt, create a new YAWP! API application:

     $ mvn archetype:generate \
         -DarchetypeGroupId=io.yawp \
         -DarchetypeArtifactId=yawp \
         -DarchetypeVersion=LATEST \
         -DgroupId=yawpapp \
         -DartifactId=yawpapp \
         -Dversion=1.0-SNAPSHOT            
    
  2. Change directory to yawpapp and start the yawp development server:

     $ cd yawpapp
     $ mvn yawp:devserver
    
  3. Using a browser, go to http://localhost:8080/api to check if everything is OK.

  4. Using a scaffolder, create a simple endpoint model:

     $ mvn yawp:endpoint -Dmodel=person
    

    Output:

    @Endpoint(path = "/people")
    public class Person {
        @Id
        IdRef<Person> id;
    }    

    Try it:

     $ curl http://localhost:8080/api/people
    
  5. Follow the guidelines to start developing your API:

Contributing

Everyone willing to contribute with YAWP! is welcome. To start developing you will need an environment with:

  • JDK 1.7+
  • Maven 3.3+
  • PostgreSQL 9.4+

Then follow the travis-ci build script to get your build working.

IRC

Feel free to contact the developers at the IRC channel #yawp at chat.freenode.net

License

YAWP! is released under the MIT license.

About

Simple, Elegant and Powerful APIs

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 87.1%
  • JavaScript 11.5%
  • Other 1.4%