Code Monkey home page Code Monkey logo

elide's Introduction

Gitter Build Status Maven Central

Elide Logo

##What Is Elide?

Elide is a Java library that lets you stand up a JSON API web service with minimal effort starting from a JPA annotated data model. Elide is designed to quickly build and deploy production quality web services that expose data models as services. Elide provides:

  1. Access to JPA entities via JSON API CRUD operations. Entities can be explicitly included or excluded via annotations.
  2. Patch Extension Elide supports the JSON API Patch extension allowing multiple create, edit, and delete operations in a single request.
  3. Atomic Requests All requests to the library (including the patch extension) can be embedded in transactions to ensure operational integrity.
  4. Authorization All operations on entities and their fields can be assigned custom permission checks limiting who has access to your data.
  5. Audit Logging can be customized for any operation on any entity.
  6. Extension Elide allows the ability to customize business logic for any CRUD operation on the model. Any persistence backend can be skinned with JSON-API by wiring in a JPA provider or by implementing a custom DataStore.
  7. Test Elide includes a test framework that explores the full surface of the API looking for security vulnerabilities.
  8. Client API Elide is developed in conjunction with a Javascript client library that insulates developers from changes to the specification. Alternatively, Elide can be used with any JSON API client library.

##Documentation

More information about Elide can be found at elide.io.

Elide on Maven

To integrate Elide into your project, simply include elide-core into your project's pom.xml:

<!-- Elide -->
<dependency>
    <groupId>com.yahoo.elide</groupId>
    <artifactId>elide-core</artifactId>
</dependency>

Additionally, if you do not plan to write your own data store, select the appropriate data store for your setup and include it as well. For instance, if you plan on using the "in-memory database" (not recommended for production use) then you would add the following:

<dependency>
    <groupId>com.yahoo.elide</groupId>
    <artifactId>elide-datastore-inmemorydb</artifactId>
</dependency>

##License

The use and distribution terms for this software are covered by the Apache License, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0.html).

elide's People

Contributors

aklish avatar clayreimann avatar danchen avatar duseja2 avatar jkusa avatar newfront avatar qubitpi avatar shadanan avatar wcekan avatar xiaoyao1991 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.