- type
- summary
- created
- Tue Apr 07 2026 02:00:00 GMT+0200 (Central European Summer Time)
- updated
- Tue Apr 07 2026 02:00:00 GMT+0200 (Central European Summer Time)
- sources
- raw/articles/STATUS
- tags
- status mvp deployment infrastructure live
Status Summary
abstract
The STATUS document is the formal project health report: MVP complete across all 13 phases, 741 tests passing, deployed at b2bpaper.xdvu.com/mvp/ with PM2-managed gunicorn, Celery worker, and Celery beat processes.Overview
The Paper Surplus Marketplace is a B2B platform connecting paper mills with surplus inventory to buyers (converters, distributors, traders). It is a 50/50 joint venture between Rafael (Morichal) and Thierry. As of 2026-02-27, the MVP is fully built and deployed.
Project Health
- Status: Active (MVP Complete)
- Phase: All 13 Phases Complete + MorichalAI Data Migration
- Port: 8910 (gunicorn via PM2)
- Live URL: https://b2bpaper.xdvu.com/mvp/
Infrastructure
- Backend: Django 6.0.2 + DRF 3.16.1 on PostgreSQL
- Frontend: Angular 19 + Tailwind CSS v4 + Angular Material 19
- Process management: PM2 -- gunicorn API (port 8910), Celery worker, Celery beat
- Reverse proxy: Nginx at b2bpaper.xdvu.com/mvp/
- Cache/broker: Redis
What Is Built
Backend (9 Django Apps)
- accounts, buyers, containers, ingestion, matching, mills, newsletters, surplus, transactions
- 13 entity models with UUID primary keys
- 69+ REST API endpoints with role-based permissions (admin/mill/buyer)
- Service layer pattern: business logic in
apps/<app>/services.py - Excel ingestion pipeline (email polling -> parse -> validate -> commit -> match)
- Matching algorithm with 5 scoring functions + composite + visibility filtering
- Newsletter generation, container assembly with bin-packing, exclusivity mechanism
- Pre-production items, admin/mill/buyer dashboards, security (audit logging, RBAC)
- Swagger API documentation
Frontend (~80+ Components)
- Role-based shell with JWT authentication
- Feature modules: dashboard, surplus, matching, transactions, newsletters, settings
- 3D isometric container visualizations
- Reel container calculator widget
- "Request Quote" CTA on surplus browse cards
- Responsive design with Tailwind CSS v4
Data Migration
- MorichalAI legacy data: 1,714 records imported (111 mills, 162 buyers, 486 products, 170 buyer specs, 12 freight rates, 773 transactions)
- Idempotent management command with provenance tracking
Tests
- 741 tests passing + 16 slow benchmarks (all passing)
- Coverage spans models, API endpoints, services, ingestion, matching, containers, security, integration
Live URLs
| URL | Purpose |
|---|---|
| https://b2bpaper.xdvu.com/mvp/app/ | Angular Frontend |
| https://b2bpaper.xdvu.com/mvp/api/docs/ | Swagger UI (69+ endpoints) |
| https://b2bpaper.xdvu.com/mvp/admin/ | Django Admin |
What Is Next (Phase 14 -- V2)
- Escrow payments and credit provider integration
- AI-assisted Excel parsing (LLM-based)
- Document generation (BL, packing list, invoices)
- Multi-language support
- ML-based advanced matching
- Analytics dashboard
- Public API for partners
- Americas expansion
Operational Targets
- Onboard 5 mills actively sending surplus lists
- Onboard 5 buyers receiving newsletters
- Complete first transaction end-to-end
- Switch email backend to production SMTP
Sources
- raw/articles/STATUS -- formal project status document
Related
- wiki/summaries/activecontext-summary -- working memory with same data plus recent changes
- wiki/summaries/progress-summary -- detailed phase-by-phase completion tracker
- wiki/entities/pm2-marketplace-stack -- PM2 process details
- wiki/concepts/phases-0-to-13-recap -- narrative of what each phase delivered
- wiki/concepts/database-credentials-and-roles -- PostgreSQL and service credentials