Skip to content

v2.0.0 - Full Platform Release

Latest

Choose a tag to compare

@akenel akenel released this 27 Feb 18:08
· 958 commits to main since this release

BorrowHood v2.0.0 - Full Platform Release

Every Garage Becomes a Rental Shop

Built for the DEV Weekend Challenge -- a community platform where neighbors rent, sell, teach, and share. Zero commission. Open source.

What's New in v2.0.0

Core Platform

  • 13 SQLAlchemy models with UUID PKs, soft deletes, audit timestamps
  • 33 REST API endpoints across 11 routers
  • 111 automated tests (all green)
  • Full EN/IT bilingual support (200+ i18n keys)
  • Keycloak OIDC auth with 6 roles and 11 test users

Marketplace Features

  • 7 listing types: rent, sell, commission, offer, service, training, auction
  • Timed auction system with bidding, auto-outbid notifications, reserve prices
  • Rental lifecycle: request -> approve -> pickup -> return -> review
  • Star ratings and written reviews

Trust & Safety

  • 3-step dispute resolution (file -> respond -> resolve)
  • 8 dispute reasons, 7 resolution types
  • Deposit hold/release/forfeit system
  • Terms of Service + Community Code of Conduct (12 sections)

Payments

  • PayPal REST API v2 integration (sandbox + live)
  • Create order -> buyer approval -> capture -> refund flow
  • Manual and Stripe provider support (extensible)

Notifications

  • 15 notification event types
  • In-app notification bell with real-time polling
  • Telegram bot forwarding (optional)

User Experience

  • 3-step onboarding wizard (profile, workshop, first item)
  • Responsive Tailwind CSS + Alpine.js UI
  • Mobile-first with 44px touch targets
  • Dark/light OG images for social sharing

Live Demo

URL: https://46.62.138.218:8443/

Test Users (all password: helix_pass):

  • sally - Pastry chef with 200 cookie cutters
  • mike - Mechanic with 500 tools
  • angel - Platform admin
  • luna - Community moderator

Tech Stack

  • Backend: FastAPI + SQLAlchemy (async) + PostgreSQL
  • Auth: Keycloak OIDC (JWT RS256, 6 realm roles)
  • Frontend: Jinja2 + Tailwind CSS CDN + Alpine.js
  • Payments: PayPal REST API v2
  • Infra: Docker + Caddy reverse proxy
  • CI: GitHub Actions with PostgreSQL service container

Data Model

BHUser -> BHItem -> BHListing -> BHRental -> BHReview
                 -> BHMedia      -> BHBid     -> BHDeposit
                                              -> BHPayment
                                              -> BHDispute
BHNotification (cross-cutting)

Running Locally

cp .env.example .env
docker compose up -d
python -m pytest tests/ -v

Full instructions in README.md.