3f3849e76f63309673889f9f4a436bfd1d922411
- Add Dockerfile with multi-stage build (Node.js + Nginx) - Add docker-compose.yml for Portainer stack deployment on port 7777 - Add nginx.conf with PWA support, gzip compression, and security headers - Add .dockerignore for optimized Docker builds - Add DEPLOYMENT.md with comprehensive deployment guide - Configure Vite PWA plugin with service worker and offline support - Add PWA manifest.json with app icons and shortcuts - Enhance logo.svg with iOS-style glass effects (filters, gradients, highlights) - Add app-icon.svg for PWA installation - Update mobile nav with glassmorphic active tab styling - Fix mobile tab bar layout shift issues with flex-1 and consistent sizing - Update index.html with PWA meta tags and Apple-specific settings - Add health check endpoint at /health for container monitoring Co-authored-by: Cursor <cursoragent@cursor.com>
IndeeHub Prototype - Project Setup
Quick Start
# 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
-
Add Real Content
- Update
src/stores/content.tswith IndeeHub API - Replace placeholder images with real thumbnails
- Add authentication (NIP-98)
- Update
-
Complete Features
- Video player component
- Search functionality
- User authentication
- Content detail pages
- My List feature
-
Nostr Integration
- Nostr relay connections
- Event publishing/fetching
- Creator profiles
- Content discovery
-
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
Description
Languages
TypeScript
65.9%
Vue
31.1%
Shell
1.3%
JavaScript
0.9%
Python
0.3%
Other
0.4%