Return to Portfoliowebase.top / projects / mohandishub
Active Engineering2025 – PresentRole: Full-Stack & Security Engineer

MohandisHub

Engineering & Construction Services Marketplace Monorepo

A multi-role engineering and construction services marketplace platform connecting businesses, engineering experts, and craftsmen with strict authorization boundaries and monetization workflows.

System Visuals & Verification Evidence

MohandisHub screenshot 1
MohandisHub screenshot 2
MohandisHub screenshot 3
MohandisHub screenshot 4

1. The Engineering Problem

Engineering and industrial contracting in Egypt and the MENA region relies heavily on informal, fragmented channels with zero dispute mechanisms, opaque pricing, and high privacy vulnerability. The objective was creating an enterprise-grade digital marketplace supporting complex stakeholder roles (business clients, consulting engineers, specialized craftsmen) with strict access control and real-time collaboration.

2. What Was Built

MohandisHub is built as a production-ready npm monorepo with a Next.js App Router frontend and an Express/Socket.io backend in TypeScript backed by PostgreSQL. The system models vacancies, job applications, technical service requests, proposals, bookings, escrow-style wallet ledgers, real-time messaging, and KYC/KYB identity verification flows.

3. System Architecture & Topology

ASCII Topology

Monorepo architecture separating web presentation, backend APIs, and shared TypeScript domain types. Employs fine-grained role-based access control (RBAC) and privacy guards to prevent public leakage of sensitive business data.

+-----------------------------------------------------------------------+
|                    MOHANDISHUB MONOREPO WORKSPACE                     |
+------------------------------------+----------------------------------+
                                     |
         +---------------------------+---------------------------+
         |                                                       |
         v                                                       v
+----------------------------------+    +----------------------------------+
|     apps/web (Next.js App)       |    |     apps/api (Express + Socket)  |
|  - Multi-locale (EN / AR)        |    |  - TypeScript REST APIs          |
|  - Role-specific dashboards      |    |  - Real-time Socket.io chat      |
|  - Tailwind CSS design system    |    |  - JWT cookie auth + refresh     |
+-----------------+----------------+    +----------------+-----------------+
                  |                                      |
                  +------------------+-------------------+
                                     | Uses packages/shared
                                     v
+-----------------------------------------------------------------------+
|                         PACKAGES / SHARED                             |
|  Shared TypeScript Contracts, Enums, DTOs, and Pricing Invariants     |
+------------------------------------+----------------------------------+
                                     |
                                     v
+-----------------------------------------------------------------------+
|                        POSTGRESQL DATABASE                            |
|  - Strict relational schema for users, bookings, proposals, wallet    |
|  - Fine-grained data masking on public vendor profile endpoints       |
+-----------------------------------------------------------------------+

4. Mohamed's Personal Implementation

Architected the npm monorepo separating `apps/web`, `apps/api`, and `packages/shared`.
Implemented core authentication and session refresh mechanisms using dual JWT tokens stored in secure httpOnly cookies.
Designed marketplace business logic: service inquiries, bidding proposals, milestone orders, and wallet balance reservations.
Conducted a comprehensive privacy and authorization audit to plug public endpoints from leaking vendor contact information or unverified credentials.
Created bilingual Arabic and English responsive interface components with RTL layout support.

5. Engineering Challenges & Solutions

Challenge: Preventing Private Client/Vendor Information Disclosure
Solution: Created strict response serialization layers that filter internal database fields, ensuring unverified or sensitive personal info (phone numbers, private notes, national IDs) is completely inaccessible via public inquiry endpoints.
Impact: Passed rigorous privacy audits and secured business invariants.
Challenge: Enforcing Multi-Role Invariants Across Monorepo Workspaces
Solution: Created shared TypeScript type definitions and Zod schemas shared by both web client and API, preventing client-side role spoofing and ensuring server-side parity.
Impact: Zero discrepancies between frontend state validation and backend authorization guards.

6. Technology Stack

Frontend
Next.js App RouterReactTailwind CSSLucide Icons
Backend
Node.jsExpressTypeScriptSocket.io
Database & Storage
PostgreSQLpgDatabase Migrations
Testing & Tooling
PlaywrightESLintPrettierMonorepo Workspaces

7. Verified Outcomes

  • •Complete end-to-end authentication, profile management, and service listing flows verified.
  • •Comprehensive security audit completed, eliminating unauthorized data disclosure across all public routes.
  • •Production monorepo with verified type safety and lint checks.