A SQLite REST and Realtime server
Install Soul CLI with npm
npm install -g soul-cli
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.
Usage: soul [options]
Options:
--version Show version number [boolean]
-d, --database SQLite database file or :memory: [string] [required]
-p, --port Port to listen on [number]
-r, --rate-limit-enabled Enable rate limiting [boolean]
-c, --cors CORS whitelist origins [string]
-S, --studio Start Soul Studio in parallel [boolean]
--help Show help [boolean]
Then to test Soul is working run the following command
curl http://localhost:8000/api/tables
It should return a list of the tables inside sqlite.db
database.
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
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
Soul Studio provides a GUI to work with your database.
Right now Soul Studio is in early stages of development and not useful to work with.
git clone https://github.com/thevahidal/soul # Clone project
cd core # Move into the core directory
cp .env.sample .env # Duplicate sample environment variables
nano .env # Update the environment variables
npm install # Install dependencies
npm run dev # Start the dev server
Make sure that Soul Core API is up and running and then
cd studio # Move into the studio directory
cp .env.sample .env # Duplicate sample environment variables
nano .env # Update the environment variables
npm install # Install dependencies
npm run dev # Start the dev server
Join the discussion in our Discord server and help making Soul together.
Contributions are always welcome!
See CONTRIBUTING.md
for ways to get started and please adhere to CODE OF CONDUCT
.
Thanks goes to these wonderful people (emoji key):
Vahid Al π» |
Abenezer Melkamu π» |
Ian Mayo π» |
Hanz π» |
Koen De Groote π» |
This project follows the all-contributors specification.