A modern search-engine, platform, marketplace, and network built with Next.js, TypeScript, and Tailwind CSS.
- Framework: Next.js 14+ (App Router)
- Language: TypeScript
- Styling: Tailwind CSS
- State Management:
- TanStack Query (React Query) for server state
- Zustand for client state
- Forms: react-hook-form + Zod validation
- Testing: Vitest
- Code Quality: ESLint + Prettier + Husky
Web–Market/
├── app/ # Next.js App Router
│ ├── layout.tsx # Root layout
│ ├── page.tsx # Home page
│ └── globals.css # Global styles
├── components/ # React components
│ └── providers.tsx # App providers (React Query, etc.)
├── lib/ # Utilities and helpers
│ ├── utils.ts # Utility functions
│ ├── store/ # Zustand stores
│ ├── hooks/ # Custom React hooks
│ └── validations/ # Zod schemas
├── types/ # TypeScript type definitions
└── public/ # Static assets
- Node.js 18+
- npm, yarn, or pnpm
- Install dependencies:
npm install- Run the development server:
npm run dev- Open http://localhost:3000 in your browser.
npm run dev- Start development servernpm run build- Build for productionnpm run start- Start production servernpm run lint- Run ESLintnpm run format- Format code with Prettiernpm run test- Run tests with Vitestnpm run test:ui- Run tests with UInpm run test:coverage- Run tests with coverage
Tests are set up with Vitest. Create test files with .test.ts or .test.tsx extension.
This project uses Tailwind CSS. Configure your theme in tailwind.config.ts.
The project is structured to be Electron-ready. When you're ready to add Electron support, you can:
- Install Electron dependencies
- Create an
electron/directory - Configure Electron build process
- ESLint: Configured with Next.js and TypeScript rules
- Prettier: Code formatting with Tailwind plugin
- Husky: Pre-commit hooks for linting and formatting
MIT