π¨ Phenomenal Marketplace Combining Bitcoin Ordinals + Smart Contracts + Dynamic NFTs
A cutting-edge crypto art community platform built with Next.js 14, featuring Bitcoin Ordinals integration, smart contract functionality, and dynamic NFT experiences designed for developers and art collectors.
- Client-Side Only Wallet Interactions - No private keys ever transmitted or stored
- Multi-Signature Transaction Support - Enhanced security for high-value trades
- Content Security Policy (CSP) - Protection against XSS attacks
- HTTPS Enforcement - TLS 1.3 encryption for all communications
- Input Sanitization - Complete protection against injection attacks
- Rate Limiting - Protection against DDoS and brute force attacks
- Hardware Wallet Support - Ledger, Trezor integration
- Message Signing Verification - Cryptographic proof of ownership
- Secure Session Management - JWT tokens with proper expiration
- Connection Monitoring - Real-time wallet status tracking
BitBasel features a sophisticated pink-accented gallery aesthetic designed for crypto art communities:
- Fine art gallery experience with elegant pink (#ff1493) color scheme
- Machina typography for premium, gallery-quality presentation
- Clean, minimal design with state-of-the-art components under 150 lines
- Mobile-first responsive design optimized for art viewing
- Community-focused UX emphasizing local crypto art movements
- Bitcoin Ordinals Integration - Seamlessly browse and discover inscriptions
- Smart Contract Exhibitions - Dynamic collections powered by blockchain logic
- Community Curation - Local crypto art community engagement
- Dynamic NFTs - Evolving artworks with smart contract integration
- Gallery Experience - Fine art presentation with responsive layouts
- Multi-Wallet Support - Unisat, Xverse, Ordinals Wallet, Leather, Phantom
- Connection Management - Persistent wallet sessions
- Transaction Ready - Built for Bitcoin transactions (frontend)
- Security First - Client-side only, no private key storage
- Next.js 14 App Router - Latest React patterns and SSR
- TypeScript Strict Mode - Full type safety throughout
- MobX State Management - Reactive, efficient state updates
- Modern CSS - Custom properties, CSS Grid, Flexbox
- Performance Optimized - Code splitting and lazy loading
| Category | Technology |
|---|---|
| Framework | Next.js 14.2.32 with App Router |
| Language | TypeScript with strict type checking |
| State Management | MobX 6 for reactive state |
| Styling | Custom CSS with design system |
| HTTP Client | Axios for API communication |
| Code Quality | ESLint + Prettier + Husky |
| Wallet Integration | Multi-provider Bitcoin wallet support |
- Node.js 18+
- npm or yarn
# Clone the repository
git clone <repository-url>
cd BitBasel
# Install dependencies
npm install
# Start development server
npm run devOpen http://localhost:3000 to view the application.
# Development
npm run dev # Start development server
npm run build # Build for production
npm start # Start production server
# Code Quality
npm run lint # Run ESLint
npm run lint:fix # Fix ESLint issues
npm run prettier # Format code
npm run type-check # TypeScript checkingsrc/
βββ app/ # Next.js App Router pages
βββ components/ # Reusable React components
β βββ WalletConnect.tsx # Multi-wallet connection
β βββ MarketplaceGrid.tsx # Ordinals/collections grid
β βββ OrdinalCard.tsx # Individual ordinal display
β βββ CollectionCard.tsx # Collection display
βββ store/ # MobX state management
β βββ MarketplaceStore.ts # Marketplace state
β βββ WalletStore.ts # Wallet connection state
β βββ StoreProvider.tsx # React context provider
βββ types/ # TypeScript definitions
βββ styles/ # CSS stylesheets
βββ data/ # Mock data for development
βββ constants/ # App constants
Purpose: Displays Bitcoin Ordinals and Collections in gallery-style layouts
// Usage: <MarketplaceGrid type="collections" featured={true} />
// Features: Loading states, search, sort, responsive design
// TODO: Simplify for <150 line requirementPurpose: Multi-provider Bitcoin wallet integration
// Supported: Unisat, Xverse, Ordinals Wallet, Leather, Phantom
// Security: Client-side only, no private key storage
// TODO: Streamline modal and connection logicPurpose: Gallery-style navigation with community focus
// Features: Exhibitions, Artists, Gallery navigation
// Responsive: Mobile hamburger menu included
// Style: Pink-accented, minimal designPurpose: Individual Bitcoin Ordinal display component
// Features: Image/content display, metadata, pricing
// Hover: Pink glow effects, smooth transitions
// Accessibility: Proper alt tags and ARIA labelsPurpose: Collection/Exhibition preview cards
// Features: Collection stats, verification badges
// Design: Gallery-style with pink accents
// State: MobX integration for reactive updatesPurpose: Handles ordinals, collections, and gallery data
// Actions: fetchOrdinals(), fetchCollections(), fetchStats()
// Computed: filteredOrdinals, listedOrdinals, totalValue
// Mock Data: Uses /src/data/mockData.ts for developmentPurpose: Bitcoin wallet connection and transaction state
// Providers: Multi-wallet support with provider detection
// Security: Connection monitoring, session management
// Integration: Ready for Bitcoin transaction signing/* Primary Gallery Colors */
--color-primary: #ff1493 /* BitBasel Pink */
--color-secondary: #ff69b4 /* Lighter Pink */
--color-accent: #ff1493 /* Pink Accent */
/* Background & Surfaces */
--color-background: #000000 /* Pure Black */
--color-surface: #0a0a0a /* Dark Surface */
--color-border: #2a2a2a /* Subtle Border */
/* Gallery Specific */
--color-bitbasel-pink: #ff1493 /* Main Brand */
--color-bitbasel-pink-soft: #ff69b4 /* Soft Pink */
--color-bitbasel-pink-light: rgba(255, 20, 147, 0.1) /* Pink Glow */
--color-gallery-gold: #d4af37 /* Accent Gold */
/* Gradients */
--gradient-accent: linear-gradient(135deg, #ff1493 0%, #ff69b4 50%, #ff0080 100%)- Primary: Machina (custom web font)
- Fallback: System fonts (-apple-system, BlinkMacSystemFont)
- Hierarchy: Responsive type scale with proper line heights
Create .env.development and .env.production files:
# API Configuration
API_URL=https://api.bitbasel.miami
BASE_URL=https://app.bitbasel.miami
# Wallet Configuration
WALLET_CONNECT_PROJECT_ID=your_project_id
# Bitcoin Network
BITCOIN_NETWORK=mainnet
ORDINALS_API_URL=https://ordinals.com/api
# Social Media
TWITTER_URL=https://twitter.com/bitbasel
DISCORD_URL=https://discord.gg/bitbasel
TELEGRAM_URL=https://t.me/bitbaselnpm run build
npm start# Install Vercel CLI
npm i -g vercel
# Deploy
vercelThe application is optimized for deployment on:
- Vercel (recommended)
- Netlify
- AWS Amplify
- Any static hosting service
- Modern browsers with ES6+ support
- Mobile Safari and Chrome optimized
- Bitcoin wallet extensions compatible
- Progressive Web App ready
-
Optimize Large Components
MarketplaceGrid.tsx: 204 lines β <150 linesWalletConnect.tsx: 158 lines β <150 lines
-
Missing Assets
- Add Machina font files (
/public/fonts/) - Create favicon and manifest.json
- Add social media images for OpenGraph
- Add Machina font files (
-
Smart Contract Integration
- Implement dynamic NFT functionality
- Add Bitcoin Ordinals API integration
- Connect smart contract exhibition logic
// Follow these patterns for <150 line components:
// β
Single responsibility principle
// β
Extract custom hooks for complex logic
// β
Use composition over large monolithic components
// β
Minimize inline styles, use CSS classes
// β
Extract constants and types to separate files- Component Limit: Maximum 150 lines per component
- TypeScript Strict: All code must pass strict type checking
- Pink Theme: Maintain #ff1493 color scheme throughout
- Gallery UX: Focus on fine art presentation and community features
- Fork the repository
- Create your feature branch (
git checkout -b feature/community-feature) - Follow component size limits (<150 lines)
- Test with
npm run devandnpm run type-check - Commit your changes (
git commit -m 'Add community feature') - Push to the branch (
git push origin feature/community-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Art Basel - Inspiration for premium gallery experience
- Bitcoin Ordinals Community - Pioneering digital art on Bitcoin
- Smart Contract Innovators - Pushing boundaries of dynamic NFTs
- Local Crypto Art Communities - Building the future of digital art
- Next.js & MobX Teams - Excellent development frameworks
Built with π¨ for Your City's Crypto Art Community
BitBasel is a community-focused platform combining the permanence of Bitcoin Ordinals with the innovation of smart contracts and dynamic NFTs. This codebase is optimized for developers with clean, documented components under 150 lines each.
git clone <repo-url> && cd BitBasel
npm install && npm run dev
# Open http://localhost:3000 - Pink gallery theme ready! π¨