Easy-to-manage touch screens
Free, open-source touch screens. Guided USB setup, a drag-and-drop editor and local control. Made for Home Assistant.
Hotel booking platform with auction system and citizen value distribution
LifestyleTypeScript · CSSGitHub @Ekinoxis-evmOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Onchain futures for renting assets
Translation pending
Taken from the repository README
Loading the full README.
Read the full README ↗A decentralized real estate booking platform with auction-based pricing and daily sub-vault system for flexible property rentals.
Auktrafi enables property owners to tokenize their real estate as vaults and allow users to book individual days through a competitive auction system. Each property can be divided into daily sub-vaults, creating a flexible, market-driven pricing mechanism.
The platform uses a daily sub-vault architecture where each night is an independent booking unit:
Availability Management
Withdraw Earnings
Factory: 0x8d0A0Ff1516ff56b36f55D0348D58A63b2751E91
PYUSD: 0xCaC524BcA292aaade2DF8A05cC58F0a65B1B3bB9
Factory: 0xBdB8AcD5c9feA0C7bC5D3ec5F99E2C198526a58F
PYUSD: 0x637A1259C6afd7E3AdF63993cA7E58BB438aB1B1
DigitalHouseFactory (Factory Contract)
├── createVault(vaultId, details, nightlyPrice, address, masterCode)
├── setNightAvailability(vaultId, nightDate, isAvailable) 🆕
├── setAvailabilityWindow(vaultId, start, end, count, isAvail) 🆕
├── getOrCreateDailyVault(vaultId, dayTimestamp, masterCode)
├── createMultiDayReservation(vaultId, dayTimestamps[], masterCode)
└── getDailySubVaultsInfo(parentVaultId)
DigitalHouseVault (Parent Vault)
├── dailyBasePrice (nightly rate)
├── getMasterAccessCode()
├── withdrawEarnings() 🆕
├── cedeReservation(bidIndex)
└── Daily Sub-Vaults (children)
├── Individual night bookings
├── State: FREE → AUCTION → SETTLED
└── Access codes per booking
src/
├── app/
│ ├── page.tsx # Landing page with Privy auth
│ ├── marketplace/
│ │ ├── page.tsx # Browse all properties
│ │ └── [vaultId]/page.tsx # Property details + daily calendar
│ ├── ownerships/page.tsx # Owner dashboard
│ ├── reservations/page.tsx # User bookings
│ └── profile/page.tsx # Wallet & balances
├── components/
│ ├── calendar/
│ │ ├── DailySubVaultsCalendar.tsx # Interactive monthly calendar
│ │ ├── DayCell.tsx # Individual day cells
│ │ └── ActiveDailyBookings.tsx # Booking list with filters
│ ├── vault/
│ │ ├── DailyBookingFlow.tsx # 5-step booking process
│ │ ├── VaultCard.tsx # Property card with stats
│ │ ├── OwnerVaultCard.tsx # Owner property card (+ withdraw, availability)
│ │ ├── ReservationCard.tsx # User reservation card
│ │ ├── AuctionFlow.tsx # Auction bidding interface
│ │ └── CreateVault.tsx # Create new property
│ ├── owner/
│ │ └── AvailabilityManager.tsx # 🆕 Block/open nights management
│ ├── Layout.tsx # Persistent navbar + footer
│ ├── WalletConnect.tsx # Connect/disconnect wallet
│ ├── NetworkSwitcher.tsx # Chain selector
│ └── ui/ # Reusable UI components
├── hooks/
│ ├── useDailySubVaults.ts # Fetch daily sub-vaults
│ ├── useDailyVaultActions.ts # Create bookings
│ ├── useMasterAccessCode.ts # Fetch master code
│ ├── useAvailabilityManagement.ts # 🆕 Owner availability control
│ ├── useDigitalHouseFactory.ts # Factory contract interactions
│ ├── useDigitalHouseVault.ts # Vault contract interactions (+ withdrawEarnings)
│ ├── useAccessCodes.ts # Access code management
│ ├── useVaultInfo.ts # Vault metadata
│ ├── useReservation.ts # Reservation data
│ ├── useAuction.ts # Auction data
│ └── usePYUSDApproval.ts # Token approvals
├── config/
│ └── wagmi.ts # Chain config + contract addresses
└── providers/
└── PrivyProvider.tsx # Privy auth config
# Clone the repository
git clone <repository-url>
cd digitalhouse-frontend
# Install dependencies
npm install
# Set up environment variables
cp env.example .env.local
# Add your Privy App ID and RPC URLs to .env.local
NEXT_PUBLIC_PRIVY_APP_ID=your_privy_app_id_here
NEXT_PUBLIC_ALCHEMY_API_KEY=your_alchemy_key_here
# Run development server
npm run dev
The application is configured for Vercel deployment:
# Build for production
npm run build
# Deploy to Vercel
vercel deploy --prod
After deploying, update your Privy dashboard:
0xBdB8AcD5c9feA0C7bC5D3ec5F99E2C198526a58F0xC3f3B1192E938A22a79149bbFc6d8218B1bC01170xCaC524BcA292aaade2DF8A05cC58F0a65B1B3bB90x637A1259C6afd7E3AdF63993cA7E58BB438aB1B10x6c3ea9036406852006290770BEdFcAbA0e23A0e8Each day goes through these states:
No Sub-Vault (⚪)
↓ User books
FREE (🟢)
↓ Someone else bids higher
AUCTION (🟡)
↓ Auction ends (24h before check-in)
SETTLED (🔴)
↓ After check-out
Released (back to available)
Interactive calendar showing real-time availability:
| Route | Description | Auth Required |
|---|---|---|
/ | Landing page with "Go to App" button | No |
/marketplace | Browse all properties | Yes |
/marketplace/[vaultId] | Property details + booking | Yes |
/ownerships | Owner dashboard | Yes |
/reservations | User bookings | Yes |
/profile | Wallet, balances, funding | Yes |
# Run linter
npm run lint
# Type checking
npm run build
# Run in development
npm run dev
This is a production application. All changes should:
MIT
Built with ❤️ using Next.js, Privy, Wagmi, and PYUSD