YAWP! core


License

License

GroupId

GroupId

io.yawp
ArtifactId

ArtifactId

yawp-core
Last Version

Last Version

2.08alpha
Release Date

Release Date

Type

Type

jar
Description

Description

YAWP! core
YAWP! core

Download yawp-core

How to add to project

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

Dependencies

compile (8)

Group / Artifact Type Version
com.google.code.gson : gson jar 2.2.4
com.owlike : genson jar 1.4
org.apache.commons : commons-lang3 jar 3.1
org.reflections : reflections jar 0.9.10
com.google.guava : guava jar 19.0
commons-beanutils : commons-beanutils jar 1.9.1
org.yaml : snakeyaml jar 1.16
org.jetbrains.kotlin : kotlin-stdlib-jdk8 jar 1.2.71

provided (1)

Group / Artifact Type Version
javax.servlet : servlet-api jar 2.5

test (1)

Group / Artifact Type Version
junit : junit jar 4.11

Project Modules

There are no modules declared in this project.

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