On this page
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.
4. User Navigation Routes
- 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`.