/vasern

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

Primary LanguageC++OtherNOASSERTION

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.

Contributors

Vasern is lucky to have supported from our contributors, thanks to:

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.