A modern, production-ready e-commerce platform built with React, TypeScript, Node.js, and MongoDB. Features a sophisticated UI inspired by luxury fashion brands with complete user authentication, cart management, and admin dashboard.
- Modern React 18 with TypeScript and Vite
- Responsive Design with Tailwind CSS
- Smooth Animations using Framer Motion
- State Management with Context API
- Shopping Cart with persistent storage
- User Authentication with JWT
- Product Catalog with search and filtering
- Dashboard for admin/staff users
- Node.js & Express with TypeScript
- MongoDB with Mongoose ODM
- JWT Authentication with bcrypt
- Image Upload with Cloudinary
- Real-time Updates via WebSockets
- Rate Limiting and security middleware
- Input Validation with Zod
- Payment Integration (Paystack simulation)
- Node.js 18+
- MongoDB (local or Atlas)
- Git
- Clone the repository
git clone https://github.com/yourusername/dashngshop-mvp.git
cd dashngshop-mvp- Install dependencies
npm run setup- Environment Setup
# Copy environment files
cp .env.example .env
cp client/.env.local.example client/.env.local
# Update the environment variables with your values- Start MongoDB
# If using local MongoDB
mongod
# Or start your MongoDB Atlas connection- Run the application
# Development mode (runs both client and server)
npm run dev
# Or run separately
npm run client:dev # Frontend only (port 3000)
npm run server:dev # Backend only (port 5000)dashngshop-mvp/
βββ client/ # React frontend
β βββ src/
β β βββ components/ # Reusable UI components
β β βββ contexts/ # React Context providers
β β βββ pages/ # Page components
β β βββ services/ # API services
β β βββ data/ # Mock data and types
β β βββ utils/ # Helper functions
β βββ public/ # Static assets
β βββ package.json
βββ server/ # Node.js backend
β βββ src/
β β βββ controllers/ # Route controllers
β β βββ middleware/ # Custom middleware
β β βββ models/ # MongoDB models
β β βββ routes/ # API routes
β β βββ services/ # Business logic
β β βββ utils/ # Helper functions
β βββ package.json
βββ package.json # Root package.json
- Homepage - Hero section, featured products, brand story
- Products - Product catalog with filtering and search
- Product Detail - Detailed product view with variants
- Categories - Browse by product categories
- New Arrivals - Latest products
- Cart & Checkout - Shopping cart and order placement
- Auth Pages - Login and registration
- Analytics - Sales metrics and charts
- Products - Product management (CRUD)
- Orders - Order management and tracking
- Inventory - Stock management
- Customers - Customer management
- Settings - System configuration
- React 18 with TypeScript
- Vite (build tool)
- Tailwind CSS (styling)
- Framer Motion (animations)
- React Router (routing)
- React Query (data fetching)
- Lucide React (icons)
- Axios (HTTP client)
- Node.js with Express
- TypeScript
- MongoDB with Mongoose
- JWT for authentication
- Bcrypt for password hashing
- Multer for file uploads
- Cloudinary for image storage
- Socket.io for real-time features
- Zod for validation
- Helmet for security
- JWT token authentication
- Password hashing with bcrypt
- Rate limiting to prevent abuse
- Input validation and sanitization
- CORS configuration
- Helmet for security headers
- Environment variable protection
The application is fully responsive and works seamlessly across:
- Desktop (1200px+)
- Tablet (768px - 1199px)
- Mobile (320px - 767px)
- Primary Font: Playfair Display (serif) for headings
- Secondary Font: Inter (sans-serif) for body text
- Primary: Neutral tones (charcoal, warm grays)
- Accent: Earth tones (camel, burgundy)
- Status: Standard semantic colors
- Consistent spacing using Tailwind's scale
- Subtle shadows and borders
- Smooth hover and focus states
- Loading and error states
cd client
npm run build
# Deploy the `dist` foldercd server
npm run build
# Deploy with your platform of choiceMake sure to set all required environment variables in your deployment platform.
# Run frontend tests
cd client
npm run test
# Run backend tests
cd server
npm run test# Build frontend
cd client
npm run build
# Build backend
cd server
npm run build
# Start production server
cd server
npm start- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
- Design inspiration from luxury fashion e-commerce sites
- Icons by Lucide React
- Images from Unsplash
- Animations powered by Framer Motion
For support, email support@dashngshop.com or join our Slack channel.
Happy coding! π"# dash-client"