=============== Partners Portal =============== Repository: ``bridges-partners-portal-source-code/oim-partners-front-staging`` The Partners Portal is a **Next.js** application for the platform's external stakeholders — government partners, NGO partners, and private-sector organizations — to publish opportunities and review activity. It shares the same technology baseline as the :doc:`web-frontend` but exposes a partner-oriented dashboard. Technology ========== .. list-table:: :header-rows: 1 :widths: 35 65 * - Concern - Implementation * - Framework - Next.js (App Router) + React * - Language - TypeScript * - Styling - Tailwind CSS, ``class-variance-authority`` * - UI components - Radix UI primitives, ``lucide-react`` * - Tables - ``@tanstack/react-table`` * - State / data - ``zustand``, ``@tanstack/react-query`` * - Forms / validation - ``react-hook-form`` + ``zod`` * - HTTP - ``axios`` * - i18n - ``next-intl`` Source Structure ================ .. code-block:: text src/ app/ login/ signup/ verify-account/ forgot-password/ reset-password/ dashboard/ # authenticated partner dashboard components/ ui/ auth/ layout/ dashboard/ stores/ services/ hooks/ lib/ i18n/ types/ Key Routes ========== .. list-table:: :header-rows: 1 :widths: 35 65 * - Route - Purpose * - ``/signup`` and ``/verify-account`` - Partner organization registration and account verification * - ``/login``, ``/forgot-password``, ``/reset-password`` - Authentication and credential recovery * - ``/dashboard`` - Partner workspace — manage opportunities and review activity, with data tables powered by ``@tanstack/react-table`` Roles ===== Partner accounts map to the platform's user types defined in the data model: ``GOVERNMENT_PARTNER``, ``NGO_PARTNER``, and ``PRIVATE_SECTOR``. Access to features and data is governed by the role / permission tables described in :doc:`../data-model` and the IAM controls in :doc:`../security`.