- Setup & Configuration ✅ 100%
- Core Features ✅ 100%
- Admin Dashboard ✅ 100%
- User Features ✅ 100%
- Advanced Features ✅ 100%
- Testing & Deployment 🔄 50%
- Post-Launch 🚧 0%
The application is currently deployed at https://ecommerce-rho-plum.vercel.app/
- Added improved error handling and debugging tools
- Fixed OAuth configuration for Google sign-in
- Added comprehensive deployment documentation
- Implemented health check endpoints
For detailed deployment instructions, see docs/deployment.md
For OAuth setup instructions, see docs/oauth-setup.md
- Products Catalog: Comprehensive product listings with filters and search
- Product Details: Image gallery, specifications, and related products
- Shopping Cart: Add/remove functionality, quantity management, and persistent cart
- User Authentication: Sign up/login flows, password reset, and OAuth providers
- Checkout Process: Multi-step checkout with address and payment management
- Metrics Section: Key performance indicators with change tracking
- Analytics: Revenue & orders charts, order status distribution
- Management: Top products overview, low stock alerts, recent orders table
- Admin Authentication: Role-based access control for admin features
- User Dashboard: Profile management and personalization
- Order History: Track and manage past orders
- Wishlist: Save products for later
- Address Management: Multiple shipping addresses
- Advanced Search: Faceted filtering and comprehensive search options
- Performance Optimization: Image optimization, lazy loading, and caching
- SEO: Best practices, sitemap generation, meta tags, and schema markup
- Unit Tests: Jest with TypeScript support
- Component Tests: UI component testing
- Integration Tests: Cart, checkout, admin dashboard, and API testing
- E2E Tests: Playwright for end-to-end testing
- Security Testing: XSS prevention, CSRF protection, and input validation
The following images are required for the eBay listings import:
-
Category Images (1200x800px recommended):
/public/images/industrial.webp- Industrial & Electrical Equipment category/public/images/books.webp- Books & Literature category/public/images/textbooks.webp- Textbooks & Educational category/public/images/coins.webp- Coins & Collectibles category
-
Product Images:
/public/images/placeholder.webp- Default placeholder for products (800x800px recommended)
Please ensure these images are present in the correct locations before running the import script.
- Place your eBay listings CSV file in the
datadirectory asebay-listings.csv - Ensure all required images are in place
- Run the import script:
npm run import-ebay
# Install dependencies
npm install
# Run development server
npm run dev
# Build for production
npm run build
# Start production server
npm run start
# Run tests
npm test
# Run E2E tests
npm run test:e2e
# Type checking
npm run type-checkCreate a .env.local file with the following variables:
# Database
DATABASE_URL="postgresql://user:password@localhost:5432/estore"
# Authentication
NEXTAUTH_URL="http://localhost:3000"
NEXTAUTH_SECRET="your-secret-key"
# Email (Resend)
RESEND_API_KEY="your-resend-api-key"
# File Upload (Uploadthing)
UPLOADTHING_SECRET="your-uploadthing-secret"
UPLOADTHING_APP_ID="your-uploadthing-app-id"
# Payment Processing
STRIPE_SECRET_KEY="your-stripe-secret-key"
STRIPE_WEBHOOK_SECRET="your-stripe-webhook-secret"- Frontend: Next.js 15, React, TypeScript, Tailwind CSS, Shadcn UI
- State Management: Zustand
- Forms & Validation: React Hook Form, Zod
- Authentication: NextAuth.js
- Database: PostgreSQL, Prisma ORM
- File Upload: Uploadthing
- Email: Resend
- Testing: Jest, React Testing Library, Playwright
- Analytics: Recharts
- Deployment: Vercel
MIT
This is a Next.js project bootstrapped with create-next-app.
First, run the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun devOpen http://localhost:3000 with your browser to see the result.
You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.
This project uses next/font to automatically optimize and load Geist, a new font family for Vercel.
To learn more about Next.js, take a look at the following resources:
- Next.js Documentation - learn about Next.js features and API.
- Learn Next.js - an interactive Next.js tutorial.
You can check out the Next.js GitHub repository - your feedback and contributions are welcome!
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out our Next.js deployment documentation for more details.