Backend service for community voting rounds, telemetry analysis, task grab-box pipelines, and Discord integrations. Built with AdonisJS v6, PostgreSQL, and Redis.
# Install dependencies
npm install
# Setup environment
cp .env.example .env
# Run database migrations
node ace migration:run
# Start development server
npm run dev
# Run tests
npm test# Build image
docker build -t platform-api .
# Run container
docker run --rm --env-file .env -p 3333:3333 platform-api- Internal Logic Dependency:
@platform/internal-logicis installed from git at a pinned ref inpackage.json.npm installrequiresgitonPATH. When updating domain logic, bump the#v...tag and runnpm install. - Database Migrations in Production: Run migrations before starting production containers:
docker run --rm --env-file .env platform-api node ace migration:run --force
- Deployment Repository: Production infrastructure and orchestration configurations live in Platform-Deployment. CI/CD builds and publishes images to GitHub Container Registry (
ghcr.io/seraphinteractive/platform-api).
PORT: HTTP port (default:3333)HOST: Server host (default:localhost)DB_HOST,DB_PORT,DB_USER,DB_PASSWORD,DB_DATABASE: PostgreSQL connectionREDIS_HOST,REDIS_PORT,REDIS_PASSWORD: Redis connectionDISCORD_CLIENT_ID,DISCORD_CLIENT_SECRET,DISCORD_REDIRECT_URI: Discord OAuth credentialsDISCORD_WEBHOOK_URL: Public announcements Discord webhookDISCORD_SUPERVISOR_WEBHOOK_URL: Staff telemetry and review alerts webhookADMIN_DISCORD_IDS: Comma-separated list of administrative Discord user IDs