all repos — h3rald @ 18d052e6a1a13bb5947fa1520c110631fbf563bb

The sources of https://h3rald.com

Updated LiteStore home page.
h3rald h3rald@h3rald.com
Mon, 09 Mar 2020 13:51:51 +0100
commit

18d052e6a1a13bb5947fa1520c110631fbf563bb

parent

2d73f55c9155061afe8b3c1572d3aa1273b94a8c

1 files changed, 50 insertions(+), 5 deletions(-)

jump to
M contents/litestore.mdcontents/litestore.md

@@ -11,13 +11,58 @@ summary: "A lightweight, self-contained, RESTful, multi-format NoSQL document store server written in Nim and powered by a SQLite backend for storage."

download: "https://github.com/h3rald/litestore/releases/download/" ----- -LiteStore is a lightweight, self-contained, RESTful, multi-format NoSQL document store server written in [Nim](http://nim-lang.org) and powered by a [SQLite](http://www.sqlite.org) backend for storage. It aims to be a very simple and lightweight backend ideal for prototyping and testing REST APIs and client-side, single-page applications. +LiteStore is a lightweight, self-contained, RESTful, multi-format NoSQL document store server written in [Nim](http://nim-lang.org) and powered by a [SQLite](http://www.sqlite.org) backend for storage. It aims to be a very simple and lightweight backend ideal for prototyping and testing REST APIs and client-side, single-page applications and web apps. + +### Key Features + +Despite being fairly small and self-contained, LiteStore comes with many useful features that are essential for many use cases. + +#### Multi-format Documents + +LiteStore can be used to store documents in virtually any format, as long as you specify an appropriate content type for them. Textual documents are stored as-is, while binary documents are base64-encoded (not the best thing in the world, but definitely the easiest and most portal option). + +#### Document Tagging + +You can add custom tags to documents to easily categorize them and retrieve them. Some system tags are also added automatically to identify the document content type, format and collection. + +#### Enhanced Querying of JSON documents + +By leveraging the [SQLite JSON1 extension](https://www.sqlite.org/json1.html) and implementing custom query string parsing, LiteStore provides enhanced filtering, ordering, and custom field selection of JSON documents. Additionally, you can also configure custom indexes specifying JSON fields for extra speed! + +#### Full-text Search + +By leveraging [SQLite FTS4 extension](http://www.sqlite.org/fts3.html) and implementing an enhanced algorithm for result rankings, LiteStore provides full-text search for all textual documents out-of-the-box. + +#### RESTful HTTP API + +Every operation can be performed on the data store using a simple but powerful RESTful HTTP API, perfect for client-side, single-page applications. + +#### JWT-based Authorization + +LiteStore can be configured to validate [JWT](https://jwt.io/) tokens and configure access to specific resources based on specific [OAuth2 scopes](https://oauth.net/2/scope/). + +#### Middleware + +By leveraging the [duktape](https://duktape.org/) library, you can create your own middleware functions in JavaScript to perform additional tasks (validation, logging, data aggregation...) before accessing data. + +#### Nim API + +If you want, you can use LiteStore as a [Nim](https://nim-lang.org/) library and perform data store operations from your own Nim program. + +#### Command-line API + +Every operation can also be performed from command line, using the `litestore execute` command. + +#### Directory Bulk Import/Export + +To make serving a single-page application from LiteStore even easier and faster, you can automatically import (and export) the contents of a directory recursively. + +#### Directory Mounting and Mirroring + +After importing the contents of a directory into a LiteStore data store, you can mount it on LiteStore and mirror all data store changes to the filesystem. Incidentally, that’s how most of the LiteStore Admin test app was built . -LiteStore is: -* **cross-platform**, you can download precompiled binaries for macOS, Linux and Windows. -* **self-contained**, it's a command-line application that doesn't require installing or prerequisites: it's all in a single, small, executable file. -* **RESTful**, you can access it via HTTP — perfect for prototyping SPAs. +Wanna know more? [→ read the User Guide](/litestore/LiteStore_UserGuide.htm)! ### Downloads