Fabriku
Kelola produksi, stok, dan penjualan di Fabriku. Buat website usaha untuk menampilkan produk atau layanan, menerima pesanan, dan mengelola permintaan pelanggan.
Translation pending
Peer-to-peer rentals across Karachi, Lahore and Islamabad. Rent what you need, list what you own.
CommerceTypeScript · PLpgSQLGitHub @Muhammad-Saad-AwanOnlineOwner 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
Loading the full README. The saved excerpt is shown below.
SamaanShare is a modern peer-to-peer rental marketplace that enables individuals in Pakistan to monetize their underutilized items by renting them to others. Instead of buying expensive equipment for occasional use, users can rent from their neighbors—saving money while reducing waste.
Target Market: Pakistan (PKR Currency, Asia/Karachi Timezone)
For Owners
• Expensive items (cameras, tools, gaming consoles) sit idle 90% of the time
• No trusted platform to safely rent items to strangers
• Cash-only transactions feel riskyRead the full README ↗A Peer-to-Peer Rental Marketplace for Pakistan
SamaanShare is a modern peer-to-peer rental marketplace that enables individuals in Pakistan to monetize their underutilized items by renting them to others. Instead of buying expensive equipment for occasional use, users can rent from their neighbors—saving money while reducing waste.
Target Market: Pakistan (PKR Currency, Asia/Karachi Timezone)
Initial Launch Cities: Karachi, Lahore, Islamabad
Pakistan lacks a dedicated rental marketplace with:
SamaanShare provides a trusted platform where:
| Layer | Technology | Purpose |
|---|---|---|
| Framework | Next.js 15 | Full-stack React framework with App Router |
| Language | TypeScript | Type-safe development |
| Styling | Tailwind CSS | Utility-first CSS |
| Components | shadcn/ui | Accessible, customizable UI components |
| Database | PostgreSQL | Reliable, scalable relational database |
| ORM | Prisma | Type-safe database client |
| Authentication | Auth.js v5 | Secure authentication (Email + Google OAuth) |
| Images | Cloudinary | Image storage, optimization, and CDN |
| Validation | Zod | Runtime type validation |
| State | Zustand | Lightweight client state management |
| Hosting | Vercel | Serverless deployment platform |
┌─────────────────────────────────────────────────────────────┐
│ CLIENT LAYER │
│ (Browser - Desktop, Mobile, Tablet) │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ EDGE / CDN LAYER │
│ (Vercel Edge Network) │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ APPLICATION LAYER │
│ │
│ ┌─────────────────┐ ┌─────────────────┐ │
│ │ App Router │ │ Server Actions │ │
│ │ (RSC Pages) │ │ (Mutations) │ │
│ └─────────────────┘ └─────────────────┘ │
│ │
│ ┌─────────────────────────────────────────┐ │
│ │ Admin Dashboard │ │
│ └─────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ SERVICE LAYER │
│ │
│ ┌─────────────────────────────────────────┐ │
│ │ Payment Abstraction Layer │ │
│ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ │
│ │ │ Offline │ │JazzCash │ │ Safepay │ │ │
│ │ │ (MVP) │ │(Future) │ │(Future) │ │ │
│ │ └─────────┘ └─────────┘ └─────────┘ │ │
│ └─────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ DATA LAYER │
│ │
│ ┌──────────────┐ ┌──────────────┐ │
│ │ PostgreSQL │ │ Cloudinary │ │
│ │ (Database) │ │ (Images) │ │
│ └──────────────┘ └──────────────┘ │
└─────────────────────────────────────────────────────────────┘
samaanshare/
├── docs/ # Architecture documentation
│ ├── PRD.md # Product Requirements
│ ├── ARCHITECTURE.md # Technical Architecture
│ ├── DATABASE.md # Database Schema
│ ├── API.md # API Design
│ ├── PROJECT_STRUCTURE.md # Folder Organization
│ ├── ROADMAP.md # Development Phases
│ └── ENGINEERING_GUIDELINES.md # Coding Standards
│
├── src/
│ ├── app/ # Next.js App Router
│ │ ├── (auth)/ # Auth routes (login, register)
│ │ ├── (main)/ # Main app routes
│ │ ├── admin/ # Admin dashboard
│ │ └── api/ # API routes (webhooks)
│ │
│ ├── components/ # React components
│ │ ├── ui/ # shadcn/ui primitives
│ │ ├── forms/ # Form components
│ │ └── [feature]/ # Feature-specific components
│ │
│ ├── lib/ # Utilities and services
│ │ ├── actions/ # Server actions
│ │ ├── db/ # Database utilities
│ │ ├── payments/ # Payment abstraction
│ │ └── utils/ # Helper functions
│ │
│ ├── hooks/ # Custom React hooks
│ ├── stores/ # Zustand stores
│ └── types/ # TypeScript types
│
├── prisma/
│ ├── schema.prisma # Database schema
│ └── migrations/ # Database migrations
│
├── public/ # Static assets
├── README.md # This file
├── TODO.md # Development backlog
├── CHANGELOG.md # Version history
└── LICENSE # MIT License
| Phase | Status | Description |
|---|---|---|
| Documentation | ✅ Complete | PRD, Architecture, Database, Guidelines |
| Phase 0: Foundation | ✅ Complete | Next.js 15, Prisma, Auth.js v5, Tailwind |
| Phase 1: Authentication | ✅ Complete | Register, login, Google, password reset, email confirmation, profile |
| Phase 2: Marketplace | ✅ Complete | Browse, search, filters, sorting, wishlist |
| Phase 3: Listings | ✅ Complete | CRUD, signed Cloudinary uploads, availability calendar |
| Phase 4: Booking | ✅ Complete | Request, offline payment, full lifecycle, notifications |
| Phase 5: Reviews | ✅ Complete | Two-way reviews with reciprocal release |
| Trust & Safety | ✅ Complete | Reporting, trust score, identity verification, handover records, damage claims |
| Phase 6: Admin | ✅ Complete | Users, listing moderation, bookings, reports, analytics |
| Phase 7: Polish | 🚧 In progress | Error tracking and accessibility done; production deploy outstanding |
Current Version: Pre-release. Deployed to staging; not yet in production — see TODO.md for what remains, which is mostly waiting on a domain.
.nvmrc and enforced by enginesgit clone https://github.com/Muhammad-Saad-Awan/Rentify-SamaanShare-.git
cd Rentify-SamaanShare-
npm install # also generates the Prisma client via postinstall
cp .env.example .env.local # then fill in DATABASE_URL and AUTH_SECRET
npm run db:migrate # apply migrations
npm run db:seed # categories and cities - required
npm run db:seed:demo # optional: demo listings, development only
npm run dev
Only DATABASE_URL and AUTH_SECRET are required. Cloudinary, Google, Resend and
Sentry are each optional and the app degrades honestly without them — no Google
button, no password-reset link, no image upload, no error reporting. .env.example
says what happens in each case.
openssl rand -base64 32 # a usable AUTH_SECRET
npm run check # lint, type-check, format check, unit tests
npm run test:e2e # Playwright: builds, then runs against a real database
npm run build:analyze # bundle treemap
npm run check is what CI should run. The end-to-end suite needs a seeded
database, like the verify:* scripts do; see playwright.config.ts for why there
is no meaningful version of it that runs against nothing.
Comprehensive documentation is available in the /docs directory:
| Document | Description |
|---|---|
| PRD.md | Product Requirements Document |
| ARCHITECTURE.md | Technical Architecture |
| DATABASE.md | Database Schema Design |
| API.md | API & Server Actions Design |
| PROJECT_STRUCTURE.md | Folder Organization |
| ROADMAP.md | Development Phases |
| ENGINEERING_GUIDELINES.md | Coding Standards |
Contributions are welcome! Please read our contributing guidelines (coming soon) before submitting a PR.
git checkout -b feature/amazing-feature)git commit -m 'feat: add amazing feature')git push origin feature/amazing-feature)This project is licensed under the MIT License - see the LICENSE file for details.
Project: SamaanShare - Peer-to-Peer Rental Marketplace
Repository: github.com/Muhammad-Saad-Awan/Rentify-SamaanShare-