A modern, full-stack product discovery platform built with Next.js 15, enabling users to discover, bookmark, and recommend products.
- Product Discovery: Browse and discover products with rich metadata
- User Authentication: Multi-provider authentication (Google OAuth, email/password, passkeys, 2FA)
- Bookmarks & Recommendations: Save favorite products and recommend to others
- Real-time Notifications: Get notified about product activity
- File Uploads: Upload product images with UploadThing integration
- Bot Protection: Vercel BotID integration for secure mutations
- Responsive Design: Modern UI with Tailwind CSS and Radix UI
- Framework: Next.js 15 with App Router and Turbopack
- Database: PostgreSQL with Drizzle ORM
- API: tRPC for type-safe end-to-end APIs
- Authentication: Better-auth with multi-provider support
- UI: Tailwind CSS with Radix UI components
- File Uploads: UploadThing
- Bot Protection: Vercel BotID
- Clone the repository:
git clone <repository-url>
cd prodfind
- Install dependencies:
pnpm install
- Set up environment variables:
cp .env.example .env.local
# Configure your database, auth providers, and other services
- Set up the database:
pnpm db:auth:generate
pnpm db:generate
pnpm db:migrate
Start the development server:
pnpm dev
The application will be available at http://localhost:3000
.
src/
├── app/ # Next.js App Router
│ ├── (auth)/ # Authentication pages
│ ├── (dashboard)/ # User dashboard
│ ├── (home)/ # Public pages
│ └── api/ # API routes
├── components/ # React components (feature-organized)
├── lib/ # Core utilities, DB connection, auth config
├── trpc/ # tRPC routers and configuration
├── types/ # TypeScript schemas and types
└── drizzle/ # Database migrations
- Fork the repository
- Create a feature branch
- Make your changes
- Run linting and type checking
- Submit a pull request
More on CONTRIBUTING.md.
MIT License (LICENSE)