Add your logo here |
Name | Description |
---|---|
PGP 2FA | ✅ |
Autowithdraw | ✅ |
BTC, XMR | ✅ |
Escrow / FE | ✅ |
Multisig support | 🔄 |
Jabberbot | 🔄 |
FE disputes | 🔄 |
Auto dispute resolution | 🔄 |
Walletless pay | 🔄 |
Name | Description |
---|---|
Database | Couchbase via Couchset ORM |
API | Apollo GraphQL via RoadmanJS Framework |
Payments | BTC(btcpayserver), XMR(monero rpc) via RoadmanJS Wallet, RoadmanJS MoneroX |
Auth | JWT, 2FA via RoadmanJS Auth |
Storage | Local disk / FastDFS via RoadmanJS |
- Node.js 18+ and npm
- Couchbase
- Redis
- BTCPayerServer or monero rpc
Run the following command on your local environment:
git clone git@github.com:stoqey/sslatt-backend.git
yarn
Then, you can run the project locally in development mode with live reload by executing:
yarn dev
Open http://localhost:3000 with your favorite browser to see your project.
PORT=3037
APP_NAME=sslatty
DEBUG=sslatty*
# 32 chars each
ACCESS_TOKEN_SECRET=random ass string
REFRESH_TOKEN_SECRET=random ass string
Set up couchbase and redis
COUCHBASE_URL=
COUCHBASE_BUCKET=dev
COUCHBASE_USERNAME=admin
COUCHBASE_PASSWORD=
REDIS_URL="rediss://:xxxxxxxx@xxxxxxxx:30296"
Default storage is set to local uploads, but you can set fastdfs, pictr e.t.c
To set up db indexes, and initial data pass the STARTUP
env with any value, this will populate the database with the defined config from src/config
i.e categories, site settings, admin user e.t.c
STARTUP=anyvalue
Once app is up and running you can remove the STARTUP
env
You can accept payments using BTC with btcpayserver or XMR with Monerox
#BTCPAYSERVER ENV
BTCPAYSERVER_TOKEN=xxxxx
BTCPAYSERVER_STORE=xxxxx
BTCPAYSERVER_URL=https://xxxxxxx.com/api/v1
BTCPAYSERVER_BTC=S-xxxxxx-BTC
BTCPAYSERVER_XMR=S-xxxx-XMR
BTCPAYSERVER_CRON_ENABLED=BTC,XMR
BTCPAYSERVER_CRON=*/1 * * * *
# MONEROX
MONEROX_URL=same as backend url
MONEROX_WALLET=xxxx-xxx-xx-xxx-xxxxxx
MONEROX_CRON=*/1 * * * *
# WALLET RPC
WALLET_RPC_URL=http://xxxxxxxxx:38084
WALLET_RPC_USER=rpc_user
WALLET_RPC_PASSWORD=abc123
# MAIN wallet
WALLET_PATH=abc123
WALLET_PASSWORD=abc123
WALLETS_DIR=/Users/ceddy/xmr/xwallet
├── README.md # README file
├── .env # Environment configuration
├── .github # GitHub folder
├── .vscode # VSCode configuration
├── src #
│ └── config # Config
│ │ ├── categories.ts # Site categories
│ │ ├── site.ts # Site settings, admin user, welcome message, e.t.c
│ └── feature # Feature e.g. auth, user, wallet
│ │ ├── feature.model.ts # feature couchbase model / collection / table
│ │ ├── feature.methods.ts # feature methods
│ │ ├── feature.resolver.ts # feature graphql api resolver
└── tsconfig.json # TypeScript configuration
Use the src/config
to set site settings, categories, admin user, welcome message
src/config/categories.ts
: categoriessrc/config/site.ts
: site settings configuration file, admin user, welcome message.env
: default environment variables
Add your logo here |