Java JavaScript Other
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
scripts
yawp-appengine
yawp-core
yawp-js
yawp-maven-plugin
yawp-postgresql
yawp-testing
.gitignore
.travis.yml
LICENSE
README.md
pom.xml

README.md

YAWP!

A lightweight REST API framework focused on productivity and scalability.

Build Status Maven Central Join the chat at https://gitter.im/feroult/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.8+
  • Maven 3.3+
  • PostgreSQL 9.4+
  • phantomjs 2+

For postgres, you need to create a database and user accessible for your Unix user (you need to be able to run psql with no args). A simple tutorial for Arch can be found here.

Phantomjs can be installed from pacman on Arch.

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.