All Projects → feroult → Yawp

feroult / Yawp

Licence: mit
Kotlin/Java API framework for Google Appengine

Programming Languages

javascript
184084 projects - #8 most used programming language
java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Yawp

Pulumi
Pulumi - Developer-First Infrastructure as Code. Your Cloud, Your Language, Your Way 🚀
Stars: ✭ 10,887 (+7905.15%)
Mutual labels:  cloud, gcp
Awesome Gcp Certifications
Google Cloud Platform Certification resources.
Stars: ✭ 1,328 (+876.47%)
Mutual labels:  cloud, gcp
Inspec Gcp Cis Benchmark
GCP CIS 1.1.0 Benchmark InSpec Profile
Stars: ✭ 69 (-49.26%)
Mutual labels:  cloud, gcp
Airflow Toolkit
Any Airflow project day 1, you can spin up a local desktop Kubernetes Airflow environment AND one in Google Cloud Composer with tested data pipelines(DAGs) 🖥 >> [ 🚀, 🚢 ]
Stars: ✭ 51 (-62.5%)
Mutual labels:  cloud, gcp
Learning Cloud
List of resources - courses, sample code, articles and screencasts for learning AWS, Azure, GCP and Alibaba Cloud
Stars: ✭ 100 (-26.47%)
Mutual labels:  cloud, gcp
Hayat
Hayat is a script for report and analyze Google Cloud Platform resources.
Stars: ✭ 55 (-59.56%)
Mutual labels:  cloud, gcp
Runtimes Common
Common tools used by the GCP runtimes.
Stars: ✭ 86 (-36.76%)
Mutual labels:  gcp, appengine
Nucleus
Platform as a Service API abstraction layer.
Stars: ✭ 28 (-79.41%)
Mutual labels:  api, cloud
Drone Gae
Drone plugin for managing deployments and services on Google App Engine (GAE)
Stars: ✭ 96 (-29.41%)
Mutual labels:  gcp, appengine
Cloudsploit
Cloud Security Posture Management (CSPM)
Stars: ✭ 1,338 (+883.82%)
Mutual labels:  cloud, gcp
Go Cloud
The Go Cloud Development Kit (Go CDK): A library and tools for open cloud development in Go.
Stars: ✭ 8,124 (+5873.53%)
Mutual labels:  cloud, gcp
Micro
Micro is a distributed cloud operating system
Stars: ✭ 10,778 (+7825%)
Mutual labels:  api, cloud
Texterify
The localization management system.
Stars: ✭ 37 (-72.79%)
Mutual labels:  api, cloud
Rmapy
A unofficial python module for interacting with the Remarkable Cloud
Stars: ✭ 58 (-57.35%)
Mutual labels:  api, cloud
Drive
☁️ A distributed cloud based lazy drive to files integrated with Dropbox, Google Drive.
Stars: ✭ 36 (-73.53%)
Mutual labels:  api, cloud
Cloudprober
An active monitoring software to detect failures before your customers do.
Stars: ✭ 1,269 (+833.09%)
Mutual labels:  cloud, gcp
Server
A simple server for sending and receiving messages in real-time per WebSocket. (Includes a sleek web-ui)
Stars: ✭ 6,858 (+4942.65%)
Mutual labels:  api, cloud
Fsfirestore
Functional F# library to access Firestore database hosted on Google Cloud Platform (GCP) or Firebase.
Stars: ✭ 22 (-83.82%)
Mutual labels:  cloud, gcp
Gcp For Bioinformatics
GCP Essentials for Bioinformatics Researchers
Stars: ✭ 95 (-30.15%)
Mutual labels:  cloud, gcp
Seldon Server
Machine Learning Platform and Recommendation Engine built on Kubernetes
Stars: ✭ 1,435 (+955.15%)
Mutual labels:  cloud, gcp

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].