Skip to content

Simple RESTful webapp based on Vert.x with embedded H2 database

Notifications You must be signed in to change notification settings

denis-kalinin/vertx-h2-jdo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status

My customer asked to develop a simple μService with embedded database and RESTful API. This is simple application emulating money accounts and transfers among them. The customer had "ostracized" Spring framework for some reasons, so I chose the following tech stack to build the application:

Tech stack

  • Java 8
  • Vert.x
  • Guice
  • Jackson
  • JDO : Datanucleus
  • RxJava
  • RAML : RESTful API Modeling Language
  • RAML console : The RAML Console allows browsing of API documentation and in-browser testing of API methods.
    (I fixed a minor bug while working on this project)
  • H2 database
  • Junit
  • slf4j + logback
  • Gradle & Groovy
  • Handlebars.java

SDLC – software development life cycle

GitHub → TravisCI → AWS S3 → AWS CodeCommit

Deployment phase's files for SDLC are stored in src/deploy/aws/codedeploy and .travis.yml

Running example

The sample instance is running on AWS at http://test.itranga.com

Assumptions

Some assumptions was made in the project to facilitate development

  1. RESTful API supports application/json only—application/xml was discarded for simplicity.
  2. API doesn't support security
  3. If Transfer sent without field from then it is considered as incoming transaction from another system and that system is responsible for balancing debit/credit
  4. An account may have negative balance—there is no policy.
  5. Direct debit is allowed, i.e. negative amount in a transfer is valid: {"from": 12, "to": 1, "amount": -45.42}

Binaries and Documentation

Download binary file as zip-archive. The file also contains sources and javadoc. Javadoc API is available online.

About

Simple RESTful webapp based on Vert.x with embedded H2 database

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published