Orbit is a verified marketplace exclusively for university students. It provides a safe, trusted platform to buy, sell, and swap items with other verified student profiles using their university email addresses.
- Exclusive Access: Powered by Clerk Authentication, restricting access solely to users with valid university email addresses.
- Categorized Listings & Pagination: Browse through dedicated categories (Dorm, Clothes, School, Leisure, Accessories, Services) using seamless Shadcn UI pagination.
- Secure Payments: Integrated Stripe API allows users to reserve and purchase items using Orbit Secure Payment safely.
- AI-Powered "Match Your Needs": Uses the Gemini API to semantically search through marketplace listings and intelligently match users with the perfect item.
- Community & Marketplace Hub: Switch seamlessly between shopping in the Marketplace and engaging in the Community Hub using a sleek global navigation dropdown.
- Wishlist & Likes: Save your favorite items to your wishlist for later.
- Real-Time Chat: Integrated messaging powered by WebSockets to negotiate and chat with sellers instantly.
- Secure Meetups: In-person meetup verification system via WebSockets and temporary codes.
- Interactive Maps: Built-in Mapbox integration to view meetup locations on or around campus.
- Cloud Storage: Fast, scalable image uploads utilizing Amazon S3.
- Framework: Next.js (App Router)
- Styling: Tailwind CSS & shadcn/ui (Dropdowns, Pagination, Sonner Toasts)
- Animation: Framer Motion
- Auth: Clerk
- Payments: Stripe React
- Maps: Mapbox GL
- Icons: Lucide React
- Framework: NestJS
- Database: PostgreSQL with Prisma ORM (Amazon RDS)
- Payments: Stripe API (via Webhooks)
- AI: Google Gemini API (for semantic search & smart matching)
- Caching & Message Queues: Redis (Amazon ElastiCache) & BullMQ
- Rate Limiting: Global Redis Throttler
- Real-Time: Socket.io
- File Storage: Amazon S3
- Auth Verification: Clerk Backend SDK
- Node.js (v18+ recommended)
- PostgreSQL database
- Clerk API Keys
- Stripe API Keys
- Gemini API Key
- AWS S3 Credentials
- Mapbox API Key
git clone https://github.com/kiet08hogit/Orbit.git
cd Orbitcd backend
npm install
# Set up your environment variables
# Create a .env file with your Prisma database URL, Clerk keys, Stripe secret key, Gemini API key, Redis config, and AWS S3 credentials.
# Run database migrations
npx prisma db push
# Start the development server
npm run start:devThe backend runs on http://localhost:3000 by default.
cd ../frontend
npm install
# Set up your environment variables
# Create a .env.local file with your Clerk publishable key, Stripe publishable key, and Mapbox API key.
# Start the frontend development server
npm run devThe frontend will run on http://localhost:3000 (or another available port).
