A modern, full-stack e-commerce admin dashboard built with Next.js 13+, designed for managing multiple online stores from a single, powerful interface.
- Create and manage multiple stores from one dashboard
- Store-specific analytics and data isolation
- Easy store switching interface
- Complete CRUD operations for products
- Image upload and management with Cloudinary
- Category and size organization
- Featured and archived product states
- Real-time inventory tracking
- Revenue tracking and visualization
- Sales count monitoring
- Stock level insights
- Monthly revenue graphs
- Real-time dashboard updates
- Order tracking and status updates
- Payment status monitoring
- Customer information management
- Order history and analytics
- Secure user authentication with Clerk
- Protected routes and API endpoints
- User-specific data isolation
- Role-based access control
- Stripe payment processing
- Webhook handling for real-time updates
- Secure payment flow
- Transaction tracking
- Framework: Next.js 13+ (App Router)
- Language: TypeScript
- Styling: Tailwind CSS
- UI Components: Radix UI
- Database: MongoDB with Prisma ORM
- Authentication: Clerk
- File Storage: Cloudinary
- Payments: Stripe
- State Management: Zustand
- Form Handling: React Hook Form + Zod
- Charts: Recharts
- Node.js 16.x or higher
- npm or yarn
- MongoDB database (Atlas recommended)
git clone https://github.com/your-username/ecommerce-admin-dashboard.git
cd ecommerce-admin-dashboardnpm install
# or
yarn installCreate a .env.local file in the root directory:
# Clerk Authentication
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
CLERK_SECRET_KEY=your_clerk_secret_key
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/
NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/
# Database
DATABASE_URL=your_mongodb_connection_string
# Cloudinary
NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME=your_cloudinary_cloud_name
# Stripe
STRIPE_SECRET_KEY=your_stripe_secret_key
STRIPE_WEB_HOOK_SECRET=your_stripe_webhook_secret
# Frontend Store URL (if you have a separate customer store)
NEXT_PUBLIC_STORE_URL=https://your-store-frontend.com# Generate Prisma client
npx prisma generate
# Push database schema
npx prisma db pushnpm run dev
# or
yarn devOpen http://localhost:3000 to view the dashboard.
- Create account at clerk.com
- Create a new application
- Copy API keys to your
.env.local - Configure sign-in/sign-up pages
- Create account at MongoDB Atlas
- Create a new cluster
- Get connection string
- Add to
DATABASE_URLin.env.local
- Create account at cloudinary.com
- Get your cloud name from dashboard
- Add to
NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME
- Create account at stripe.com
- Get API keys from dashboard
- Set up webhook endpoint for
/api/webhook - Add keys to
.env.local
- Push your code to GitHub
- Connect your repository to Vercel
- Add environment variables in Vercel dashboard
- Deploy!
- Netlify: Good Next.js support
- Railway: Full-stack with database hosting
- Render: Free tier available
βββ app/ # Next.js 13+ app directory
β βββ (auth)/ # Authentication pages
β βββ (dashboard)/ # Dashboard pages
β βββ (root)/ # Root pages
β βββ api/ # API routes
βββ components/ # React components
β βββ ui/ # Reusable UI components
β βββ [feature]/ # Feature-specific components
βββ hooks/ # Custom React hooks
βββ lib/ # Utility libraries
βββ prisma/ # Database schema
βββ providers/ # Context providers
βββ actions/ # Server actions
- Sign up/Login to the dashboard
- You'll be prompted to create your first store
- Fill in store details and save
- Start adding categories, sizes, and products
- Navigate to Products section
- Click "Add New" to create products
- Upload images, set categories, and pricing
- Toggle featured/archived status as needed
- Dashboard shows real-time metrics
- Track revenue, sales, and inventory
- View monthly revenue trends
- Monitor store performance
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
- 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.
- Next.js for the amazing framework
- Clerk for authentication
- Prisma for database management
- Tailwind CSS for styling
- Radix UI for components
If you have any questions or run into issues, please:
- Check the existing issues
- Create a new issue with detailed information
- Contact: your-email@example.com
β If you found this project helpful, please give it a star!
- Dark mode support
- Advanced analytics
- Multi-language support
- Mobile app
- Advanced inventory management
- Customer management system
- Email notifications
- Export functionality