
E-commerce Admin Dashboard
Private e-commerce dashboard for products, orders, support tickets, promotions, and marketing email.
Project Overview
The E-commerce Admin Dashboard is a private operations interface for a store team. It brings catalog edits, orders, customer support, promotions, and marketing email into server-rendered pages backed by the store's Firebase data.
The problem
Store operations live in different data sets. A product change affects the catalog, an order needs a status update, and a support reply may require both a stored message and an email. The dashboard gives administrators routes for those tasks and keeps the views tied to the same Firestore collections as the storefront.
Key features
- Manage categories, subcategories, products, prices, stock, and uploaded product images.
- Review transactions and record order status changes, including delivery and rejection flows.
- Open support tickets, add replies, attach files, and send reply notices.
- Create coupons with discount rules, thresholds, and expiration dates.
- Schedule product discounts and edit homepage sliders and promotional banners.
- Build marketing emails, save drafts, send campaigns, and track opens and clicks.
- Store unsubscribe choices and exclude suppressed addresses from campaign recipients.
- Run batch product and discount operations from a dedicated interface.
- List users and change their enabled state or assigned role.
Technical architecture
An Express application renders EJS views and mounts route modules for each administrative area. Firebase Admin reads and writes Firestore collections for products, categories, transactions, tickets, users, and campaigns. Firebase Authentication supplies session cookies. Product and ticket uploads go through Multer and Cloudinary. Nodemailer handles campaign and operational email. An in-process cache holds selected product, category, and transaction results with optional expiration. Marketing unsubscribe addresses also have a local JSON file, so this portion of the system uses both Firestore and file storage.
Engineering highlights
- Protected routes verify the Firebase session cookie and compare the account's role claim with its stored role before granting access.
- Catalog and order paths update Firestore records through separate route modules, keeping store operations grouped by task.
- Ticket replies write the conversation record and send a formatted email notice through the mail helper.
- Campaign delivery checks a suppression list, while tracking routes record open and click events.
- Batch operations provide a single interface for repetitive catalog changes.
Image Gallery
No media available for this project.
Client Reviews
Feedback from people who used or collaborated on this project.
Share your experience with this project
Related projects

Leviro Toolbay
Bilingual beta toolkit with free browser tools and credit-priced document, image, and writing workflows.

Leviro Desk
Arabic-first tutoring center software for attendance, student records, payments, and WhatsApp follow-ups.

Eshra7ly College Platform
Private bilingual college platform for assignments, exams, schedules, and student discussion.