Complete setup guide for developing on the SuperPool platform.
Before starting, ensure you have:
- Node.js v18 or higher
- pnpm (
npm install -g pnpm) - Git
- Firebase project with Firestore, Authentication, and Cloud Functions
- Reown Cloud account for wallet connections (cloud.reown.com)
- Alchemy API key for RPC access (alchemy.com)
- ngrok account for mobile development (ngrok.com)
# Clone and install
git clone https://github.com/rm30-dev/superpool.git
cd superpool
pnpm installEach package requires specific environment variables. See individual package documentation:
- Contracts Environment - Private keys, RPC URLs, Etherscan API
- Backend Environment - Firebase config, contract addresses
- Mobile Environment - Firebase, Reown, contract addresses
Choose the workflow that matches your development focus:
For complete local development with all services:
- Start Local Blockchain - Local Hardhat node with test pools
- Run Backend Services - Firebase emulators with auth
- Launch Mobile App - Expo with localhost network
Test with deployed contracts on testnet:
- Deploy to Testnet - Deploy contracts to Polygon Amoy
- Configure Mobile App - Update contract addresses
- Get testnet POL from Polygon Faucet
Focus on contract development and testing:
- Contract Development Guide - Local/fork/testnet testing
- Run Contract Tests - Comprehensive test suite
Work on the marketing website:
- Landing Page Setup - Next.js development
Start everything with a single command:
# From root directory
pnpm devThis starts:
- Firebase emulators (auth, functions, firestore)
- Ngrok tunnels for mobile device access
- Expo development server
- Auto-updates mobile app with ngrok URLs
Detailed setup and usage for each package:
- Mobile App - React Native/Expo with wallet integration
- Landing Page - Next.js marketing website
- Smart Contracts - Solidity contracts and deployment
- Backend - Firebase Cloud Functions
- UI Components - React component library
- TypeScript Types - Shared type definitions
- Design System - Design tokens and configuration
- Assets - Brand assets and illustrations
Firebase Emulators Won't Start
- Check that port 9099 (auth), 5001 (functions), and 8080 (firestore) are available
- Ensure service account key is in
packages/backend/service-account-key.json
Mobile App Can't Connect to Localhost
- Verify local blockchain is running (
pnpm node:localin contracts package) - Check contract addresses are updated in mobile
.env - Ensure you're on same network for device testing
Contract Deployment Fails
- Verify
.envhas valid private key and RPC URL - Check you have sufficient testnet tokens
- Confirm Etherscan API key is set for verification
- CLAUDE.md - AI development guidelines and commands
- Architecture Overview - Project structure
- Sprint Planning - Development roadmap
- Design Guidelines - UI/UX specifications
- Check prerequisites are installed correctly
- Verify environment variables in package-specific
.envfiles - Review error messages - they often contain helpful debugging info
- Consult individual package READMEs for detailed setup