Skip to content

Latest commit

Β 

History

History
102 lines (74 loc) Β· 2.87 KB

File metadata and controls

102 lines (74 loc) Β· 2.87 KB

HashStack Base Client

A modern, Web3-enabled Next.js application built with TypeScript and TailwindCSS. This project serves as the base client for HashStack's decentralized platform.

πŸ— Architecture

Tech Stack

  • Framework: Next.js 15.1 with React 19
  • Language: TypeScript
  • Styling: TailwindCSS with SASS support
  • Web3: RainbowKit, wagmi, and viem for blockchain interactions
  • State Management: Zustand
  • Data Fetching: TanStack Query (React Query)
  • UI Components: Radix UI primitives

Project Structure

β”œβ”€β”€ app/                  # Next.js 15 app directory (pages, layouts)
β”œβ”€β”€ assets/              # Static assets (images, icons)
β”œβ”€β”€ components/          # Reusable UI components
β”‚   β”œβ”€β”€ ui/             # Base UI components
β”‚   └── ...             # Feature-specific components
β”œβ”€β”€ constant/           # Application constants and configurations
β”œβ”€β”€ context/            # React context providers
β”œβ”€β”€ features/           # Feature-specific modules
β”œβ”€β”€ hooks/              # Custom React hooks
β”œβ”€β”€ lib/                # Third-party library configurations
β”œβ”€β”€ store/              # Zustand store definitions
β”œβ”€β”€ styles/             # Global styles and Tailwind configurations
β”œβ”€β”€ types/              # TypeScript type definitions
β”œβ”€β”€ utils/              # Utility functions
└── web3/               # Web3-specific implementations

πŸš€ Getting Started

Prerequisites

  • Node.js 18+
  • Yarn package manager

Installation

# Install dependencies
yarn install

# Setup environment variables
cp .env.example .env.local

# Start development server
yarn dev

The application will be available at http://localhost:3000.

Development Features

  • TurboRepo Integration: Faster development builds
  • TypeScript: Strict type checking
  • ESLint & Prettier: Code quality and formatting
  • Tailwind CSS: Utility-first CSS framework with animations

πŸ”§ Configuration

Environment Variables

Copy .env.example to .env.local and configure:

  • NEXT_PUBLIC_WALLET_CONNECT_ID: WalletConnect Project ID
  • NEXT_PUBLIC_ALCHEMY_ID: Alchemy API Key
  • Additional network-specific variables

Web3 Configuration

Web3 providers and network configurations are managed in web3/ directory. The application supports multiple networks through RainbowKit and wagmi.

πŸ“¦ Build & Deployment

# Production build
yarn build

# Start production server
yarn start

🀝 Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request to development branch

This project is proprietary software. All rights reserved.