Built a complete Netflix-style streaming interface for IndeeHub's decentralized media platform with real film content. Features: - Vue 3 + TypeScript + Vite setup with hot module reloading - Netflix-inspired UI with hero section and horizontal scrolling content rows - Glass morphism design system with custom Tailwind configuration - 20+ real IndeeHub films organized into 6 categories (Bitcoin, Documentaries, Drama, etc.) - Full-featured video player component with custom controls - Mobile-responsive design with bottom navigation - Nostr integration ready (nostr-tools, relay pool, NIP-71 support) - Pinia state management for content - MCP tools configured (Filesystem, Memory, Nostr, Puppeteer) Components: - Browse.vue: Main streaming interface with hero and content rows - ContentRow.vue: Horizontal scrolling film cards with navigation arrows - VideoPlayer.vue: Custom video player with play/pause, seek, volume, fullscreen - MobileNav.vue: Bottom tab navigation for mobile devices Tech Stack: - Frontend: Vue 3 (Composition API), TypeScript - Build: Vite 7 - Styling: Tailwind CSS with custom theme - State: Pinia 3 - Router: Vue Router 4.6 - Protocol: Nostr (nostr-tools 2.22) Design: - 4px grid spacing system - Glass morphism UI components - Netflix-style hero section with featured content - Smooth animations and hover effects - Mobile-first responsive breakpoints - Dark theme with custom color palette Content: - 20+ IndeeHub films with titles, descriptions, categories - Bitcoin documentaries: God Bless Bitcoin, Dirty Coin, Searching for Satoshi - Independent films and documentaries - Working Unsplash CDN images for thumbnails and backdrops Ready for deployment to Umbrel, Start9, and Archy nodes. Co-authored-by: Cursor <cursoragent@cursor.com>
100 lines
2.2 KiB
Markdown
100 lines
2.2 KiB
Markdown
# IndeeHub Prototype - Project Setup
|
|
|
|
## Quick Start
|
|
|
|
```bash
|
|
# Install dependencies
|
|
npm install
|
|
|
|
# Start development server
|
|
npm run dev
|
|
|
|
# Build for production
|
|
npm run build
|
|
```
|
|
|
|
## Project Structure
|
|
|
|
```
|
|
src/
|
|
├── components/ # Reusable Vue components
|
|
│ └── ContentRow.vue
|
|
├── views/ # Page components
|
|
│ └── Browse.vue
|
|
├── stores/ # Pinia state management
|
|
│ └── content.ts
|
|
├── router/ # Vue Router configuration
|
|
├── types/ # TypeScript type definitions
|
|
├── utils/ # Utility functions
|
|
│ └── indeeHubApi.ts
|
|
└── composables/ # Vue composables
|
|
```
|
|
|
|
## Features
|
|
|
|
- ✅ Netflix-inspired streaming interface
|
|
- ✅ Glass morphism design from neode-ui
|
|
- ✅ Responsive mobile/desktop layout
|
|
- ✅ Horizontal scrolling content rows
|
|
- ✅ Vue 3 + TypeScript + Vite
|
|
- ✅ Tailwind CSS styling
|
|
- ✅ Nostr-tools integration ready
|
|
- ⏳ Real IndeeHub content integration (pending data)
|
|
|
|
## Technology Stack
|
|
|
|
- **Frontend:** Vue 3 (Composition API)
|
|
- **Build Tool:** Vite
|
|
- **Styling:** Tailwind CSS
|
|
- **State:** Pinia
|
|
- **Router:** Vue Router
|
|
- **Protocol:** Nostr (nostr-tools)
|
|
- **Package Manager:** npm
|
|
|
|
## Next Steps
|
|
|
|
1. **Add Real Content**
|
|
- Update `src/stores/content.ts` with IndeeHub API
|
|
- Replace placeholder images with real thumbnails
|
|
- Add authentication (NIP-98)
|
|
|
|
2. **Complete Features**
|
|
- Video player component
|
|
- Search functionality
|
|
- User authentication
|
|
- Content detail pages
|
|
- My List feature
|
|
|
|
3. **Nostr Integration**
|
|
- Nostr relay connections
|
|
- Event publishing/fetching
|
|
- Creator profiles
|
|
- Content discovery
|
|
|
|
4. **Deployment**
|
|
- Package for Umbrel
|
|
- Package for Start9
|
|
- Package for Archy
|
|
|
|
## Design System
|
|
|
|
Using design rules from `.cursor/rules/`:
|
|
- Mobile-first responsive design
|
|
- Glass morphism UI
|
|
- 4px grid spacing system
|
|
- Smooth animations
|
|
- Accessibility (WCAG AA)
|
|
- Performance optimized
|
|
|
|
## Development Notes
|
|
|
|
- All components use Composition API
|
|
- TypeScript strict mode enabled
|
|
- Following Vue 3 best practices
|
|
- Tailwind utility-first approach
|
|
- Design system consistency enforced
|
|
|
|
---
|
|
|
|
Built with ❤️ for decentralized media streaming
|