Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/bicyblex/bicyblexStore/llms.txt

Use this file to discover all available pages before exploring further.

Bicyblex Store is a full-stack e-commerce and content management platform built for Bicyblex Perú — a retailer specialising in bicycles, electric motos, and electric conversion kits. It is built with Next.js 16 (Pages Router) on the frontend and Supabase for authentication, database, and file storage on the backend. This documentation is aimed at developers who are setting up the project for the first time, extending its functionality, or deploying it to production on Vercel. Whether you’re adding a new product category, wiring up a new Supabase table, or customising the storefront UI, this guide covers everything you need.

Key features

Public Storefront

A customer-facing homepage showcasing bike products, electric motos, and electric conversion kits — each rendered from live Supabase data with instant WhatsApp inquiry links per product.

WhatsApp-Integrated Contact Flow

Every product card and newsletter item links directly to a pre-filled WhatsApp message, routed to the Bicyblex business number. Contact URLs are managed centrally via GlobalContext.

Admin Dashboard

A protected dashboard at /dashboard for managing products, categories, and news items — including image uploads, dynamic spec fields per category, and CRUD operations backed by Supabase.

Supabase Backend

Supabase powers all data persistence: row-level auth for admin access, PostgreSQL tables for products/categories/news, and a Storage bucket for product images.

Automatic WebP Conversion

Before any image is uploaded to Supabase Storage, it is client-side converted to .webp using the convertToWebP(file, quality) utility, keeping storage usage and load times low.

Category-Driven Dynamic Spec Fields

Product spec fields are not hardcoded — they are driven by the selected category, so adding a new category in the dashboard automatically surfaces the right specification inputs in the product form.

Tech stack

TechnologyRole
Next.js 16 (Pages Router)Frontend framework and SSR/routing
Supabase (@supabase/supabase-js v2)Auth, PostgreSQL database, and file storage
Tailwind CSS v4Utility-first styling via PostCSS
react-icons v5Icon library used across the storefront and dashboard UI
VercelRecommended deployment platform (zero-config with Next.js)

How it works

Bicyblex Store exposes two distinct surfaces to users: The public storefront lives at / (pages/index.js). It composes a series of section components — <Topnav>, <Hero>, <NewsLetter>, <Products>, <ElectricMotos>, <ElectricKits>, <Features>, and <Footer> — all wrapped in a <GlobalProvider> that injects site-wide data (phone number, WhatsApp URLs, social links, and site version) through React context. Customers browse products and tap WhatsApp links to inquire; there is no cart or checkout — the conversion happens off-platform via WhatsApp. The protected admin dashboard lives at /dashboard (pages/dashboard.js). It renders the <Dashboard> component, which handles auth-gating via Supabase Auth. From there, administrators can manage products (create, edit, delete, upload images), manage product categories and their associated spec fields, and post news items that appear on the storefront’s newsletter section.
The /login page (pages/login.js) renders the <Login> component and is the entry point to the admin area. Visiting /dashboard without an active Supabase session will redirect the user back to /login.

Next steps

Quickstart

Clone the repo, set up your environment variables, and have a local dev server running in under 10 minutes.

Supabase Setup

Create the required tables, configure Row Level Security, and set up your Storage bucket for product images.

Build docs developers (and LLMs) love