Skip to content

Glossary

The words used across BabyMart and these docs, in alphabetical order.

Each term links to the page that explains it in full. Other pages link here with /reference/glossary/#term.

The admin role. Can use every page of the admin dashboard and every API endpoint. See Auth and roles.

The Vite + React staff console in apps/admin, on port 5173. See Admin dashboard.

The Express + MongoDB server in apps/api, on port 8000. Every app reads and writes data only through it. See API server.

The Little Bear logo component in @babyshop/ui, used by the storefront and the admin. See Shared packages.

A record of cash a deliveryman collected for a COD order. It goes collected → submitted (handed to accounts) → confirmed. See How it works.

Payment method cod: the order is placed unpaid and the courier collects the money at the door. See Payments.

A shopper. In the code the role is user. See Who uses it.

The CSS variables (cream background, chocolate primary, sienna accent) in packages/ui/src/styles/tokens.css that every web UI imports. See Shared packages.

The employee role. Every employee also has an employee role that decides which fulfilment steps they can do.

The employee_role field: call_center, packer, incharge, deliveryman or accounts. An incharge can do every employee step. See Auth and roles.

The JSON Web Token the API issues at sign-in. Apps send it as Authorization: Bearer <token>; it lasts 30 days. See Auth and roles.

One repository that holds several apps and packages. BabyMart is a pnpm workspace run by Turborepo. See Project structure.

A purchase: items, shipping address, totals, status, paymentStatus and paymentMethod. See Data models.

Where an order is in fulfilment: pending, address_confirmed, confirmed, processing, packed, delivering, delivered, completed or cancelled. See How it works.

A Stripe object for one card payment. The API creates one for the mobile PaymentSheet with POST /api/payments/create-intent. See Payments.

The paymentStatus field: pending, paid, failed, refunded or cod_collected. Separate from order status.

The read-only preview role used for the public demo. The admin dashboard lets it see every page but blocks every create, update and delete. See Auth and roles.

A curated collection of products with its own page at /product-base/[slug] on the storefront. Managed under “Product Bases” in the admin. See Data models.

A top-level grouping of products (for example a home-page section). Managed under “Product Types” in the admin.

The role field on a user: admin, user, employee, vendor or preview. See Auth and roles.

A payment gateway for Bangladesh, charged in BDT. The API supports its sandbox and live modes. See Payments.

The customer shop in apps/web, built with Next.js 16, on port 3000. See Storefront.

A hosted Stripe payment page. The storefront creates one per order in its own route handler. See Payments.

The task runner (turbo) that runs dev, build, lint, test and type-check across every package in the right order. See Project structure.

A seller with the vendor role. Vendors apply on the storefront, an admin approves them, then they manage their own products. The whole feature can be switched off in vendor config. See Storefront.

A signed HTTP call from Stripe to BabyMart when a payment succeeds. It is how an order becomes paid. See Payments.

A package inside the pnpm workspace, named @babyshop/*. All apps except the mobile app are workspace packages. See Shared packages.