A modern web marketplace built with Next.js, leveraging blockchain technology for secure escrow-based transactions.
- Next.js - React framework
- Radix UI - Headless UI primitives
- shadcn/ui - Accessible components
- TailwindCSS - Utility-first CSS
- TypeScript - Type safety
- Biome - Fast formatter and linter
- Stellar - Blockchain network
frontend/
├── app/ # Next.js App Router and pages
├── components/ # Reusable React components
│ ├── home/ # Home page components
│ ├── marketplace/ # Marketplace-related components
│ ├── products/ # Product-related components
│ ├── providers/ # Context providers (e.g., ThemeProvider)
│ ├── shared/ # Common UI elements
│ └── ui/ # shadcn/ui components
├── context/ # Global state and providers
├── fonts/ # Custom and external fonts
├── hooks/ # Custom React hooks
├── lib/ # Core utilities and configurations
│ ├── mocks/ # Mock data for testing
│ ├── schemas/ # Zod validation schemas
│ ├── types/ # TypeScript types and interfaces
├── locales/ # i18n translation files
├── public/ # Static assets (images, icons, etc.)
├── utils/ # Pure utility functions (e.g., string formatting, helpers)
docs/instructions # Project documentation and guidelines
└── instructions.md # Project specifications
.cursorrules # Development standards
The instructions.md
file serves as a blueprint for Cursor AI, defining:
- Project overview and core functionalities
- Component specifications
- Feature requirements
- Implementation details
The .cursorrules
file defines coding standards and development guidelines:
- TypeScript configurations and best practices
- Component structure and naming conventions
- Testing requirements
- Code formatting rules via Biome
- Project architecture patterns
- Install dependencies:
npm install
- Run development server:
npm run dev
npm run dev
- Start development servernpm run build
- Create production buildnpm run start
- Start production servernpm run lint
- Run Biome linter
import { Button } from "@/components/ui/button"
// Use shadcn/ui components
<Button variant="outline">Click me</Button>
- Use TypeScript for type safety
- Follow Biome linting rules
- Components should be accessible
- Use Tailwind CSS for styling
- Prefer server components unless client interactivity needed
MIT License