Skip to content

HelloCoCooo/yawp

 
 

Repository files navigation

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.

About

Well designed and scalable APIs

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 88.5%
  • JavaScript 10.2%
  • Other 1.3%