Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
211 changes: 211 additions & 0 deletions teams/stream-titans/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,211 @@
# πŸŽ₯ StreamTitans β€” Live Commerce Platform

> **Where fashion meets live streaming.** Discover, claim, and buy thrifted & trending fashion in real-time.

---

## Team Name
**Team StreamTitans**

## Team Members
- Ayush Bharti (GitHub: @Ayush-2511)
- Eshita Modi (GitHub: @Eshita65)
- Aadya Agarwal (GitHub: @Aadya25416)
- Manjeet Singh Meena (GitHub: @manjeetsinghmeena)
- Aranya Kumar (GitHub: @Aranya0811)

---

## πŸ’‘ Idea Chosen
**Custom: StreamTitans β€” AI-Powered Live Commerce for Fashion & Thrifting**

---

## 🧩 Problem Statement

India's resale and thrifting market is fragmented and mostly offline. Gen-Z buyers want the excitement of live shopping β€” the thrill of claiming a limited item before it's gone β€” but platforms like Instagram Live lack real-time commerce infrastructure. Simultaneously, independent fashion creators struggle to reach buyers, manage inventory, and price their thrifted goods competitively.

StreamTitans bridges this gap by combining **live streaming**, **real-time commerce**, and **AI-powered features** into a single platform tailored for fashion and thrifting in India.

---

## πŸ› οΈ Tech Stack

| Layer | Technology |
|---|---|
| Frontend Framework | React 19 + Vite 8 |
| Styling | Vanilla CSS with CSS Variables (Brutalist Design System) |
| Authentication | Firebase Auth (Google OAuth + Email/Password) |
| Database | Firebase Firestore |
| Media Uploads | Cloudinary |
| AI Features | Google Gemini API (`gemini-flash-latest`) via `@google/generative-ai` |
| Icons | Lucide React |
| Notifications | React Hot Toast |
| Routing | Hash-based SPA routing (no React Router) |
| Deployment | Vercel / Netlify |

---

## ✨ Key Features

### πŸ›’ Buyer Experience
- **Live Stream Discovery** β€” Browse ongoing fashion live streams in a card-based deck
- **Thrift Marketplace** β€” Browse polaroid-style thrift items with rapid claim system
- **E-commerce View** β€” Browse curated drops and trending pieces
- **AI Semantic Search** β€” Natural language search across the full product catalog (e.g. *"something warm for winter in earth tones"*)
- **Personalized Feed** β€” AI-powered recommendation engine that re-ranks items based on your interaction history
- **Advanced Filters** β€” Full-screen popup filter system with price sliders, size grids, brand search, and colour swatches
- **Cart & Wallet** β€” Order management and balance tracking

### 🎬 Creator Experience
- **Creator Dashboard** β€” Full analytics, inventory management, and stream scheduling
- **AI Price Estimator** β€” Instantly suggests optimal INR pricing for thrifted items based on title, category, and condition
- **Live Stream Controls** β€” Start streams, add product drops, and manage orders in real-time
- **Inventory Manager** β€” Add products (with Cloudinary image upload), track live vs. draft listings, view stock and revenue metrics

### πŸ€– AI Features (Powered by Gemini)
- **Titans AI Chatbot** β€” Floating assistant that answers buyer questions about claims, shipping, and the platform
- **Semantic Search Engine** β€” Understands natural language queries and returns relevant products by meaning, not keywords
- **AI Price Estimator** β€” Real-time price range suggestions for thrifted fashion items
- **Personalized Recommendation Feed** β€” Re-ranks content based on session activity

---

## πŸ—οΈ Architecture Overview

```
StreamTitans/
β”œβ”€β”€ frontend/
β”‚ β”œβ”€β”€ src/
β”‚ β”‚ β”œβ”€β”€ pages/ # Top-level views (Home, LandingFlow, CreatorDashboard)
β”‚ β”‚ β”œβ”€β”€ components/ # All UI components
β”‚ β”‚ β”‚ β”œβ”€β”€ landing/ # Landing page components (Hero, Auth, Email)
β”‚ β”‚ β”‚ β”œβ”€β”€ profile/ # Buyer profile & settings
β”‚ β”‚ β”‚ β”œβ”€β”€ creator/ # Creator dashboard tabs & components
β”‚ β”‚ β”‚ β”œβ”€β”€ ecommerce-v2/# E-commerce section
β”‚ β”‚ β”‚ └── thrift-v2/ # Thrift section
β”‚ β”‚ β”œβ”€β”€ context/ # Global state (Auth, Stream, Product, UserActivity)
β”‚ β”‚ β”œβ”€β”€ firebase/ # Firebase config, auth, firestore, cloudinary
β”‚ β”‚ β”œβ”€β”€ data/ # Mock data for streams, products, creators
β”‚ β”‚ └── index.css # Global Brutalist CSS Design System
```

