Saltstorm is an open-source fun-money betting web app that is heavily inspired by Salty Bet.
Saltstorm:
- Enables admins to push detailed match data to stats sites
- Allows users to spend fun-money (currently on CoD Prestige-like ranks)
- Has a JSON API for clients and administrators (Example Ruby Script)
These deployment instructions assume that you have prior experience with deploying Ruby web applications.
Web server with shell access, Node.js 14.16.x, and Ruby 3.0.0. Right now, this web app only supports SQLite and PostgreSQL.
- Pull this repo and run
bundle install
- Run
npm install
- Create and setup your database of choice (don't create tables)
- Create a config/database.yml file to provide DB connection details
cp config/database.yml.example config/database.yml
- Create a config/email.yml file for sending emails to users
cp config/email.yml.example config/email.yml
- Run
rake initial_setup RACK_ENV='production'
(this creates tables and does other stuff) - Tweak config/site.yml to your liking
- Change the site url (
site_url
setting) to the URL that others will access Saltstorm from - Change the
main_video_html
setting use 'embed' code for your stream - You can also change the name (
site_name
) and description (site_description
)
- Change the site url (
- Setup important cron jobs using
bundle exec whenever
(official site for whenever) - Run
npx webpack --mode=production
to build the client-side site - Run
bundle exec puma
to start the site.
Saltstorm is unstable and has no version number. Things could break.
AGPL3.
Saltstorm's API uses Sinatra (with sinatra-flash) and Sequel. The Rakefile uses Highline for user input. whenever makes the cron job for sending e-mails. mail sends e-mails. RestClient POSTs data to web users.
The front-end uses Webpack to package a application AngularJS and Bootstrap 3.0.
Tests use rspec, rack-test, factory_bot, and simplecov.