YAWP! root


License

License

GroupId

GroupId

io.yawp
ArtifactId

ArtifactId

yawp-root
Last Version

Last Version

2.08alpha
Release Date

Release Date

Type

Type

pom
Description

Description

YAWP! root
YAWP! root
Project URL

Project URL

http://yawp.io
Source Code Management

Source Code Management

https://github.com/feroult/yawp

Download yawp-root

Filename Size
yawp-root-2.08alpha.pom 6 KB
Browse

How to add to project

<!-- https://jarcasting.com/artifacts/io.yawp/yawp-root/ -->
<dependency>
    <groupId>io.yawp</groupId>
    <artifactId>yawp-root</artifactId>
    <version>2.08alpha</version>
    <type>pom</type>
</dependency>
// https://jarcasting.com/artifacts/io.yawp/yawp-root/
implementation 'io.yawp:yawp-root:2.08alpha'
// https://jarcasting.com/artifacts/io.yawp/yawp-root/
implementation ("io.yawp:yawp-root:2.08alpha")
'io.yawp:yawp-root:pom:2.08alpha'
<dependency org="io.yawp" name="yawp-root" rev="2.08alpha">
  <artifact name="yawp-root" type="pom" />
</dependency>
@Grapes(
@Grab(group='io.yawp', module='yawp-root', version='2.08alpha')
)
libraryDependencies += "io.yawp" % "yawp-root" % "2.08alpha"
[io.yawp/yawp-root "2.08alpha"]

Dependencies

There are no dependencies for this project. It is a standalone project that does not depend on any other jars.

Project Modules

  • yawp-core
  • yawp-appengine
  • yawp-postgresql
  • yawp-testing
  • yawp-maven-plugin

A Kotlin/Java API framework for Google Appengine

Any help is appreciated! Comments, suggestions, issues, PR's! Give us a star to help!

Build Status Maven Central

Features

Server

  • Scaffolding
  • Model centric
  • CRUD Routes
  • Query Routes
  • Custom Routes
  • Cache System
  • Transformers
  • Security Shields
  • Lifecycle Hooks
  • Asynchronous Pipes
  • Java or Kotlin
  • App Engine or Postgres

Client

  • Fluent API
  • Node or Web
  • Promises
  • Class extension

Guides

Complete YAWP! Guides.

Getting Started

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

     $ mvn archetype:generate \
         -DarchetypeGroupId=io.yawp \
         -DarchetypeArtifactId=yawp \
         -DarchetypeVersion=LATEST \
         -DgroupId=yawpapp \
         -DartifactId=yawpapp \
         -Dversion=1.0-SNAPSHOT \
         -Dlang=kotlin            
    
  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")
    class Person(@Id
                 var id: IdRef<Person>)

    Try it:

     $ curl http://localhost:8080/api/people
    

    From Javascript:

     $ npm install yawp --save
    
    class Person extends yawp('/people') {
        save() {
            console.log('saving...');
            return super.save();
        }
    }
    const person = new Person({name: 'Janes'});
    person.save()  
  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/user with access from 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.

License

YAWP! is released under the MIT license.

Versions

Version
2.08alpha
2.0.7alpha
2.0.6alpha
2.0.5alpha
2.0.4alpha
2.0.3alpha
2.0.0alpha
1.6.19
1.6.18
1.6.17
1.6.16
1.6.15
1.6.14
1.6.13
1.6.12
1.6.11
1.6.10
1.6.9
1.6.8
1.6.7
1.6.6
1.6.5
1.6.4
1.6.3
1.6.2
1.6.1
1.6.0
1.5.12
1.5.11
1.5.10
1.5.9
1.5.8
1.5.7
1.5.6
1.5.5
1.5.4
1.5.3
1.5.2
1.5.1
1.5.0
1.4.2
1.4.1
1.4.0
1.3.18
1.3.17
1.3.16
1.3.15
1.3.14
1.3.13
1.3.12
1.3.11
1.3.10
1.3.9
1.3.8
1.3.7
1.3.6
1.3.5
1.3.4
1.3.3
1.3.2
1.3.1
1.3