**State Management Strategy:**
- `AuthContext` β€” Firebase user session, role (buyer/seller), real-time listener
- `StreamContext` β€” Controls the global stream overlay modal
- `ProductContext` β€” Controls the global product claim overlay modal
- `UserActivityContext` β€” Tracks click events to power the personalized feed algorithm
- Local `useState` for all UI-specific interactions

---

## πŸš€ How to Run Locally

### Prerequisites
- Node.js 18+
- A Firebase project with **Authentication** (Google + Email/Password) and **Firestore** enabled
- A Google Gemini API key from [Google AI Studio](https://aistudio.google.com/app/apikey)
- A [Cloudinary](https://cloudinary.com/) account (for image uploads)

### Steps

```bash
# 1. Clone the repository
git clone https://github.com/Ayush-2511/StreamTitans.git
cd StreamTitans/frontend

# 2. Install dependencies
npm install

# 3. Set up environment variables
cp .env.example .env.local
# Then edit .env.local and fill in your keys (see below)

# 4. Start the development server
npm run dev
```

### Environment Variables (`.env.local`)

```env
# Firebase Configuration
VITE_FIREBASE_API_KEY=your_firebase_api_key
VITE_FIREBASE_AUTH_DOMAIN=your_project.firebaseapp.com
VITE_FIREBASE_PROJECT_ID=your_project_id
VITE_FIREBASE_STORAGE_BUCKET=your_project.appspot.com
VITE_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
VITE_FIREBASE_APP_ID=your_app_id

# Google Gemini AI
VITE_GEMINI_API_KEY=your_gemini_api_key

# Cloudinary (for product image uploads)
VITE_CLOUDINARY_CLOUD_NAME=your_cloud_name
VITE_CLOUDINARY_UPLOAD_PRESET=your_upload_preset
```

> ℹ️ A `.env.example` template is included in the repository with all required variable names.

---

## 🌐 Live Demo

πŸ”— **[StreamTitans Live β†’](https://stream-titans.vercel.app)**

---

## πŸ“Έ Screenshots / Demo

### Demo Video link β€”
πŸ”— **[Demo link β†’](https://www.youtube.com/watch?v=aBeuu__VSco)**

### Landing Page β€” Infinite Scrolling Fashion Grid
> Animated, tilted columns of fashion imagery with a smooth Auth flow
![landing-page](./frontend/public/screenshots/landing_page.png)

### Buyer Home β€” Live Stream Deck
> Real-time live stream cards with category filtering and a Claim button
![buyer-home](./frontend/public/screenshots/buyer_home.png)

### Thrift Marketplace β€” Polaroid Grid
> Vintage-style product cards with fast claim mechanics
![thrift-marketplace](./frontend/public/screenshots/thrift_marketplace.png)

### Creator Dashboard β€” Inventory Manager
> Full product management with AI Price Estimator and Cloudinary uploads
![dashboard](./frontend/public/screenshots/dashboard.png)

### AI Chatbot β€” Titans AI Assistant
> Floating chat widget powered by Gemini, answers platform-specific questions
![ai-chatbot](./frontend/public/screenshots/ai_chatbot.png)

### AI Semantic Search
> Natural language search modal accessible from the navbar
![ai-search](./frontend/public/screenshots/ai_search.png)

### Other screenshots
![alt-text](./frontend/public/screenshots/analytics.png)
![alt-text](./frontend/public/screenshots/creator_profile.png)
![alt-text](./frontend/public/screenshots/ecommerce_deals.png)
![alt-text](./frontend/public/screenshots/editors_pick.png)
![alt-text](./frontend/public/screenshots/general_settings.png)
![alt-text](./frontend/public/screenshots/inventory.png)
![alt-text](./frontend/public/screenshots/join_seller.png)
![alt-text](./frontend/public/screenshots/live_stream_view.png)
![alt-text](./frontend/public/screenshots/login.png)
![alt-text](./frontend/public/screenshots/my_streams.png)
![alt-text](./frontend/public/screenshots/onboarding.png)
![alt-text](./frontend/public/screenshots/orders.png)
![alt-text](./frontend/public/screenshots/seller_verification.png)
![alt-text](./frontend/public/screenshots/user_profile_settings.png)
![alt-text](./frontend/public/screenshots/wallet.png)

---

## 🀝 Contributing

This project was built as part of a hackathon. For collaboration, please open an issue or reach out to the team directly.

---

*StreamTitans Β© 2026 Β· Built with LOVE for the live commerce generation*
1 change: 1 addition & 0 deletions teams/stream-titans/project-files
Submodule project-files added at 067c2a