Skip to content

thevahidal/soul

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
August 25, 2023 15:41
December 1, 2023 19:41
September 12, 2023 12:03
src
December 1, 2023 19:41
December 1, 2023 19:41
December 1, 2023 19:41
December 1, 2023 19:41
October 5, 2022 21:30
September 1, 2023 13:31
December 1, 2023 19:41
December 1, 2023 19:41

A SQLite REST and Realtime server

justforfunnoreally.dev badge All Contributors trackgit

Installation

Install Soul CLI with npm

  npm install -g soul-cli

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.

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.

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

Soul-mates

A collection of projects that revolve around the Soul ecosystem.

  • 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.

  • RCO-Soul The purpose of this project is to demonstrate how to run a React admin client using Soul as a REST API service.

Development

git clone https://github.com/thevahidal/soul # Clone project

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

Community

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

License

MIT

Contributing

Contributions are always welcome!

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

Contributors ✨

Thanks goes to these wonderful people (emoji key):

Vahid Al
Vahid Al

πŸ’» πŸ‘€
Abenezer Melkamu
Abenezer Melkamu

πŸ’»
Ian Mayo
Ian Mayo

πŸ’» πŸ‘€
Hanz
Hanz

πŸ’»
Koen De Groote
Koen De Groote

πŸ’»
Muhammad Taha Khan
Muhammad Taha Khan

πŸ’»

This project follows the all-contributors specification.