doc/md/overview.md
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
## Overview LiteStore is a self-contained, RESTful, multi-format document store written in [Nim](http://www.nim-lang.org). It aims to be a very simple and lightweight backend suitable for prototypes and testing REST APIs. ### Rationale If you ever wanted to build a simple single-page application in your favorite framework, just to try something out or as a prototype, you inevitably had to answer the question _"What backend should I use?"_ Sure, setting up a simple REST service using [Sinatra](http://www.sinatrarb.com) or [Express.js](http://expressjs.com) is not very hard, but if you want to distribute it, that will become a prerequisite for your app: you'll either distribute it with it, or install it beforehand on any machine you want to try your app on. Which is a shame, really, because single-page-applications are meant to be running anywhere _provided that they can access their backend_. {{LS}} aims to solve this problem. Using {{LS}}, you only need to take _two files_ with you, at all times: * The [litestore](class:cmd) executable file for your platform of choice (that's about 2MB in size) * A datastore file And yes, you can even store the code of your client-side application inside the datastore itself, along with your application data. ### Key Features #### Multiformat documents #### Document Tagging #### Fulltext Search #### REST HTTP API #### Directory Bulk Import/Export ### Architecture -> ![{{LS}} Architecture](assets/litestore_arch.png) <- |