Your complete creative production platform for streamlined workflows
StreamScene is a modern, full-stack web application designed for content creators, streamers, and media professionals. It provides an integrated suite of tools for project management, file organization, content scheduling, and collaborative workflows.
- Google OAuth 2.0 Integration: Secure authentication with Google accounts
- Session Management: Persistent login sessions with Express sessions
- User Profiles: Personalized experience with profile pictures and user data
- Drag & Drop File Upload: Intuitive file upload with progress tracking
- AWS S3 Integration: Secure cloud storage with automatic fallback to local storage
- File Tagging System: Organize files with custom tags for easy discovery
- File Sharing: Generate shareable links for collaboration
- Multi-format Support: Videos, audio, images, documents (PDF, DOC, DOCX)
- Real-time Preview: Instant file previews with thumbnails
- Project Center Canvas: Interactive canvas for visual project planning
- Drawing Integration: Create and save sketches directly in the platform
- File Organization: Advanced filtering and search capabilities
- AI Weekly Planner: Generate content schedules with Google Gemini AI
- Task Generation: AI-assisted task creation and planning
- Smart Suggestions: AI-powered content recommendations
- Multi-platform Support: Schedule content for YouTube, Twitch, Twitter, Instagram, TikTok
- Calendar Integration: Visual scheduling interface
- Project Linking: Connect files and drawings to scheduled content
- Status Tracking: Monitor content from draft to published
- Creative & Administrative Tasks: Categorized task management
- Priority Levels: High, medium, low priority organization
- Deadline Tracking: Due date management and notifications
- Progress Monitoring: Track task completion status
- React 19 with TypeScript
- Framer Motion for animations and interactions
- Tailwind CSS for styling
- React Router for navigation
- React Sketch Canvas for drawing functionality
- Node.js with Express.js
- TypeScript for type safety
- Passport.js for authentication
- Sequelize ORM (with MySQL fallback)
- Google Generative AI integration
- AWS S3 for file storage
- PostCSS with Tailwind
- TSX for TypeScript execution
- Node.js 18+ and npm
- Clone the repository
git clone https://github.com/theblkguy/stream-scene.git
cd stream-scene- Create your .env file
# Server Configuration
PORT=8000
# Database Configuration
DB_HOST=localhost
DB_NAME=example_db
DB_USER=example_user
DB_PASS=example_password
# Production Database Configuration (for EC2)
# DB_HOST=example-ec2-host
# DB_NAME=example_db
# DB_USER=example_user
# DB_PASS=example_password
# Google OAuth
GOOGLE_CLIENT_ID=fake-google-client-id.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=fake-google-client-secret
GOOGLE_CALLBACK_URL=http://localhost:8000/auth/google/callback
SESSION_SECRET=example-session-secret
# AWS S3
AWS_ACCESS_KEY_ID=FAKEAWSACCESSKEYID
AWS_SECRET_ACCESS_KEY=FAKEAWSSECRETACCESSKEY
AWS_REGION=us-east-2
AWS_S3_BUCKET=example-s3-bucket
# AI Features
GEMINI_API_KEY=fake-gemini-api-key
# Feature Flags
USE_MOCK_X_API=trueThe application will be available at:
- Frontend: http://localhost:8000
- Backend API: http://localhost:8000/api
npm run build
npm startGET /auth/google- Initiate Google OAuthGET /auth/google/callback- OAuth callbackGET /auth/user- Get current userPOST /auth/logout- Logout user
GET /api/files- Get user files (supports?tags=tag1,tag2filter)POST /api/files- Create file recordGET /api/files/:id- Get specific filePUT /api/files/:id- Update file metadata and tagsDELETE /api/files/:id- Delete fileGET /api/files/tags/list- Get user's tags
POST /api/shares- Create shareable linkGET /api/shares/:shareId- Access shared fileGET /api/shares/file/:shareId- Get shared file details
GET /api/tasks- Get user tasksPOST /api/tasks- Create new taskPUT /api/tasks/:id- Update taskDELETE /api/tasks/:id- Delete task
POST /api/ai/generate-tasks- Generate tasks with AIPOST /api/ai/suggestions- Get AI content suggestions
GET /api/schedule- Get scheduled contentPOST /api/schedule- Create scheduled postPUT /api/schedule/:id- Update scheduled postDELETE /api/schedule/:id- Delete scheduled post
stream-scene/
โโโ client/ # Frontend React application
โ โโโ components/ # React components
โ โ โโโ ProjectCenter/ # File management components
โ โ โโโ GoogleLoginButton.tsx
โ โ โโโ NavBar.tsx
โ โ โโโ ...
โ โโโ ContentScheduler/ # Content scheduling module
โ โโโ hooks/ # Custom React hooks
โ โโโ services/ # API service layers
โ โโโ shared/ # Shared utilities and types
โ โโโ styles/ # Styling files
โ โโโ types/ # TypeScript type definitions
โโโ server/ # Backend Express application
โ โโโ config/ # Configuration files
โ โโโ db/ # Database setup and connection
โ โโโ middleware/ # Express middleware
โ โโโ models/ # Data models
โ โโโ routes/ # API route handlers
โ โโโ types/ # Backend type definitions
โโโ public/ # Static assets
โโโ webpack.config.mjs # Webpack configuration
โโโ tailwind.config.js # Tailwind CSS configuration
โโโ package.json # Dependencies and scripts
- Dynamic Tag Creation: Add tags during upload or edit existing files
- Tag-based Filtering: Filter files by multiple tags
- Auto-completion: Tag suggestions based on existing tags
- Collaborative Tagging: Shared tags across team projects
- Interactive Drawing: Create visual project plans and workflows
- File Integration: Link uploaded files to canvas elements
- Collaborative Editing: Real-time collaboration features
- Export Options: Save and share canvas creations
- Smart Scheduling: AI suggests optimal posting times
- Content Analysis: Extract insights from uploaded files
- Task Generation: Automatically create tasks from project requirements
- Trend Integration: AI-powered content trend analysis
- Supported Formats: Video (MP4, AVI, MOV), Audio (MP3, WAV), Images (JPG, PNG, GIF), Documents (PDF, DOC, DOCX)
- Size Limits: Configurable per file type
- Storage Options: AWS S3 or local storage
- Progress Tracking: Real-time upload progress
- CORS Protection: Configurable origin restrictions
- Session Security: Secure session management
- File Access Control: User-based file permissions
- OAuth Integration: Secure Google authentication
- TypeScript: Strict type checking enabled
- ESLint: Configured with recommended rules
- Prettier: Code formatting automation
- Component Structure: Functional components with hooks
# Run tests
npm test
# Run with coverage
npm run test:coverage# Build client and server
npm run build
# Start production server
npm start- Request Logging: All API requests logged
- Error Tracking: Comprehensive error logging
- Performance Metrics: Response time monitoring
- User Activity: Authentication and file access logs
- Database Status: Connection health monitoring
- S3 Connectivity: Storage service health checks
- API Availability: Endpoint status monitoring
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
# Install dependencies
npm install
# Start development servers
npm run dev:client # Frontend only
npm run dev:server # Backend only
npm run dev # Both frontend and backendThis project is licensed under the MIT License - see the LICENSE file for details.
Authentication not working:
- Verify Google OAuth credentials in
.env - Check callback URL configuration
- Ensure session secret is set
File uploads failing:
- Check AWS S3 credentials and bucket permissions
- Verify file size limits
- Check network connectivity
Database connection issues:
- Verify MySQL credentials and connection
- Check if database exists
- Application will fallback to in-memory storage
- ๐ง Email: support@streamscene.app
- ๐ Bug Reports: GitHub Issues
- ๐ Documentation: Wiki
- Mobile App: React Native mobile application
- Real-time Collaboration: WebSocket-based real-time features
- Advanced Analytics: Detailed usage and performance analytics
- Plugin System: Extensible plugin architecture
- Multi-language Support: Internationalization
- Advanced AI Features: Enhanced content generation and analysis
StreamScene - Streamlining creative workflows, one project at a time. ๐ฌโจ# Deployment test - Fri Aug 15 00:16:48 CDT 2025