Central Navigation Hub
π READ THE MANIFESTO
Boliyan is built to become the Default Operating System for Pakistan's secondary economy. We stand for:
- Respect for Time: No window shoppers. No "Is this available?".
- High Intent: Bidding is the only way to start a conversation.
- Ruthless Minimalism: If a visual cue works, we delete the text.
- Project Rules (AGENTS.md) β Operational Rules & Design Philosophy.
- Manifesto β Product Vision & Mission.
- Gemini Knowledge β Detailed Project Knowledge Base.
Core Logic & Hooks
- Web App Logic (
apps/web/src/lib) β Store, Supabase client, Utilities. - Hooks (
apps/web/src/hooks) β Custom React Hooks (Bidding, Realtime, Sound, etc.).
Component Directories (apps/web/src/components/)
- Common β Shared badges, controls, and domain primitives (22 components).
- Marketplace β Core interactions (ItemCard, Grid, Filters, ProductDetails).
- Dashboard β My Bids, My Listings, Watchlist, Settings.
- Inbox β Chat window, conversation list, message UI.
- Notifications β Notification feed, dropdown, and items.
- Auth β Authentication dialog and Turnstile captcha.
- Search β Search bar, category nav, similar items.
- Seller β Seller listing card and confirmation dialogs.
- Profile β Reviews, ratings, profile completeness.
- Layout β Navbar, Footer, BottomNav, Sidebar, ScrollToTop.
- Branding β Logo and loader mark.
- Analytics β Google Analytics integration.
- Ads β Ad card and banner ad.
- Admin β Admin guard component.
- UI Primitives β Shadcn + Radix primitives.
- Database (
packages/database) β Raw SQL Schema & Migrations. - Shared Logic (
packages/shared) β Validation & Business Logic.
Boliyan uses a manual monorepo structure (no Turborepo/Nx yet) to keep things simple.
-
apps/web: The main Next.js 16 application.- Uses a custom Context Provider architecture (MarketplaceContext, AuthContext, etc.) for state management.
- Live Data: Powered by Supabase. Real-time subscriptions for bids and messaging.
-
packages/database: The Source of Truth for data.- Native SQL: Raw SQL schema files (
schema.sql). No ORM.
- Native SQL: Raw SQL schema files (
-
packages/shared: Isomorphic business logic.- Code here must run in both Browser and Node.js environments.
- Used for validating bids, parsing amounts, etc.
- Global Store (Compatibility Layer)
- Database Schema