Team ErRor_404 - InnoVedam Hackathon Project
A revolutionary peer-to-peer item borrowing platform designed specifically for campus communities, solving trust, pricing, and delivery challenges with innovative features.

-
β Time-Bound Borrowing with Auto-Reminders
- Smart scheduling with automated return reminders
- Risk-based reminder frequency
-
β QR-Based Hand-Off & Return Verification
- Super easy demo feature
- Scan to confirm item exchange
- Timestamped verification
-
β Collateral Mode for High-Value Items
- Automatic collateral calculation (20-50% of item value)
- Pre-authorized payments with Stripe
- Instant collateral return on on-time return
-
β Smart Return Risk Score β Unique Twist!
- 0-100 risk assessment
- Considers trust score, history, item value, duration
- Personalized recommendations
-
β Campus Fair Price Model
- Minimum and maximum price bounds per category
- Prevents overcharging
-
β Auto-Suggest Price
- Frictionless UX
- Based on category, duration, condition, and demand
- Transparent breakdown
-
β Peer-Reported Price Abuse Flag
- Community-driven fairness
- Admin review system
-
β Self-Delivery with Meeting-Point Automation
- Popular campus locations pre-configured
- Distance and walk-time calculation
- Smart suggestion based on both users' locations
-
β Campus Buddy Couriers Novel Feature!
- Verified student couriers
- Earn while delivering
- Rating system
-
β Priority Delivery
- Borrower picks up directly from lender
- Extra βΉ15 fee
- βΉ5 goes to lender for convenience
| Activity | Users/Month | Revenue |
|---|---|---|
| Normal transactions (βΉ3 fee) | 5,000 | βΉ15,000 |
| Priority boosts (βΉ15) | 600 | βΉ9,000 |
| Convenience pickup (βΉ20 share) | 200 | βΉ4,000 |
| College store subscriptions | - | βΉ2,500 |
| Total | βΉ30,500/month |
-
College Email Verification
- Primary authentication method
- .edu or .ac.in domains required
- OTP verification
-
Pre-Authorized Payments with Stripe
- Funds held but not captured until return
- Automatic collateral handling
- Late penalty support
/app # Application routes
/(auth) # Authentication pages
/dashboard # User dashboard
/create-listing # Create item listing
/matches # Browse items
/lib # Core libraries
supabase.ts # Supabase client & database functions
stripe.ts # Stripe payment integration
/utils # Utility functions
qr.ts # QR code generation & verification
meetingPoint.ts # Smart meeting point automation
riskScore.ts # Risk assessment algorithm
pricing.ts # Fair pricing system
delivery.ts # Delivery options logic
/server/routes # API routes
auth.ts # Authentication endpoints
items.ts # Item CRUD operations
transactions.ts # Transaction management
/db
seeds.sql # Database schema
- Node.js 18+
- pnpm (or npm/yarn)
- Supabase account
- Stripe account
- Clone the repository
git clone https://github.com/anushka-codes1/InnoVedam-Hackathon.git
cd InnoVedam-Hackathon- Install dependencies
pnpm install- Set up environment variables
cp .env.example .env
# Edit .env with your credentials- Set up Supabase database
- Create a new Supabase project
- Run the SQL from
db/seeds.sqlin Supabase SQL editor - Copy your project URL and anon key to
.env
- Configure Stripe
- Create a Stripe account
- Get your API keys from dashboard
- Add keys to
.env - Set up Stripe Connect for lender payouts (optional)
- Run the development server
pnpm devVisit http://localhost:3000 to see the app!
- users - User profiles with trust scores
- items - Item listings with pricing bounds
- transactions - Borrowing transactions with QR codes
- buddy_couriers - Delivery courier profiles
- meeting_points - Popular campus locations
- reminders - Automated reminder system
- price_reports - Price abuse reports
- notifications - User notifications
See db/seeds.sql for complete schema.
-
Borrower initiates transaction
- Selects item and duration
- System calculates total (rental + fees + collateral)
-
Pre-authorization created
- Stripe holds funds on borrower's card
- Amount includes collateral for high-value items
-
Item handed off
- Both parties scan handoff QR code
- Transaction becomes active
-
Item returned
- Both parties scan return QR code
- If on-time: Charge rental only, return collateral
- If late: Add penalty, charge total
-
Payment captured
- Lender receives rental amount
- Platform receives fees
- Courier receives delivery fee (if applicable)
score = 50 (baseline)
- Trust score impact (40% weight)
- Return history (30% weight)
- Item value consideration (15% weight)
- Duration impact (10% weight)
- Account age & other factors (5% weight)
Result: 0-25 = Low, 25-50 = Medium, 50-75 = High, 75-100 = Very HighFor each meeting point:
totalDistance = distance(borrower, point) + distance(lender, point)
score = totalDistance * (is_popular ? 0.8 : 1.0)
Return point with lowest scoreprice = baseCost + (durationCost * conditionMultiplier * demandMultiplier)
Bounded by: categoryMinPrice β€ price β€ categoryMaxPrice- Frontend: React, Next.js, Tailwind CSS
- Backend: Next.js API Routes, Node.js
- Database: PostgreSQL (Supabase)
- Authentication: Supabase Auth
- Payments: Stripe (with pre-authorization)
- QR Codes: qrcode.react, react-qr-reader
- Deployment: Vercel (recommended)
- Mobile app (React Native)
- Real-time chat between users
- Photo verification of item condition
- Integration with college student ID systems
- Analytics dashboard for admins
- Referral program
- Insurance options for high-value items
We welcome contributions! Please see our contributing guidelines.
MIT License - feel free to use this project for your campus!
Built with β€οΈ for Vedam School of Technology's InnoVedam Hackathon
Questions? Open an issue or contact the team!
Interested in deploying this platform for your campus? Contact us for:
- White-label solution
- Custom branding
- Integration with existing systems
- Training and support
- Store subscription packages (βΉ29/month)