Fetch Quests Development Wiki
Technical documentation for developers working on Fetch Quests, FQPs, and quest integrations.
Quick Links
| Topic | Description |
|---|---|
| Tech Stack | Languages, frameworks, and infrastructure |
| Database Schemas | All data models and storage patterns |
| Authentication | SIWE auth flow and JWT handling |
| Mail System | Encrypted messaging architecture |
| Wallet Integration | Web3 connection and network switching |
| GitHub Integration | OAuth flow and quest verification |
| API Reference | All endpoints with examples |
| Environment Variables | Configuration reference |
| FAQ | Key technical questions |
Quick Start
bash
# Clone and install
git clone https://github.com/your-org/fetch-quests.git
cd fetch-quests
pnpm install
# Start development servers
cd api && node dev-server.mjs & # API on port 3001
cd frontend && pnpm dev # Frontend on port 5173Architecture Overview
┌─────────────────────────────────────────────────────────────┐
│ Frontend │
│ React 18 + TypeScript + Tailwind + wagmi/viem │
│ Vite dev server → Vercel static hosting │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ API (Serverless) │
│ Vercel Functions (Node.js 20+ ESM) │
│ SIWE Auth → JWT sessions │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Persistence │
│ Vercel KV (Upstash Redis) — encrypted at rest │
│ Dev: JSON seed files + in-memory cache │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Blockchain │
│ Base (L2) — Sepolia testnet / mainnet │
│ Quest.sol smart contract (future) │
└─────────────────────────────────────────────────────────────┘Contributing
See AGENT.md for coding conventions and project structure.