Vasern is a fast, lightweight and open source data storage for React Native
Branch: master
Clone or download
Latest commit b1f2513 Feb 14, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.vscode update website Oct 22, 2018
android clean up Feb 13, 2019
docs Merge branch 'master' of https://github.com/vasern/vasern Oct 30, 2018
examples/vasern-todo clean up Feb 13, 2019
ios [fix] removeAllRecords doesn't clear records in memory Jan 23, 2019
licenses clean up and prepare for ios alpha release Oct 14, 2018
vasern Mute eslint checking Feb 13, 2019
website docs: added event listeners Oct 30, 2018
.babelrc working on tests Oct 24, 2018
.codeclimate.yml add codeclimate Oct 24, 2018
.eslintignore update configuration for testing Oct 24, 2018
.eslintrc fix creating Document undefined (using schema object) Oct 24, 2018
.flowconfig code quality check Oct 22, 2018
.gitignore [fix] removeAllRecords doesn't clear records in memory Jan 23, 2019
.npmignore update configuration for testing Oct 24, 2018
.prettierrc code quality check Oct 22, 2018
.travis.yml Update .travis.yml Oct 24, 2018
Icon improve performance on Android platform Oct 25, 2018
LICENSE clean up and prepare for ios alpha release Oct 14, 2018
README.md update travis link Jan 23, 2019
babel.config.js adding basic tests Oct 24, 2018
crowdin.yaml docs: added event listeners Oct 30, 2018
package-lock.json Pump npm version Feb 13, 2019
package.json Pump npm version Feb 13, 2019
roadmap.md Create roadmap.md Nov 29, 2018
vasern-logo.svg clean up and prepare for ios alpha release Oct 14, 2018
yarn.lock code quality check Oct 22, 2018

README.md

Vasern Logo

NPM CI Status GitHub Issues Supported Platforms Join Slack

Vasern is a fast and open source data storage for React Native.

View Development Roadmap. Read about beta release announcement


Table of Contents:

For more details, visit Vasern Documentation

What is Vasern?

Vasern is a data storage for React Native that underneath is linked-consistent key-value stores. Its data engine is built natively to achieve native performance. Our goal is to develop an open source, developer friendly end-to-end database solution. Sync server - vasern-server is under development.

A snipped code shows how Vasern works

import Vasern from 'vasern';

// Define Todos application schema
const VasernDB = new Vasern({ 
  schemas: [{
    name: "Users",
    props: {
      fname: "string",
      lname: "string"
    }
  },{
    name: "Todos",
    props: {
      name: "string",
      completed: "boolean",
      assignTo: "#Users"
    }
  }]
});

// Add listener whenever Todos has a change (loaded/insert/update/delete)
VasernDB.Todos.onChange(() => {

  // Get all todo items with "completed" is "false"
  const todoList = VasernDB.Todos.filter({ completed: false });
  
  // Update state
  this.setState({ data: todoList.data() });
})

Development Status

Vasern beta is available on iOS and Android. It is being heavily tested to ensure its functionality, data quality and consistency. View Development Roadmap

Most of APIs won’t be changed in the near future. A stable release of Vasern will be announced within a month from now unless there are major issues. After the stable release, Vasern will continue to be maintained and improved.

Join us on Slack for any quick update and discusion.

Getting Started

Examples

Help and Feedback

The more concise and informative, the better it helps us to understand your concern.

Contribute to Vasern

Your contributions are welcome and highly appreciated. At the moment, you can create an issue with (1) Goal and (2) Details of your code.