Skip to content

MVP Tracking & Phase 2 Integration Pipeline #4

Description

@KhaledSayed04

Overview

This issue tracks the MVP development pipeline from our initial System Design (SRS) through our current feature branches. To ensure a smooth integration of our Phase 2 modules and avoid merge conflicts, we must merge our current branches in the specific sequence outlined below.


🟢 Phase 1: Foundation & Architecture (Completed)

This phase established the ground rules, database design, and environment setup.

  • Steps:
    • Finalize Software Requirements Specification (SRS) and System Design.
    • Initialize Node.js / Express repository.
    • Configure Prisma ORM and connect to PostgreSQL (Neon).
    • Establish core database schema and run initial migrations (Users, Wallets, Products, Transactions).
    • Implement basic user registration and global error handling framework.

🟡 Phase 2: Core Modules & Merge Sequence (In Progress)

Several modules depend on the completion of others (e.g., route protection depends on Auth; Checkout/Transactions depend on Products). Please merge in this exact order.

1. 🔐 Identity & Access Management (IAM)

  • Dependency: None. This must be merged first to provide route protection for other modules.
  • Steps:
    • Implement JWT Generation & Verification.
    • Create authenticateJWT and Role-based middleware (e.g., isSeller).
    • Merge to master.

2. 📦 Product Catalog

  • Dependency: Depends on IAM for route protection middleware.
  • Steps:
    • Implement core Product CRUD and Soft Delete logic.
    • Complete Unit Tests for productService.js (FR-17).
    • Rebase master after the IAM module is merged.
    • Merge to master.

3. 💳 Wallet & Transactions

  • Dependency: Depends on Auth for securing wallet endpoints, and Products for the upcoming checkout flow.
  • Steps:
    • Implement deposits, withdrawals, and ACID-compliant transfers.
    • Add TRANSFER category to TransactionCategory enum and database.
    • Complete Unit Tests for the critical points (FR-17).
    • Rebase master after IAM and Product Catalog are merged.
    • Merge to master.

Note to team: Please do not merge your PRs into master out of this sequence!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions