The complete peer-to-peer campus marketplace, rental network, and ride-pooling platform for university students.
UniShare is an all-in-one student-driven campus utility platform engineered specifically for university communities. It empowers students to rent items, share daily campus commutes, exchange internal tokens, and safely navigate student life within an authentic university verification framework.
-
Campus Marketplace & Rentals
- Peer-to-peer rentals for academic gear (calculators, laptops, chargers, lab equipment, books) and sports equipment.
- Deposit escrow with automated returns, handover checklists, and rental dispute workflows.
- Item search, categories, favorites, recommendations, and recent views.
-
Campus Rides & Pooling
- Split rides, rickshaws, and campus commutes with fellow verified students.
- Search by pickup, destination, time, and seat availability.
- Ride status tracker (upcoming, active, completed) and mutual student ratings.
-
Token Wallet & Economy
- Campus token ecosystem eliminating awkward cash transactions.
- Token packages, manual transaction receipt submissions, peer token transfers, and complete ledger history.
-
Institutional Student Verification
- University email verification with 6-digit OTP confirmation.
- Student identity card submissions (department, academic session, student ID).
- Admin review queue with approve/reject auditing.
-
Campus Safety & SOS Assistance
- One-tap student SOS trigger with live emergency status updates.
- Dedicated admin emergency queue with real-time dispatch details.
-
Admin & Moderation Suite
- Listing moderation for products and rides.
- Rental dispute mediation and evidence review.
- Payment verification review and student identity KYC.
- Framework: Next.js 16 (App Router, Server & Client Components)
- Language: TypeScript 5
- UI & Styling: Tailwind CSS v4, Radix UI primitives, Lucide Icons, Framer Motion
- ORM & Database: Prisma ORM with SQLite
- Package Manager: Bun or npm / pnpm
unishare/
├── prisma/
│ ├── schema.prisma # Prisma data models (Accounts, Sessions, Requests, Codes)
│ └── dev.db # SQLite database file
├── public/
│ ├── logo.svg # UniShare official SVG logo
│ └── robots.txt # Search engine crawlers policy
├── scripts/
│ └── check-routes.py # Route availability & health check test script
├── src/
│ ├── app/ # Next.js App Router
│ │ ├── (85 screen routes)/ # Individual screen routes (e.g. /marketplace, /create-ride)
│ │ ├── api/ # Backend API routes (/api/auth, /api/verification, /api/views)
│ │ ├── screens/ # Interactive screen gallery & catalog modal viewer
│ │ ├── globals.css # Design tokens and theme styling
│ │ ├── layout.tsx # Root application layout
│ │ ├── not-found.tsx # Styled 404 page
│ │ └── page.tsx # UniShare landing page
│ ├── components/
│ │ ├── design/ # Design engine & auth event interceptors
│ │ ├── ui/ # Reusable UI component library (Shadcn/Radix)
│ │ └── unishare/ # UniShare-specific branded components (Logo, PageViewer)
│ ├── data/
│ │ └── pages.ts # Screen directory manifest (85 screens, 11 categories)
│ ├── design-content/ # Typed design modules for all screens
│ ├── hooks/ # Custom React hooks (useToast, useMobile)
│ └── lib/ # Core utilities (auth, db, utils)
├── .env # Local environment configuration
├── .env.example # Example environment template
├── .gitignore # Git ignore rules
├── components.json # Shadcn component configuration
├── package.json # Project dependencies and npm scripts
└── tsconfig.json # TypeScript configuration
- Node.js >= 18.18.0 or Bun >= 1.0.0
- Git
-
Clone the repository:
git clone git@github.com:xnocode/unishare.git cd unishare -
Install dependencies:
bun install # or npm install -
Prepare the database:
# Initialize SQLite database using Prisma bun run db:push # or npx prisma db push
-
Start the development server:
bun run dev # or npm run dev -
Open your browser:
- Landing Page: http://localhost:3000
- Screen Catalog (All 85 Screens): http://localhost:3000/screens
| Command | Description |
|---|---|
bun run dev |
Starts the Next.js development server |
bun run build |
Compiles the production build |
bun run start |
Runs the compiled production server |
bun run lint |
Runs ESLint checks across the codebase |
bun run db:push |
Synchronizes the Prisma schema with the SQLite database |
bun run db:generate |
Generates the Prisma Client |
bun run db:migrate |
Runs Prisma database migrations |
bun run db:studio |
Opens Prisma Studio GUI in browser |
The project includes 85 complete, interactive screens across 11 functional categories:
| Category | Key Screens |
|---|---|
| Getting Started | home |
| Account & Verification | create-account, confirm-email, student-verification, verification-pending, log-in, verification-approved, verification-rejected, login-2fa-6-digit-otp, forgot-password, reset-password |
| Marketplace | campus-home, marketplace, product-details |
| Rentals | rental-request-review, rental-confirmation, my-rentals, active-rental, completed-rental, cancelled-rental, rental-dispute, favorites, recently-viewed |
| Discovery | recommendations, marketplace-search-results, notifications, recent-activity, global-search |
| Selling | my-products, add-product, edit-product, product-availability |
| Rides | ride-home-and-search, ride-details, create-ride, ride-request-review, ride-request-status, my-created-rides, my-booked-rides, upcoming-ride, active-ride, completed-ride, ride-rating-and-review |
| Wallet & Tokens | wallet-overview, token-packages, buy-tokens-order-review, payment-method, transaction-id-submit, payment-verification-pending, purchase-success, transaction-history, select-recipient, transfer-tokens, transfer-confirmation, transfer-success |
| Admin | student-sos-assistance, restricted-admin-dashboard, admin-student-verification-review, admin-payment-verification-review, admin-product-and-ride-moderation, admin-rental-disputes-review, admin-sos-incident-queue-and-detail |
| States & Feedback | sos-request-failed, sos-request-submitted, favorites-empty, my-products-empty, my-rentals-empty, marketplace-no-results, ride-now-full, item-unavailable, invalid-receipt-upload, transfer-recovery, insufficient-tokens, payment-needs-more-information, external-checkout-blocked |
| Social & Profile | deposit-released, return-confirmation, pickup-confirmation, owner-request-declined, owner-accepted-booking, owner-request-review, incoming-rental-requests, messages, other-student-profile, my-profile, privacy, terms, sharing-guide, get-help |
- Student Verification: Accounts must verify through educational email and valid student ID documentation.
- Deposit Protection: Escrowed tokens protect item owners and renters with photo confirmation at pickup and return.
- Campus Safety: Built-in SOS emergency reporting and strict administrative moderation.
This project is proprietary and intended for university campus operations.