Skip to content

Latest commit

 

History

History
81 lines (69 loc) · 4.71 KB

File metadata and controls

81 lines (69 loc) · 4.71 KB

Click2Ship Implementation Backlog Version: 1.0 Aligned to: Click2Ship_SRS_VERBATIM.md, Click2Ship_Proposal.md

Overview

  • Timeline: 12 weeks (6 sprints x 2 weeks)
  • Platform: ERPNext v15 + Frappe custom app
  • Deployment: Supervisor (no Docker)
  • Providers: Karrio, Norsk, Skynet (separate adapters)

Assumptions

  • Estimates are ideal dev-days per task (single developer focus).
  • Tasks can run in parallel across Backend, Frontend, ERPNext Functional, QA, DevOps.
  • All sensitive credentials stored in ERPNext Settings (Password fields), not in code.

Sprint 1 (Weeks 1-2): Security and Foundation

  • SEC-001 CSRF enforcement for all non-webhook endpoints and forms (Owner: Backend/Frontend, Est: 3d)
  • SEC-002 Input validation and sanitization layer (email, phone, postal, HS code) (Owner: Backend, Est: 2d)
  • SEC-003 Migrate credentials to Settings DocTypes and remove hardcodes (Owner: ERPNext/Backend, Est: 2.5d)
  • SEC-004 RBAC baseline for all roles + DocType permissions (Owner: ERPNext/Functional, Est: 3d)
  • SEC-005 Rate limiting for quote/booking/tracking/signup/webhooks (Owner: Backend/DevOps, Est: 2d)
  • SEC-006 Logging, error response standardization, remove debug output (Owner: Backend/DevOps, Est: 2d)

Sprint 2 (Weeks 3-4): Data Model and Workflow Core

  • DATA-001 Shipment Booking DocType + workflow + naming series + custom fields on Customer/Sales Invoice (Owner: ERPNext/Functional, Est: 3.5d)
  • DATA-002 Quote Request child DocType + expiry rules (Owner: ERPNext/Backend, Est: 2d)
  • DATA-003 Shipment Item child DocType + weight/dimension/HS validations (Owner: ERPNext/Backend, Est: 2.5d)
  • DATA-004 Tracking DocType + tracking event table + permissions (Owner: ERPNext/Backend, Est: 2.5d)
  • DATA-005 Markup Rule + reseller commission model + credit limit fields (Owner: ERPNext/Functional, Est: 3d)
  • DATA-006 Address Book + Cart (or use Sales Order) + permissions (Owner: ERPNext/Backend, Est: 2.5d)

Sprint 3 (Weeks 5-6): Provider Layer

  • PROV-001 Provider base interface + factory + settings toggles (Owner: Backend, Est: 3d)
  • PROV-002 Karrio adapter (rates/booking/tracking) (Owner: Backend, Est: 4d)
  • PROV-003 Norsk adapter (rates/booking/tracking) (Owner: Backend, Est: 3.5d)
  • PROV-004 Skynet adapter (rates/booking/tracking) (Owner: Backend, Est: 3d)
  • PROV-005 Standard parsers + currency normalization (Owner: Backend, Est: 3d)
  • PROV-006 Provider health checks + diagnostics endpoints (Owner: Backend/DevOps, Est: 2d)

Sprint 4 (Weeks 7-8): Core Services

  • API-001 Quote service: validation, parallel fetch, caching, save quotes (Owner: Backend, Est: 3.5d)
  • API-002 Booking service: quote verification, re-price, label retrieval (Owner: Backend, Est: 3d)
  • API-003 Tracking service: webhook + polling jobs + event history (Owner: Backend, Est: 3.5d)
  • API-004 Invoice automation on delivery (Owner: Backend/ERPNext, Est: 3d)
  • API-005 Webhook security: signature validation + idempotency (Owner: Backend, Est: 2d)
  • API-006 Bulk CSV import for shipments + validation (Owner: Backend, Est: 3d)

Sprint 5 (Weeks 9-10): Portals and UX

  • WEB-001 Quote wizard + rate selection UI (Owner: Frontend, Est: 4d)
  • WEB-002 Booking confirmation + label download UI (Owner: Frontend, Est: 2.5d)
  • WEB-003 Tracking timeline UI (Owner: Frontend, Est: 3d)
  • WEB-004 Role dashboards (Customer/Merchant/Corporate/Reseller) (Owner: Frontend/ERPNext, Est: 4d)
  • WEB-005 Profile + address book + reseller client management UI (Owner: Frontend, Est: 3.5d)
  • WEB-006 Mobile responsiveness + accessibility pass (Owner: Frontend, Est: 2.5d)

Sprint 6 (Weeks 11-12): Finance, QA, Go-Live

  • FIN-001 Credit limit checks + payment workflow integration (Owner: ERPNext/Backend, Est: 3.5d)
  • FIN-002 Carrier invoice retrieval + reconciliation report (Owner: ERPNext/Backend, Est: 4d)
  • QA-001 Unit + integration + security tests + fixtures (Owner: QA/Backend, Est: 4d)
  • QA-002 Load/performance tests vs NFRs (Owner: QA/DevOps, Est: 3d)
  • OPS-001 Supervisor configs + monitoring + backups (Owner: DevOps, Est: 2d)
  • OPS-002 Cutover + rollback + training docs (Owner: DevOps/PM, Est: 2d)

Definition of Done (Applies to all tasks)

  • Acceptance criteria met and reviewed
  • No new critical security findings
  • Unit/integration tests added or updated
  • Logs added with sensitive data redaction
  • ERPNext permissions verified for target roles

Acceptance Gates

  • Gate 1 (End Sprint 2): Core DocTypes + validations + RBAC complete
  • Gate 2 (End Sprint 4): Quote to Booking to Tracking flow end-to-end
  • Gate 3 (End Sprint 6): Tests pass, NFRs met, production checklist complete

Open Decisions to Confirm

  • Payment gateway choice (Stripe/PayPal/JazzCash/EasyPaisa)
  • Carrier invoice retrieval priority (email/portal/API)
  • Quote expiry window (default 24 hours)
  • Currency normalization target (USD vs PKR vs multi-currency)