A large-scale, full-stack B2C furniture marketplace tailored for the Damietta furniture industry using ReactJS and Next.js with App Router.
- Node.js 18+
- MongoDB (local or MongoDB Atlas)
- npm or yarn
# Make the setup script executable and run it
chmod +x setup_start_project.sh
./setup_start_project.sh
# Or manually:
npm install
npm run dev
damietta-furniture-marketplace/
├── src/
│ ├── app/
│ │ ├── api/
│ │ │ └── auth/[...nextauth]/route.ts
│ │ ├── (marketplace)/
│ │ ├── (workshop)/
│ │ └── (admin)/
│ ├── components/
│ ├── lib/
│ │ ├── db/
│ │ │ ├── config.ts
│ │ │ └── models/
│ │ ├── auth/
│ │ └── utils.ts
│ └── types/
├── public/
├── .env.local
├── setup_start_project.sh
└── README.md
- User: Customer, Workshop, Admin roles
- Product: 3D models, pricing, specifications
- Category: Hierarchical product categories
- Order: Complete order management
- Review: Product reviews and ratings
- ✅ Authentication system (NextAuth.js)
- ✅ Database models (MongoDB/Mongoose)
- ✅ TypeScript configuration
- ✅ Environment setup
- ✅ Utility functions
- API routes implementation
- Frontend components
- 3D/AR features
- Payment integration
- Admin dashboard
Copy .env.local
and configure:
# Database
MONGODB_URI=mongodb://localhost:27017/damietta-furniture
# Authentication
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET=your-secret-key
# Cloud Storage (optional)
CLOUDINARY_CLOUD_NAME=your-cloud-name
AWS_ACCESS_KEY_ID=your-access-key
# Payment (optional)
STRIPE_SECRET_KEY=your-stripe-key
npm run dev # Start development server
npm run build # Build for production
npm run start # Start production server
npm run lint # Run ESLint
- Workshop to Consumer Marketplace
- 3D Product Previews (Three.js/React-Three-Fiber)
- AR/VR Support for furniture placement
- Multilingual (Arabic & English)
- Payment Integration (Stripe, Paymob)
- Role-based Access (Customer, Workshop, Admin)
- PWA Ready with offline support
For issues or questions:
- Check the setup script:
./setup_start_project.sh
- Ensure MongoDB is running
- Verify environment variables in
.env.local
The foundation is complete. Start building:
- API routes
- Frontend components
- 3D viewer
- Admin dashboard