UniVerse is a modern, high-performance, full-stack peer-to-peer campus delivery platform connecting college students with student runners for instant campus deliveries. Designed with production SaaS aesthetics, real-time messaging, comprehensive analytics, and enterprise resilience.
- Request Creation: Create delivery requests with item lists, quantities, price estimates, and pickup/drop-off locations.
- Hostel & Room Autofill: Saved room defaults for fast 1-tap checkout.
- Request Management: Track request statuses in real-time (
Pending,Accepted,Picked Up,In Transit,Delivered,Cancelled). - Interactive Details Modal: Deep-dive into item specifications, runner details, and timelines.
- Available Requests Board: Browse live unassigned delivery requests across campus.
- Delivery Lifecycle Management: Accept requests, update statuses sequentially, and manage active deliveries.
- Runner Delivery History: Track past completed deliveries and performance metrics.
- User Management: View, filter, search, and manage platform roles (
Student,Runner,Admin) and account statuses (Active,Suspended). - Delivery Control: Complete platform delivery overview with search, status filters, sorting, and manual runner assignments.
- Comprehensive Analytics Engine: Real-time KPI cards, success rate calculations, cancellation rates, and 30-day time-series trend data.
- Export & Reporting System: Download analytics data dynamically in formatted CSV reports and structured JSON payloads.
- Multi-Range Date Filters: Quick date range presets (
Today,Last 7 Days,Last 30 Days,This Month,Last Month,All Time) and custom date pickers.
- Direct Messaging: In-app peer-to-peer chat between requesters and assigned runners.
- Realtime Notifications: Unread count badges, category filtering (
Delivery,Request,Runner,System,Admin), and instant status change alerts.
- Enterprise Resilience: Global React Error Boundaries, exponential backoff retry helpers (
retryAsync), and crash-safe promise wrappers. - Network Awareness: Reactive online/offline status detection (
useOnlineStatus) with non-intrusive notification banners. - Security Hardening: Open-redirect protection (
isSafeRedirectUrl), string/numeric input validation, and production error sanitization.
| Layer | Technology |
|---|---|
| Framework | Next.js 16 (App Router, Turbopack) |
| Language | TypeScript 5 |
| Styling | Tailwind CSS v4, Vanilla CSS Design System |
| UI Components | Radix UI Primitives, Lucide Icons, Framer Motion |
| Backend & Auth | Supabase (PostgreSQL, Realtime Subscriptions, Row Level Security) |
| Testing | Vitest, React Testing Library, jsdom, @testing-library/jest-dom |
| State & Data | React Hooks, Context API, useMemo calculation engine |
universe/
βββ src/
β βββ app/ # Next.js App Router routes & pages
β β βββ (auth)/ # Authentication routes (login, register, reset-password)
β β βββ admin/ # Admin control panel & analytics
β β βββ dashboard/ # Student & Runner dashboard views
β β βββ api/ # API route handlers
β βββ components/ # Reusable UI component modules
β β βββ admin/ # Admin dashboard components & tables
β β βββ analytics/ # Analytics engine UI, charts & export toolbar
β β βββ chat/ # Realtime chat list & message window
β β βββ dashboard/ # Common dashboard cards & stats
β β βββ home/ # Landing page & navigation
β β βββ notifications/ # Notification bell & drawer list
β β βββ request/ # Request list, cards, status badges & timelines
β β βββ shared/ # ErrorState, EmptyState, SkeletonLoaders, ErrorBoundary
β β βββ ui/ # Radix UI primitives & design system components
β βββ constants/ # Navigation routes, status tokens, and animation variants
β βββ hooks/ # Custom hooks (useOnlineStatus, useDebounce, etc.)
β βββ lib/ # Core library modules
β β βββ database/ # Supabase database query functions (analytics, requests, chat)
β β βββ security/ # Security hardening, input validation, URL safety, env validation
β β βββ supabase/ # Supabase client/server connection factories
β β βββ utils/ # Export utilities, formatting, async retry helpers
β βββ providers/ # Context providers (RealtimeProvider, ToastProvider)
β βββ testing/ # Vitest setup, renderWithProviders, and mock factories
β βββ types/ # TypeScript database & analytics definitions
βββ vitest.config.ts # Master Vitest test runner configuration
βββ TESTING.md # Test suite guide & conventions
βββ ARCHITECTURE.md # In-depth system architecture specification
βββ DEPLOYMENT.md # Step-by-step Vercel & Supabase deployment guide
βββ CHANGELOG.md # Release version history
βββ RELEASE_CHECKLIST.md # Production release verification checklist
- Node.js
20.xor higher - npm
10.xor higher - Supabase project credentials
git clone https://github.com/avinash-git-24/universe.git
cd universe
npm installCopy .env.example to .env.local and add your Supabase project keys:
cp .env.example .env.localFill in .env.local:
NEXT_PUBLIC_SUPABASE_URL=https://your-project.supabase.co
NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY=your-publishable-key
NEXT_PUBLIC_APP_URL=http://localhost:3000npm run devOpen http://localhost:3000 in your browser.
Run the Vitest unit and component test suites:
# Run unit & component tests
npm test
# Generate code coverage report
npm run test:coverage
# Run ESLint validation
npm run lint
# Execute production build
npm run buildSee TESTING.md for testing guidelines and mock helpers.
- π ARCHITECTURE.md β System architecture, data flow, and real-time design.
- π DEPLOYMENT.md β Vercel, Supabase, domain setup, and environment variables.
- π CONTRIBUTING.md β Git workflow, branch naming, and pull request rules.
- π CHANGELOG.md β Complete release version history.
- π RELEASE_CHECKLIST.md β Final production deployment verification checklist.
We welcome open-source contributions to UniVerse! Check out CONTRIBUTING.md to get started with issue discussions, feature requests, and pull requests. Built with active open-source collaboration across the campus community.
- Avinash Kumar (@avinash-git-24) β Lead Architect & Full-Stack Developer
- Archi Kumari (@Archi-22108) β Core Collaborator & Architecture Contributor
This project is licensed under the MIT License.
If you find UniVerse helpful or interesting, please consider giving the repository a star!