Soul

A SQLite REST and realtime server

README

        A SQLite REST and Realtime server



Installation

Install Soul CLI with npm

  1. ``` sh
  2.   npm install -g soul-cli
  3. ```
    

Usage

Soul is command line tool, after installing it,
Run soul -d sqlite.db -p 8000 and it'll start a REST API on http://localhost:8000 and a Websocket server on ws://localhost:8000.
  1. ``` sh
  2. Usage: soul [options]


  3. Options:
  4.       --version             Show version number                        [boolean]
  5.   -d, --database            SQLite database file or :memory: [string] [required]
  6.   -p, --port                Port to listen on                           [number]
  7.   -r, --rate-limit-enabled  Enable rate limiting                       [boolean]
  8.       --help                Show help                                  [boolean]

  9. ```

Then to test Soul is working run the following command
  1. ``` sh
  2. curl http://localhost:8000/api/tables
  3. ```
It should return a list of the tables inside sqlite.db database.

Documentation


API documentation is available while the project is running at http://localhost:8000/api/docs

There's also a list of all endpoints examples at docs/api-examples.md

For websocket examples, check docs/ws-examples.md

Extending Soul


Soul is able to be extended (e.g. Adding custom APIs) via extensions, you can find a list of extensions at docs/extensions-examples.md


Development


  1. ``` sh
  2. git clone https://github.com/thevahidal/soul # Clone project
  3. ```

Core API

  1. ``` sh
  2. cd core # Move into the core directory

  3. cp .env.sample .env # Duplicate sample environment variables
  4. nano .env # Update the environment variables

  5. npm install # Install dependencies
  6. npm run dev # Start the dev server
  7. ```

Studio

Make sure that Soul Core API is up and running and then
  1. ``` sh
  2. cd studio # Move into the studio directory

  3. cp .env.sample .env # Duplicate sample environment variables
  4. nano .env # Update the environment variables

  5. npm install # Install dependencies
  6. npm run dev # Start the dev server
  7. ```

Community


Join the discussion in our Discord server and help making Soul together.


Contributing


Contributions are always welcome!

See CONTRIBUTING.md for ways to get started and please adhere to CODE OF CONDUCT.


Authors




License



trackgit-views