Before running the app, you need a Reown (WalletConnect) Project ID:
- Visit https://cloud.reown.com
- Sign in or create a free account
- Click "Create New Project"
- Give your project a name (e.g., "Chilly DApp")
- Copy the Project ID
Create a .env.local file in the root directory:
NEXT_PUBLIC_PROJECT_ID=your_project_id_hereReplace your_project_id_here with the Project ID you copied from Reown Cloud.
# Install dependencies
npm install
# Run development server
npm run devThe app will be available at http://localhost:3000 (or next available port if 3000 is busy).
The app now includes full Reown AppKit (WalletConnect) integration with:
- Multiple wallet support: MetaMask, Coinbase Wallet, Trust Wallet, Rainbow, and 300+ others
- Email login: Users can authenticate with just their email (no wallet required)
- Social logins: Google, X (Twitter), GitHub, Discord, and Apple
- Multi-chain support: Ethereum Mainnet, Sepolia Testnet, Polygon, and Arbitrum
Six professional landing page sections:
-
Header (
components/Header.tsx)- Fixed navigation bar
- Reown wallet connect button (
<appkit-button />) - Responsive design with mobile menu support
-
Hero (
components/Hero.tsx)- Eye-catching gradient headline
- Animated "live" badge
- Dynamic CTA based on wallet connection status
- Stats section (orders tracked, uptime, support)
-
Features (
components/Features.tsx)- 6 feature cards with icons
- Hover effects and animations
- Highlights key Web3 capabilities
-
How It Works (
components/HowItWorks.tsx)- 4-step process flow
- Visual progression with connecting lines
- Clear, simple explanations
-
CTA (
components/CTA.tsx)- Bold call-to-action with gradient background
- Primary and secondary actions
- Links to GitHub
-
Footer (
components/Footer.tsx)- Brand information
- Navigation links
- Social media icons
- Copyright notice
lib/web3.ts: Reown AppKit configuration with wagmi adapterlib/Web3Provider.tsx: React context provider wrapping the appapp/layout.tsx: Updated to include Web3Provider
- Using Tailwind CSS v4
- Custom CSS variables for theming
- Dark mode support
- Custom scrollbar styling
- Responsive design for all screen sizes
chilly/
├── app/
│ ├── layout.tsx # ✅ Updated with Web3Provider
│ ├── page.tsx # ✅ New landing page
│ └── globals.css # ✅ Updated Tailwind config
├── components/
│ ├── Header.tsx # ✅ New
│ ├── Hero.tsx # ✅ New
│ ├── Features.tsx # ✅ New
│ ├── HowItWorks.tsx # ✅ New
│ ├── CTA.tsx # ✅ New
│ └── Footer.tsx # ✅ New
├── lib/
│ ├── web3.ts # ✅ New - Reown configuration
│ └── Web3Provider.tsx # ✅ New - Web3 context
├── .env.local # ⚠️ You need to create this
└── .env.example # ✅ Template provided
Once the app is running:
-
Click the "Connect" button in the header
-
Choose your preferred method:
- Wallet: Scan QR code or select from available wallets
- Email: Enter your email for passwordless authentication
- Social: Connect with Google, X, GitHub, Discord, or Apple
-
After connecting, you'll see:
- Your wallet address/email in the header
- Updated Hero section with "Dashboard" and "Create Order" buttons
- Account management options
Edit lib/web3.ts to modify supported networks:
import { mainnet, sepolia, polygon, arbitrum, optimism } from '@reown/appkit/networks'
export const wagmiAdapter = new WagmiAdapter({
// ...
networks: [mainnet, sepolia, polygon, arbitrum, optimism],
})Edit lib/web3.ts to change app information:
const metadata = {
name: 'Your App Name',
description: 'Your app description',
url: 'https://your-domain.com',
icons: ['https://your-icon-url.com/icon.png']
}Each section is a separate component in components/. Edit them to customize:
- Text and copy
- Colors and styling
- Layout and structure
- Add or remove sections
Now that you have the landing page and wallet integration set up, you can:
-
Build order tracking features:
- Create order form
- Order dashboard
- Order detail views
- Real-time status updates
-
Add smart contract integration:
- Deploy order tracking contract
- Connect contract methods to UI
- Handle transactions
-
Implement backend:
- API routes for off-chain data
- Database for metadata
- IPFS for document storage
-
Add authentication logic:
- Protect routes based on wallet connection
- User profiles and settings
- Permission management
If port 3000 is busy, Next.js will automatically use the next available port (3001, 3002, etc.).
- Make sure you've set
NEXT_PUBLIC_PROJECT_IDin.env.local - Check that your Reown project is active at cloud.reown.com
- Try clearing browser cache and reconnecting
If you see TypeScript errors:
npm run buildThis will show detailed error messages.
Make sure Tailwind CSS is working:
- Check that
postcss.config.mjsexists - Verify
@import "tailwindcss"is inapp/globals.css - Restart the dev server after CSS changes
- Open an issue: GitHub Issues
- Check documentation: See links above
- Community support: Reach out to the maintainers
Happy building! 🌶️