π The official website for the Dubhe blockchain infrastructure platform, built with cutting-edge web technologies.
Dubhe Website is a modern, high-performance web application showcasing the Dubhe blockchain ecosystem. Built on Next.js 15 with React 19 and TypeScript 5.7, it features a comprehensive presentation of Dubhe's infrastructure solutions, developer tools, and community resources.
- ποΈ Modern Architecture: Next.js 15 + React 19 + TypeScript 5.7
- β‘ Performance Optimized: Turbopack, bundle optimization, image optimization
- π¨ Beautiful UI: shadcn/ui components with custom design system
- π± Responsive Design: Mobile-first approach with smooth animations
- π Security First: Zero vulnerabilities, comprehensive security measures
- π οΈ Developer Experience: ESLint, Prettier, type safety, monorepo structure
- Frontend: Next.js 15, React 19, TypeScript 5.7
- Styling: Tailwind CSS, shadcn/ui components
- Animations: Framer Motion
- Icons: Lucide React
- Build: Turbo (monorepo), pnpm
- Code Quality: ESLint, Prettier, TypeScript strict mode
- Email: Resend API integration
dubhe-website/
βββ apps/
β βββ web/ # Main Next.js application
β βββ app/ # Next.js 13+ app directory
β βββ components/ # React components
β β βββ home/ # Refactored home page components
β βββ public/ # Static assets
β βββ styles/ # Global styles
βββ packages/
β βββ ui/ # Shared UI components (shadcn/ui)
β βββ typescript-config/ # Shared TypeScript configuration
β βββ eslint-config/ # Shared ESLint configuration
βββ turbo.json # Turbo monorepo configuration
βββ pnpm-workspace.yaml # pnpm workspace configuration
βββ SECURITY.md # Security documentation
- Home: Complete platform overview with features and architecture
- Engine: Blockchain engine technical details
- OS: Operating system layer documentation
- Channel: Communication channels and APIs
- Labs: Research and development initiatives
- Grants: Funding opportunities for developers
- Incubation: Startup support programs
- Ambassador: Community ambassador program
- Team: Core team and contributors
- Proposal: Governance and proposal system
- Contact: Get in touch and support
- Node.js 20+ (recommended: latest LTS)
- pnpm 10.4.1+
- Git
-
Clone the repository
git clone https://github.com/your-org/dubhe-website.git cd dubhe-website -
Install dependencies
pnpm install
-
Start development server
pnpm dev
-
Open in browser Navigate to http://localhost:3000
Create a .env.local file in apps/web/:
# Email configuration (optional)
RESEND_API_KEY=your_resend_api_key
RESEND_FROM_EMAIL=noreply@dubhe.com
RESEND_TO_EMAIL=contact@dubhe.com# Development
pnpm dev # Start all apps in development mode
pnpm dev:turbo # Start with Turbopack (faster)
# Building
pnpm build # Build all packages and apps
pnpm start # Start production server
# Code Quality
pnpm lint # Run ESLint on all packages
pnpm lint:fix # Auto-fix ESLint issues
pnpm format # Format code with Prettier
pnpm typecheck # Run TypeScript type checking
# Security
pnpm audit # Check for security vulnerabilities
pnpm audit --fix # Auto-fix security issuesTo add shadcn/ui components:
pnpm dlx shadcn@latest add button -c apps/webComponents are installed in packages/ui/src/components and can be imported:
import { Button } from "@workspace/ui/components/button"- TypeScript: Strict mode enabled, prefer type safety
- React: Use functional components with hooks
- Styling: Tailwind CSS with component composition
- Imports: Use absolute imports with workspace aliases
- File Naming: kebab-case for files, PascalCase for components
The main home page has been refactored into focused components:
HeroSection: Main landing section with call-to-actionsFeaturesSection: Key platform features overviewProductSuiteSection: Product lineup presentationNetworkArchitectureSection: Technical architecture visualizationCommunitySection: Community engagement and social proofCompaniesSection: Partner and client showcase
# Production build
pnpm build
# Verify build
pnpm startVercel (Recommended)
# Install Vercel CLI
npm i -g vercel
# Deploy
vercel --prodDocker
FROM node:20-alpine AS base
WORKDIR /app
COPY . .
RUN pnpm install --frozen-lockfile
RUN pnpm build
EXPOSE 3000
CMD ["pnpm", "start"]- Image Optimization: Next.js Image component with WebP/AVIF
- Bundle Splitting: Webpack optimization for vendor chunks
- Tree Shaking: Unused code elimination
- Compression: Gzip/Brotli compression enabled
- Caching: Aggressive caching for static assets
β Current Status: All vulnerabilities resolved (0/5)
- Regular security audits with
pnpm audit - Automated dependency updates via pnpm overrides
- Comprehensive security documentation in
SECURITY.md - No known vulnerabilities in production dependencies
See SECURITY.md for detailed security information.
- Fork the repository
- Create feature branch:
git checkout -b feature/amazing-feature - Make changes and test:
pnpm lint && pnpm typecheck && pnpm build - Commit changes:
git commit -m 'feat: add amazing feature' - Push to branch:
git push origin feature/amazing-feature - Open Pull Request
- Follow existing code style and conventions
- Add TypeScript types for all new code
- Write meaningful commit messages (conventional commits)
- Test your changes across different screen sizes
- Run linting and type checking before committing
- Update documentation for significant changes
- Documentation: Check this README and inline code comments
- Issues: Report bugs and feature requests via GitHub Issues
- Community: Join our Discord for discussions
- Email: contact@dubhe.com for enterprise inquiries
This project is proprietary software. All rights reserved.
Built with β€οΈ by the Dubhe Team
For more information about Dubhe blockchain infrastructure, visit dubhe.com.