Skip to content

novaeco-tech/novapack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 

πŸ“¦ NovaPack

The Operating System for Reusable Packaging. Digital management of Deposit Return Schemes (DRS), reusable asset tracking, and circular packaging loops.

NovaPack is the Vertical Sector responsible for the "Container" layer of the economy. While NovaRetail tracks the product inside the box, NovaPack tracks the box itself. It provides the digital infrastructure for cities and brands to shift from "Single-Use" to "Reuse," managing the financial deposits and reverse logistics required to get a bottle back to the filler.

It acts as the compliance engine for the EU Packaging and Packaging Waste Regulation (PPWR).


🎯 Value Proposition

Packaging accounts for 36% of municipal solid waste. NovaPack solves the logistics of reuse:

  1. Universal Deposit System: A unified digital wallet for deposits. You pay a €1 deposit on a coffee cup in Berlin and get refunded when you drop it in a smart bin in Munich.
  2. Asset Tracking: Tracking millions of crates and pallets (B2B) to prevent loss and optimize cleaning cycles.
  3. EPR Compliance: Automated reporting for brands to prove they met their "Reuse Targets" (e.g., "30% of beverages sold in refillable bottles").

πŸ—οΈ Architecture (The Reuse Loop)

NovaPack is a high-transaction-volume sector. It links physical return points (Reverse Vending Machines) with financial ledgers.

graph TD
    User((Consumer)) -->|1. Scan QR| UI[NovaPack App]
    UI -->|REST| API[NovaPack API]
    
    subgraph "The Point of Return (NovaInfra)"
        RVM[Reverse Vending Machine] -->|MQTT| Infra[NovaInfra]
        Infra -->|Item Verified| API
    end

    subgraph "The Financial Layer"
        API -->|Hold Deposit| Fin[NovaFin]
        API -->|Release Refund| Fin
    end

    subgraph "The Logistics Layer"
        API -->|Bin Full Alert| Logistics[NovaLogistics]
        API -->|Update Status| Mat["NovaMaterial (Passport)"]
    end
Loading

Integrated Services

  • NovaFin: The escrow engine. When a product is sold, NovaFin holds the deposit. When NovaPack confirms the return, NovaFin releases the funds to the user.
  • NovaInfra: Manages the "Smart Bins" and Reverse Vending Machines (RVM). It validates that the returned bottle is authentic and not a counterfeit.
  • NovaLogistics: Optimizes the "Milk Run." It tells trucks exactly when to pick up empty crates from retailers to minimize empty miles.
  • NovaMaterial: Stores the material data of the packaging (e.g., "Food Grade rPET").

✨ Key Features

1. The Digital Deposit Engine (DDS)

Replaces physical tokens or paper receipts with a digital ledger.

  • Check-Out: +€0.50 added to bill. Token minted in NovaFin.
  • Check-In: User scans QR at drop-off. Token burned; €0.50 credited to wallet instantly.

2. B2B Asset Pooling

For industrial crates and pallets.

  • Cycle Counting: Tracks how many "Trips" a crate has made.
  • Maintenance: Flags crates for repair (NovaMake) or recycling (NovaRecycle) after 50 cycles to prevent breakage.

3. Smart Bin Orchestration

Prevents the "Overflowing Bin" problem.

  • Bins report fill-levels via NovaInfra.
  • NovaPack aggregates this data to predict peak return times (e.g., "Saturday Morning after the Market").

4. Material Purity Guard

Ensures food safety for reuse.

  • Tracks what was last inside the container.
  • Rule: A bucket used for "Paint" (Chemicals) cannot be re-assigned to "Flour" (Food), even if washed.

πŸš€ Getting Started

We use DevContainers to provide a consistent development environment.

Prerequisites

  • Docker Desktop
  • VS Code (with Remote Containers extension)

Installation

  1. Clone the repo:
    git clone https://github.com/novaeco-tech/novapack.git
    cd novapack
  2. Open in VS Code:
    • Run code .
    • Click "Reopen in Container" when prompted.
  3. Start the Sector:
    make dev

Configuration (.env)

# Scheme Settings
DEFAULT_DEPOSIT_VALUE=0.25
CURRENCY=EUR
MAX_CYCLES_BEFORE_RETIRE=100

# Integrations
NOVAFIN_URL=http://novafin-api:8000
NOVAINFRA_URL=http://novainfra-api:8000

πŸ“‚ Repository Structure

This is a Monorepo containing the sector's specific logic.

novapack/
β”œβ”€β”€ api/                # Python/FastAPI (Domain Logic)
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ deposits/   # Escrow & Refund logic
β”‚   β”‚   β”œβ”€β”€ assets/     # Serialized container tracking
β”‚   β”‚   └── sanitation/ # Safety rules for food-grade reuse
β”œβ”€β”€ app/                # React/Next.js Frontend (Consumer & Operator UI)
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ wallet/     # User deposit view
β”‚   β”‚   └── scanner/    # QR Code reader for returns
β”œβ”€β”€ website/            # Documentation (Docusaurus)
└── tests/              # Integration tests

πŸ§ͺ Testing

We use Transaction Simulation for testing.

  • Deposit Flow: make test-deposit
    • Simulates: Purchase (Deposit Lock) -> 5 Days Pass -> Return (Sensor Trigger) -> Refund (Unlock).
  • Bin Logic: make test-bins
    • Simulates 50 bins filling up at different rates. Verifies that NovaLogistics receives a "High Priority" pickup request for the full ones.

🀝 Contributing

We need contributors with backgrounds in Logistics, Industrial Design, and IoT. See CONTRIBUTING.md for details.

Maintainers: @novaeco-tech/maintainers-sector-novapack

About

Sector monorepo NovaPack. Reusable packaging systems and deposit return schemes.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published