How ciphrchai/unirent works
UniRent is a campus peer-to-peer rental marketplace. Students browse and inspect listings, arrange a rental through checkout, and view its confirmation; owners can publish and manage listings, while both sides can track rentals, transactions, and disputes. Account/profile tools and wallet connectivity support this flow. The README documents all twelve product pages; sampled code confirms routing, local-storage persistence, wallet context, and selected escrow calls. Several page implementations were not sampled, so their internal wiring is intentionally not inferred.
Main entry points: App.tsx Route application · MyListings.tsx My listings · wallet.ts Wallet adapter · storageService.ts Storage service
Components 22
Marketplace app
- Route application
src/App.tsx - Page shell
src/components/layout/Layout.tsx
Rental journey
- Home
src/pages/Home.tsx - Marketplace
src/pages/Marketplace.tsx - Item details
src/pages/ItemDetails.tsx - Create listing
src/pages/CreateListing.tsx - Checkout
src/pages/Checkout.tsx - Booking confirmation
src/pages/BookingConfirmation.tsx
Account and records
- My rentals
src/pages/MyRentals.tsx - My listings
src/pages/MyListings.tsx - Transactions
src/pages/Transactions.tsx - Disputes
src/pages/Disputes.tsx - Profile
src/pages/Profile.tsx - Settings
src/pages/Settings.tsx
Local state
- Storage service
src/services/storageService.ts - Browser storage
- Seed datasets
src/data/mockData.ts
Wallet and escrow
- Wallet context
src/context/WalletContext.tsx - Wallet adapter
src/blockchain/wallet.ts - Escrow contract client
src/blockchain/contract.ts
Other components
- Student
- MST testnet
Connections 21
- Student → Route application: opens
- Route application → Page shell: renders
- Route application → Home: routes
- Route application → Marketplace: routes
- Route application → Item details: routes
- Route application → Create listing: routes
- Route application → Checkout: routes
- Route application → Booking confirmation: routes
- Route application → My rentals: routes
- Route application → My listings: routes
- Route application → Transactions: routes
- Route application → Disputes: routes
- Route application → Profile: routes
- Route application → Settings: routes
- Storage service → Browser storage: reads/writes
- Storage service → Seed datasets: initializes from
- Wallet context → Wallet adapter: connects and refreshes
- My listings → Escrow contract client: fetches and confirms
- My listings → Wallet adapter: switches network
- Escrow contract client → MST testnet: reads/writes escrow
- Wallet adapter → MST testnet: connects to