Skip to content

solanabr/onboarding

Repository files navigation

Solana Onboarding

Multi-language, white-labelable onboarding platform that guides new users into the Solana ecosystem. Captures leads through a step-by-step flow, qualifies them, and directs them to wallets, bridges, and fiat on-ramps.

Built by Superteam Brazil.

Landing Page

Features

  • Multi-step onboarding wizard — progressive lead capture (personal data, socials, intent, qualification)
  • Guide system — community members register as guides, get referral links, and earn points for each onboarded user
  • Claim codes — reward users with SOL via claim codes tied to events
  • SOL payments via wallet — guides pay redemptions directly from the dashboard using Phantom/Solflare with on-chain TX verification
  • Admin panel — role-based dashboard (superadmin vs guide) with stats, lead management, CSV export, and click analytics
  • Public leaderboard — ranks guides by onboarding points
  • Multi-language (i18n) — PT-BR (default) and EN, with language selector in the navbar
  • LGPD compliant — consent checkbox, privacy policy page, right-to-be-forgotten API
  • White-labelable — swap logos, colors, and copy to match your community

Screenshots

Onboarding Flow

Onboarding Flow

Admin Panel

Admin Panel

Guide Leaderboard

Leaderboard

Tech Stack

  • Framework: Next.js 16 (App Router) + React 19 + TypeScript
  • Styling: Tailwind CSS 3.4
  • Database: MongoDB (Mongoose)
  • i18n: next-intl
  • Payments: @solana/web3.js (wallet-signed transfers)
  • Icons: Lucide React
  • Deployment: Vercel

Getting Started

Prerequisites

  • Node.js 18+
  • Git
  • MongoDB Atlas account (free tier)

Setup

# Clone the repo
git clone https://github.com/solanabr/onboarding.git
cd onboarding

# Install dependencies
npm install

# Configure environment
cp .env.example .env.local
# Edit .env.local with your MongoDB URI, JWT secret, etc.

# Create your first admin account
MONGODB_URI="mongodb+srv://..." \
ADMIN_USERNAME="admin" \
ADMIN_PASSWORD="your-secure-password" \
ADMIN_ROLE="superadmin" \
ADMIN_DISPLAY_NAME="Admin" \
npx tsx scripts/seed-admin.ts

# Start the dev server
npm run dev

Open http://localhost:3000.

Windows? See the docs page for PowerShell-specific commands.

Environment Variables

See .env.example for all variables with detailed comments.

Variable Required Description
MONGODB_URI Yes MongoDB Atlas connection string
JWT_SECRET Yes Secret for admin auth tokens (32+ chars)
DISCORD_WEBHOOK_URL No Discord notifications for new leads
ADMIN_ALLOWED_IPS No Restrict admin panel to specific IPs
NEXT_PUBLIC_SOLANA_RPC_URL No Solana RPC (defaults to PublicNode)

Documentation

The app includes a built-in docs page at /docs with two sections:

  • For Developers — setup, environment vars, MongoDB, admin creation, step customization, i18n, security, LGPD, Vercel deploy, API reference
  • For Guides — registration, referral links, dashboard, claim codes, leaderboard

Security

  • Input validation with Zod on all API routes
  • IP-based rate limiting on all endpoints
  • JWT authentication with httpOnly + SameSite strict cookies
  • CSRF protection via SameSite=strict
  • On-chain TX verification for SOL payments
  • Passwords hashed with bcrypt (cost factor 12)
  • Session tokens for lead ownership
  • Device fingerprinting to limit abuse
  • All npm dependencies pinned to exact versions

License

MIT — Superteam Brazil

About

Superteam onboarding platform

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages