Hadiyyam logo

Website Documentation

This document provides a comprehensive overview of the Hadiyyam website, including its features, pages, and user navigation flows. It is intended for internal use by administrators and developers.

1. Website Overview

Hadiyyam is a modern e-commerce marketplace designed to connect independent creators and sellers with a global audience. The platform allows users to buy unique, handcrafted, or vintage items, and provides sellers with the tools to manage their own online storefront.

2. Core Features

  • Product Discovery: Users can browse products by category, search with AI-powered autocomplete, and view detailed product pages.
  • Product Listing: Sellers can add their products to the marketplace through a guided "Product Builder" form.
  • User Authentication: Secure sign-up and login functionality using Firebase Authentication (email/password and Google).
  • Internationalization (i18n): The entire site supports multiple languages with locale-based routing (e.g., `/en/...`, `/es/...`).
  • User Language Preference: Users can select their preferred language in their profile settings, which persists across their session.
  • Seller Onboarding & Approval: A dedicated application form for users to become a seller. Admins can review these applications and approve/reject them.
  • Blog and Commenting: A full-featured blog with an interactive commenting system where users can leave feedback.
  • Seller Storefronts: Each seller has a dedicated page displaying their bio, products, and store policies.
  • Community Forums: A space for users to ask questions, share ideas, and connect with the community.
  • Admin Dashboard: A comprehensive backend for site administrators to manage blog posts, comments, products, orders, customers, FAQs, and site settings.
  • GenAI Integration: The platform leverages Genkit for AI-driven features like search suggestions and product recommendations.

3. Page Breakdown & Functionality

3.1 Public & App Pages (`/app/(app)`)

These pages are accessible to all visitors.

  • `/` (Landing Page): The main entry point, featuring a hero section, featured categories, and marketing content.
  • `/products`: Displays all products with filtering and pagination.
  • `/products/[id]`: Detailed view of a single product, including gallery, description, price, seller information, and related items.
  • `/product-builder`: A multi-step form for sellers to list a new product for sale.
  • `/categories`: A grid view of all main product categories.
  • `/category/[slug]`: Lists all products within a specific category or subcategory.
  • `/sellers/[id]`: A public storefront for a single seller, showing their profile, products, and policies.
  • `/become-a-seller`: A form for users to submit an application to become a seller.
  • `/about`: Information about the company's mission and story.
  • `/contact`: A form for users to send inquiries.
  • `/blog`: A masonry-style grid of blog posts.
  • `/blog/[slug]`: An individual blog post page with a commenting section.
  • `/faq`: A list of frequently asked questions with interactive feedback.
  • `/terms`, `/privacy`, `/shipping`, `/returns`, `/selling`: Informational pages with a consistent two-column layout and side navigation.

3.2 Forum Pages (`/app/(app)/forums`)

  • `/forums`: The main forums page, listing all topics and their 5 most recent posts.
  • `/forums/[topic]`: Shows all posts within a specific topic.
  • `/forums/post/[postId]`: Displays a single forum post and its replies.

3.3 Authentication Pages (`/app/(auth)`)

  • `/login`: Allows users to sign in via email/password or Google.
  • `/register`: Allows new users to create an account.
  • `/forgot-password`: A form for users to request a password reset link.

3.4 User Profile Pages (`/app/(app)/profile`)

These pages are accessible only to authenticated users.

  • `/profile`: The main user dashboard showing profile information and addresses.
  • `/profile/orders`: A history of the user's past orders.
  • `/profile/wishlist`: A collection of products the user has saved.
  • `/profile/reviews`: A list of reviews the user has submitted.
  • `/profile/settings`: Account settings, including notification preferences, password change, and **language selection**.

3.5 Admin Pages (`/app/admin`)

These pages are restricted to administrators.

  • `/admin/dashboard`: An overview of site metrics, sales, and activity.
  • `/admin/products`: Interface to manage all products on the platform.
  • `/admin/orders`: Interface to view and manage all customer orders.
  • `/admin/customers`: A list of all registered users.
  • `/admin/sellers`: Interface to review and manage seller applications.
  • `/admin/blog`: A table to manage all blog posts (edit/delete).
  • `/admin/article-builder`: A dedicated page to create or edit blog posts.
  • `/admin/comments`: A moderation queue to approve or delete user comments.
  • `/admin/faq`: A CRUD interface to manage the site's FAQ section.
  • `/admin/settings`: A page to manage global site settings and branding.
  • `/admin/documentation`: This current page.
  • New Visitor: Lands on `/`, is redirected to `/en`, browses `/products` or `/categories`, views a `products/[id]` page, and is prompted to `/login` or `/register` to make a purchase.
  • Language Change: A user navigates to `/profile/settings`, selects 'Español' from the language dropdown, and is redirected to `/es/profile/settings`. The page content is now in Spanish.
  • Aspiring Seller: Navigates to `/become-a-seller` from the footer to fill out an application. After submission, an admin can review the application in `/admin/sellers`.
  • Returning Customer: Logs in via `/login`, browses products, and manages their account via `/profile` and its sub-pages.
  • Approved Seller: Logs in and accesses their `/seller/dashboard` from the profile dropdown to manage their store.
  • Administrator: Logs in and navigates to `/admin/dashboard` to manage the entire platform, including blog content via `/admin/blog` and comment moderation via `/admin/comments`.