Shwap

shwap is a Frappe app for inventory-first lending/trade workflows based on the provided design document.

Install Shwap

bench get-app https://github.com/Jyumpp/shwap

Add the Frappe Gems badge to your README

Maintain Shwap? Paste this into your README:

[![Listed on Frappe Gems](https://frappegems.com/api/method/frappe_gems.seo.badge?app=Jyumpp%2Fshwap)](https://frappegems.com/gems/apps/Jyumpp/shwap)

About Shwap

shwap (Frappe App)

shwap is a Frappe app for inventory-first lending/trade workflows based on the provided design document.

MVP Implemented

  • Inventory-first data model (Inventory Item as source of truth)
  • Categories, locations, groups, wanted requests, clothing details, and fit profiles
  • Listings generated from inventory items
  • Lending transaction lifecycle with item status syncing
  • Inventory movement and condition logs
  • QR payload generation per inventory item
  • Search helper APIs for portal/mobile clients
  • Desk form actions (create listing/start lending from item form)
  • Auto-seeded workspace, categories, locations, and roles on install/migrate
  • Lending workflow bootstrap for approval → checkout → return

App Setup

From your Frappe Bench:

bench get-app /Users/hunterhalloran/Documents/New\ project
bench --site your-site install-app shwap
bench --site your-site migrate

After migrate, open the Shwap workspace in Desk.

Desk Quick Add

  • Open Inventory Item list and click Quick Add Item in the list toolbar.
  • Inventory Item also uses Frappe Quick Entry (item_name, category, location, condition, visibility, primary_photo).
  • Item Type options are category-aware (e.g., clothing categories get garment-focused item types).
  • Clothing items get a Manage Clothing Detail action on the item form.

Website Portal

  • User-facing inventory routes:
    • /inventory (dashboard home)
    • /inventory-items
    • /inventory-listings
    • /inventory-lending
    • /inventory-requests
    • /inventory-wardrobe (dedicated wardrobe area)
  • Uses Desk login/session, but renders a custom inventory manager UI.
  • Includes:
    • dashboard metrics + feature navigation
    • separated sub-pages for core workflows
    • Frappe-styled buttons and forms (btn, form-control)
    • wardrobe-specific workflow for clothing + fit

Quick Validation

From this repo:

python3 -m compileall shwap
python3 -m unittest shwap.tests.test_fit

Key API Methods

  • shwap.api.quick_add_item
  • shwap.api.create_listing_from_item
  • shwap.api.start_lending_transaction
  • shwap.api.search_inventory
  • shwap.api.dashboard_summary
  • shwap.api.lending_queue
  • shwap.api.estimate_fit_for_item

First Push Checklist

  • Verify app install and migrate on a test site.
  • Confirm Shwap workspace is visible in Desk.
  • Confirm quick-add, create listing, and start lending actions work.
  • Run compile and unit checks above.

Related Integrations apps for Frappe & ERPNext

  • Insights — Open Source Business Intelligence Tool
  • Raven — Simple, open source team messaging platform
  • Frappe Whatsapp — WhatsApp cloud integration for frappe
  • Frappe Assistant Core — Infrastructure that connects LLMs to ERPNext. Frappe Assistant Core works with the Model Context Protocol (MCP) to expose ERPNext functionality to any compatible Language Model
  • Biometric Attendance Sync Tool — A simple tool for syncing Biometric Attendance data with your ERPNext server
  • Frappe React Sdk — React hooks for Frappe
  • Frappe Js Sdk — TypeScript/JavaScript library for Frappe REST API
  • Mcp — Frappe MCP allows Frappe apps to function as MCP servers