FLUTTER ECOSYSTEM

chuyentt/localstore

chuyentt/localstore open-source repository details.

localstore project cover
Stars
24
Forks
23
Last push (UTC)
Apr 11, 2024
Project status
Active
Chuyen Tran Trung GitHub avatar
GITHUB User

Chuyen Tran Trung ↗

LanguagesDartC++CMakeHTMLRubyCSwiftKotlinObjective-C

Packages published by this repository

Dependencies used

Dependency list 9 items
  • flutter{"sdk":"flutter"}
  • path^1.8.2
  • path_provider^2.0.11
  • flutter_testDevelopment{"sdk":"flutter"}
  • flutter_lintsDevelopment^3.0.2
  • mockitoDevelopment^5.0.0
  • lintsDevelopment^3.0.0
  • path_provider_platform_interfaceDevelopment^2.1.2
  • plugin_platform_interfaceDevelopment^2.1.8

Original README

English project snapshot. Visit GitHub for the latest content.

Expand / collapse project README

Localstore

pub package

Between SQL or NoSQL, there's no one best database, there's the right database for your specific project. Localstore is a JSON file-based storage package (localstorage) provides a persistent repository for simple NoSQL database.

Localstore (NoSQL) SQLite (SQL)
Data format File path (collection) Table
Data item JSON Document (doc) Record / Row
Scalability Horizontal Limited vertical
Organization Schema-less Fixed schema

Demo Screenshot

https://user-images.githubusercontent.com/6267856/112655041-94e72100-8e82-11eb-8d9f-673f0f2e1b80.gif

UML diagram

Localstore UML diagram

Getting Started

  1. Calling WidgetsFlutterBinding.ensureInitialized(); in main() before calling runApp():
void main() {
  WidgetsFlutterBinding.ensureInitialized();
  runApp(MyApp());
}
  1. Import import 'package:localstore/localstore.dart';
import 'package:flutter/material.dart';
import 'package:localstore/localstore.dart';

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  runApp(MyApp());
}
  1. Creates an instance using the default Localstore
final db = Localstore.instance;

or using anywhere in your project.

  1. Creates new item
// gets new id
final id = db.collection('todos').doc().id;

// save the item
db.collection('todos').doc(id).set({
  'title': 'Todo title',
  'done': false
});
  1. Gets item by id
final data = await db.collection('todos').doc(id).get();
  1. Delete item by id
db.collection('todos').doc(id).delete();
  1. Fetch the documents for the collection
final items = await db.collection('todos').get();
  1. Using stream
final stream = db.collection('todos').stream;

Features and bugs

Please file feature requests and bugs at the issue tracker.