Deploy Side App Tasks

Deploy and Host Side App Tasks with Railway

Deploy Side App Tasks

Frontend

nierdna/sa-task-frontend

Just deployed

Postgres

railwayapp-templates/postgres-ssl:17

Just deployed

/var/lib/postgresql/data

TelegramBotVerifier

nierdna/sa-task-telegram-bot-server

Just deployed

ApiServer

nierdna/sa-task-api-server

Just deployed

Deploy and Host Side App Tasks on Railway

Web3 Tasks Side App is an open-source task management platform that enables Web3 projects to quickly integrate quest/task systems into their main dApps without building from scratch. It handles social media task verification (Twitter, Telegram, Discord) and sends webhooks to your main application.

About Hosting Side App Tasks

Hosting Side App Tasks on Railway involves deploying a full-stack Next.js application with PostgreSQL database and Redis for background job processing. The application consists of three main components: an admin panel for task management, a user interface for task completion, and a server API with worker jobs for task verification. The system automatically creates users when they connect their wallets, manages OAuth connections to social platforms, verifies task completion through API calls, and sends webhook events to your main application when tasks are completed. Railway simplifies this deployment by providing managed PostgreSQL and Redis services, automatic HTTPS, and seamless environment variable management.

Common Use Cases

  • Integrate task/quest system into existing Web3 dApps without building custom infrastructure

  • Manage social media engagement tasks (Twitter likes, follows, Telegram joins, Discord memberships) with automated verification

  • Send webhook events to main applications for reward distribution, achievement tracking, and user progression

Dependencies for Side App Tasks Hosting

  • PostgreSQL Database: Required for storing users, tasks, OAuth connections, and task run records. Railway provides managed PostgreSQL that can be provisioned alongside the application.

  • Redis: Required for BullMQ background job processing (task verification, webhook sending). Railway offers managed Redis or you can use Upstash for serverless Redis.

  • OAuth Credentials: Twitter OAuth 2.0 (Client ID & Secret), Telegram Bot Token, and Discord OAuth credentials for social platform integrations.

  • Main App Webhook Configuration: Webhook URL and API key from your main application to receive task completion events.

  • JWT Secret: Secret key for user session management and authentication.

Deployment Dependencies

Implementation Details

The application uses Next.js API routes for the backend, with the following key endpoints:

// Authentication
POST /api/auth/wallet/verify - Wallet-based authentication
GET /api/auth/twitter/login - Twitter OAuth initiation
GET /api/auth/twitter/callback - Twitter OAuth callback

// Tasks
GET /api/tasks - List available tasks
POST /api/tasks/{task_id}/verify - Verify task completion

// Admin
POST /api/admin/tasks - Create new tasks (protected)

Background workers process task verification asynchronously using BullMQ, checking social media APIs (Twitter API v2, Telegram Bot API, Discord API) to verify user actions and then sending webhook events to your main application.

Why Deploy Side App Tasks on Railway?

Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.

By deploying Side App Tasks on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.


Template Content

More templates in this category

View Template
Foundry Virtual Tabletop
A Self-Hosted & Modern Roleplaying Platform

View Template
(v1) Simple Medusa Backend
Deploy an ecommerce backend and admin using Medusa

View Template
peppermint
Docker-compose port for peppermint.sh