Well designed and scalable APIs
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
scripts release 2.0.3alpha Oct 17, 2018
yawp-appengine
yawp-core
yawp-js yawp js Oct 17, 2018
yawp-maven-plugin release 2.0.3alpha Oct 17, 2018
yawp-postgresql release 2.0.3alpha Oct 17, 2018
yawp-testing
.gitignore format code - intellij change Nov 17, 2015
.travis.yml testing Aug 7, 2018
LICENSE added license Oct 25, 2015
README.md Improving readme with updated build isntructions Dec 8, 2017
pom.xml release 2.0.3alpha Oct 17, 2018

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.