hello
A premium sneaker marketplace built with Next.js 15, featuring the SneakerVerse UI integrated with Filecoin/IPFS storage capabilities.A Next.js starter kit for building decentralized sneaker marketplace applications with Lighthouse Storage (IPFS) and Smart Contracts. Features a complete UI component library from SneakerVerse.
-
Beautiful UI: SneakerVerse design with hero banners, product grids, and smooth animations- π Wallet Integration - Rainbow Kit + Wagmi (Multi-chain support)
-
Web3 Wallet Integration: Rainbow Kit for seamless wallet connections- π¦ IPFS Storage - Lighthouse SDK for decentralized storage
-
Blockchain Storage: Lighthouse SDK for IPFS/Filecoin storage- π Smart Contracts - Store sneaker metadata on blockchain
-
47+ UI Components: Complete shadcn/ui component library- π¨ 47+ UI Components - Complete shadcn/ui + SneakerVerse components
-
Type-Safe: Full TypeScript support- π± Responsive Design - Mobile-first with dark mode support
-
Responsive: Mobile-first design with elegant layouts- β‘ Upload Flow - Complete image upload with progress tracking
-
Framework: Next.js 15.3.0 (App Router)β Wallet connection (Rainbow Kit)
-
Styling: Tailwind CSS 3.4.1β Lighthouse IPFS uploads
-
UI Components: Radix UI + shadcn/uiβ Smart contract integration
-
Wallet: Rainbow Kit 2.2.8 + Wagmi 2.18.0β Store & retrieve CIDs on-chain
-
Storage: Lighthouse SDK 0.4.3β Complete UI component library
-
State: TanStack React Query 5.83.0β Toast notifications
-
Forms: React Hook Form + Zod validationβ Upload with progress tracking
-
Node.js 18+ # 1. Install dependencies
-
npm or yarnnpm install
cp .env.sample .env.local
# Install dependencies# - NEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID
npm install# - NEXT_PUBLIC_LIGHTHOUSE_API_KEY
# Run development server# 3. Start development server
npm run devnpm run dev
Open http://localhost:3000 to see the app.# http://localhost:3000
## π Project Structure
## π Get API Keys
orbit-starter-kit/- Wallet Connect ID: https://cloud.reown.com (free)
βββ app/ # Next.js app directory- Lighthouse API: https://files.lighthouse.storage/dashboard/apikey (free)
β βββ page.tsx # Home page with SneakerVerse UI
β βββ layout.tsx # Root layout## π Key Pages & Features
β βββ globals.css # Global styles
β βββ providers.tsx # Web3 providers### Working Now:
βββ components/- / - Home page with wallet connection
β βββ home/ # Hero banner, price range, trending- /store - Lighthouse storage demo β
Fully working!
β βββ marketplace/ # Filter bar - Upload images to IPFS
β βββ product/ # Product detail views - Store CIDs on blockchain
β βββ sneakers/ # Sneaker cards - Retrieve and display images
β βββ layout/ # Navigation components (needs routing conversion)- /upload - Upload sneakers with metadata
β βββ ui/ # 47 shadcn/ui components - Name, brand, image
βββ lib/ - Automatic IPFS upload
β βββ api.ts # Mock API with sneaker data - Progress tracking
β βββ utils.ts # Utility functions- /wallet - Wallet connection page
βββ types/
β βββ index.ts # TypeScript type definitions### UI Components Available:
βββ hooks/ # Custom React hooksAll ready to use in your pages:
- HeroBanner, SneakerCard, ProductDetail
## π¨ UI Components- FilterBar, PriceRangeSection
- 47+ shadcn/ui components
### SneakerVerse Components
- **HeroBanner**: Auto-advancing carousel with navigation## π Documentation
- **PriceRangeSection**: Interactive price filter cards
- **TrendingSection**: Horizontal scrollable showcase- **[QUICK-START.md](./QUICK-START.md)** - Complete setup checklist
- **SneakerCard**: Product cards with images, pricing, badges- **[STATUS.md](./STATUS.md)** - Current status & testing guide
- **ProductDetail**: Full product view with image gallery- **[INTEGRATION-GUIDE.md](./INTEGRATION-GUIDE.md)** - Full integration details
- **FilterBar**: Advanced filtering for marketplace- **[MIGRATION-GUIDE.md](./MIGRATION-GUIDE.md)** - Component migration info
### shadcn/ui Library (47 components)## ποΈ Project Structure
Button, Card, Dialog, Sheet, Tabs, Form, Input, Select, Dropdown Menu, Toast, Skeleton, Badge, Avatar, Calendar, Carousel, Chart, Checkbox, Command, Context Menu, Drawer, Hover Card, Label, Menubar, Navigation Menu, Pagination, Popover, Progress, Radio Group, Scroll Area, Separator, Sidebar, Slider, Switch, Table, Textarea, Toggle, Tooltip, and more...
βββ app/
β βββ store/page.tsx # Lighthouse demo β Working!
Create a .env.local file:β βββ upload/page.tsx # Sneaker upload page
β βββ globals.css # Styles with SneakerVerse theme
# Wallet Connect Project IDβ βββ ui/ # 47 shadcn/ui components
NEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID=your_project_idβ βββ home/ # HeroBanner, PriceRange, Trending
β βββ layout/ # Navigation, MobileNav
# Lighthouse API Keyβ βββ sneakers/ # SneakerCard, SneakerUpload
NEXT_PUBLIC_LIGHTHOUSE_API_KEY=your_api_keyβ βββ product/ # ProductDetail
β βββ marketplace/ # FilterBar
# RPC URLβββ contracts/
NEXT_PUBLIC_RPC_URL=https://sepolia.base.orgβ βββ SneakerStorage.sol # Enhanced smart contract
βββ lib/
# Contract Addressβ βββ contract.ts # Contract ABI & address
NEXT_PUBLIC_CONTRACT_ADDRESS=your_contract_addressβ βββ utils.ts # Utility functions
```β βββ api.ts # API layer (mock/replace)
βββ hooks/
## β οΈ Known Issuesβ βββ useEthers.ts # Ethers provider/signer
β βββ use-mobile.tsx # Mobile breakpoint
### Navigation Componentsβ βββ use-toast.ts # Toast notifications
The Navigation and MobileNav components currently use `wouter` routing from the original SneakerVerse project. They need to be converted to Next.js routing (`next/link` and `usePathname`) to work properly.βββ types/
βββ index.ts # TypeScript interfaces
**Temporary Solution**: Navigation is disabled in `layout.tsx` until routing conversion is complete.```
## π§ TODO## π§ Smart Contract
- [ ] Convert Navigation components from wouter to Next.js routing### Current Contract (Deployed)
- [ ] Add more marketplace pages (Collection, Drops, Profile)- **Address**: `0xc50dd07ae5CdE4B1bFf213881b87180e22e34A9c`
- [ ] Integrate real backend API- **Network**: Base Sepolia
- [ ] Deploy enhanced smart contract- **Functions**: `store(cid)`, `retrieve()`
- [ ] Add product detail pages with dynamic routing
- [ ] Implement cart and checkout flow### Enhanced Contract (Ready to Deploy)
- [ ] Add user authenticationLocated in `contracts/SneakerStorage.sol`:
- Store sneaker metadata (name, brand, CIDs)
## π Scripts- Link sneakers to owners
- Query by ID or owner address
```bash- Backward compatible
# Development
npm run dev # Start dev server with Turbopack**Deploy via Remix**: https://remix.ethereum.org/
# Production## π§ͺ Testing
npm run build # Build for production
npm start # Start production server```bash
# Test wallet connection
# LintingVisit any page and click "Connect Wallet"
npm run lint # Run ESLint
```# Test Lighthouse upload (Working Now!)
1. Visit /store
## π Deployment2. Connect wallet
3. Upload an image
This project is ready to deploy on Vercel:4. Click "Store on Blockchain"
5. See stored image displayed
[](https://vercel.com/new/clone?repository-url=https://github.com/your-repo)
# Test sneaker upload
## π License1. Visit /upload
2. Enter name and brand
MIT License3. Upload image
4. Auto-uploads to IPFS + stores on chain
## π€ Contributing```
Contributions welcome! Please open an issue or PR.## π οΈ Development
---```bash
# Run dev server
**Built with β€οΈ using SneakerVerse UI + Orbit Starter Kit**npm run dev
# Build for production
npm run build
# Start production server
npm start
# Lint code
npm run lint
- Framework: Next.js 15
- Blockchain: Wagmi + Ethers.js + Rainbow Kit
- Storage: Lighthouse SDK (IPFS)
- UI: Tailwind CSS + shadcn/ui + Radix UI
- Forms: React Hook Form + Zod
- State: TanStack Query
- Icons: Lucide React
All components are production-ready:
- Navigation, MobileNav, Footer, Header
- SneakerCard, SneakerUpload, ProductDetail
- HeroBanner, PriceRangeSection, TrendingSection
- FilterBar (with sorting, filtering)
- Buttons, Cards, Inputs, Select, Checkbox
- Dialog, Sheet, Popover, Tooltip
- Tabs, Accordion, Table, Form
- Toast, Progress, Avatar, Badge
- And many more...
# Install Vercel CLI
npm i -g vercel
# Deploy
vercel
# Add environment variables in Vercel dashboardWorks with any Next.js hosting:
- Netlify
- Railway
- Render
- AWS Amplify
Fix: Add NEXT_PUBLIC_LIGHTHOUSE_API_KEY to .env.local
Fix:
- Add Wallet Connect ID to
.env.local - Click "Connect Wallet" button
Fix:
- Switch to Base Sepolia network
- Get test ETH from faucet
- Verify contract address
Fix: Some copied components need routing updates (see MIGRATION-GUIDE.md)
MIT
Contributions welcome! Please read contributing guidelines first.
- Lighthouse Docs: https://docs.lighthouse.storage/
- Rainbow Kit: https://www.rainbowkit.com/docs
- Base Sepolia Faucet: https://www.coinbase.com/faucets
- Remix IDE: https://remix.ethereum.org/
Give a βοΈ if this project helped you!
Built with β€οΈ using Filecoin, Lighthouse, and Next.js