Skip to content
AM
Case Study·Client project·Full Stack Engineer — Merchant Portal & Analytics Engine

TribeMe

Multi-Brand Marketplace Dashboard

Brand marketplace portal featuring a brand onboarding flow, product and offer management, promo-code generation, and analytics dashboards.

github.com/AmirMaqbool0/TribeMe
TribeMe multi-brand dashboard displaying coupon redemption analytics

01Context & Problem

The project required a centralized portal for retail brands to participate in a shared marketplace. Key requirements included a brand onboarding flow, product and offer management, promo-code generation, and analytics dashboards.

02Engineering Ownership

What I Built

  • ▸Developed the brand onboarding flow using Next.js and React.
  • ▸Built product and offer management interfaces and REST APIs with Express.js and MongoDB.
  • ▸Implemented promo-code generation logic and backend storage using Node.js and Mongoose.
  • ▸Created analytics dashboards with Redux Toolkit for managing dashboard views.

What I Did Not Build

  • ▸Worked from designs provided by the client rather than producing the visual design myself.

03Stack & Rationale

Next.js & React

Dashboard framework supporting brand onboarding and analytics displays.

Express.js & Node.js

REST APIs handling brand configuration, offer updates, and promo-code generation.

MongoDB & Mongoose

Document storage for brands, products, offers, and promotional vouchers.

Redux Toolkit

Client-side state management for product filtering and dashboard interactions.

04System Architecture

Component topology, data flows, and authorization boundaries:

Next.js AppBrand & Merchant PortalRedux Toolkit AnalyticsCSV ExporterAPI CallsCore ServicesPromo Generator & ClaimAnalyticsRole ValidationMongoDB DBBrands · CouponsRedemption Logs

05Authentication & Authorization

Authentication issues a JWT on login, which auth middleware verifies on every protected route. Authorisation is enforced by role-based access control middleware that separates standard user access from admin access. If I were rebuilding this now I would move token storage to HTTP-only cookies and add automated tests around the auth middleware.

06Hard Technical Challenges & Solutions

Separation Between Competing Brands

Problem: Merchants required access to manage their own products, offers, and analytics without viewing data belonging to other brands.

Solution: Role-based access control and tenant checks were enforced at the Express.js route level on every request, scoping database queries to the authenticated merchant.

Unique Promo-Code Generation

Problem: Generating promotional codes for brand campaigns required ensuring newly generated codes did not collide with existing active codes.

Solution: The promo-code generator checked code uniqueness against existing records in MongoDB before saving new batches.

07What I Would Do Differently Now

Engineering Retrospective & Critical Critique

If I were building this platform today, I would implement automated testing for the promo-code generation logic and REST endpoints. I would also package the services with Docker and configure CI/CD with GitHub Actions for automated deployment workflows.