SpinJockey Network
Professional Content Management Platform for Film Industry
Project Overview
Objective: Develop a comprehensive content management platform specifically designed for independent filmmakers and creative studios. The platform enables project management, collaboration, and content distribution with industry-specific workflows and multi-tier access control.
Innovation: Built on Rails 8.0.4 with Ruby 3.2.2 on a modern Redis-free architecture using Solid Queue, Solid Cache, and Solid Cable, demonstrating cutting-edge Rails development practices for professional film industry applications.
Ecosystem: SpinJockey Network has expanded into a multi-application ecosystem including a Script Analysis App for automated screenplay evaluation and a Screenplay Editor mountable Rails engine (published as a Ruby gem to the self-hosted Gitea package registry) for collaborative script writing, providing end-to-end tools for film production workflows.
Source Repositories
- Main Platform:
Spinjockey-Network/spinjockey-network-website - Script Analysis:
Spinjockey-Network/script-analysis-app - Screenplay Editor:
Spinjockey-Network/screenplay-editor
8.0.4
✨ Recent Enhancements (v1.0.1)
🔐 Security & Monitoring
- Rack::Attack: rate limiting on authentication endpoints (5 attempts per 20 seconds)
- Sentry: error tracking and performance monitoring with configurable sample rate
- Session timeout: 2-hour inactivity timeout with fixation protection on login
- Structured JSON logging: via Lograge for machine-readable audit trails
- Health checks:
/healthand/health/detailedendpoints with allow-listed IPs
⚡ Database Performance
- Nine performance indices added for common query paths
- Optimized lookups for users, projects, and content items
- 40–60% improvement in query performance on targeted workloads
🎬 Screenplay Editor Integration
- Custom
screenplay-editorRuby gem (v0.1.1) - Published to self-hosted Gitea package registry
- Automated gem publishing via CI/CD pipeline
- Industry-standard screenplay formatting and validation
💻 Browser Compatibility
- Chrome 60+, Firefox 60+, Safari 10+ (macOS Sierra and later)
-webkit-vendor prefixes for older Safari- Password visibility toggle on sign-in, registration, and password-reset forms
- Stimulus.js progressive enhancement with proper ARIA labels
⚙️ CI/CD Automation
- Automated testing via Gitea Actions on every push
- Tag-based automated deployment to production
- Self-hosted Docker-based CI/CD runner
- ~2–3 minute end-to-end deployment time
📧 Email & Spam Protection
- Resend API for user registration and notification delivery
- reCAPTCHA on registration and contact forms
- Suspicious-request blocking:
.php,.asp,.envscan attempts dropped - Host authorization protects against host-header attacks
Platform Architecture
🎭 Multi-Tier User System
Role-Based Access Control: Designed specifically for film industry workflows with granular permissions for different types of collaborators and content access levels. Authorization is enforced server-side via the Pundit gem, with role-based policies applied to every controller action.
👑 Admin
Full platform management and analytics access
🎬 Collaborator
Team member access to production materials
⭐ Premium
Access to premium content and advanced features
📝 Registered
Member access to registered content
👤 Guest
Browse public content only
🔐 Authentication & User Management
- Multi-tier User System: 5 distinct user roles with hierarchical permissions
- Secure Authentication: BCrypt hashing, email confirmation, and password reset with time-limited tokens
- Role-based Authorization: Pundit gem with granular content and project policies
- Rate Limiting: Rack::Attack throttles login attempts (5 per 20 seconds)
- Session Management: 2-hour timeout, fixation protection, CSRF protection
- Password Visibility Toggle: Accessible UI with ARIA labels across all forms
📁 Content Management System
- Project Organization: Manage multiple film projects with metadata
- Content Upload: Support for scripts, storyboards, character guides, and marketing materials
- Flexible Storage: Both file uploads and direct HTML editing
- Access Control: Configure content visibility by user role
- Content Analytics: Track views, unique viewers, and engagement metrics
- Screenplay Authoring: Integrated via the mountable Screenplay Editor engine
🛡️ Administrative Interface
- Comprehensive Dashboard: System overview with statistics
- Project Management: Create, edit, and manage project status through Development → Archive
- User Management: Search, filter, and manage user roles with toggle functionality
- Content Organization: Upload and organize production materials
- Analytics & Reporting: View counts, user engagement, system health
📊 Analytics & Observability
- Content Engagement: Track views and access patterns
- User Activity: Monitor content consumption behavior
- Error Tracking: Sentry captures production errors and performance traces
- Structured Logs: JSON log format via Lograge for ingestion by downstream tools
- Health Endpoints:
/healthand/health/detailedfor uptime checks - Access Audit: Complete logging of who accessed what content and when
🎯 Film Industry Content Types
📜 Production Documents
- Scripts: Screenplays and revisions (via Screenplay Editor gem)
- Storyboards: Visual production planning
- Character Development: Guides and profiles
- Production Notes: Behind-the-scenes documentation
💼 Business Materials
- Marketing Materials: Promotional content and strategies
- Budget Documents: Financial planning materials
- Contracts: Legal and business documents
- Project Tracking: Development through Archive phases
🚀 Ruby on Rails 8.0.4
- Ruby 3.2.2: Latest stable Ruby
- Modern Rails Stack: Cutting-edge features, no Redis required
- Solid Queue: Background jobs without Redis dependency
- Solid Cache: Caching system without Redis
- Solid Cable: WebSockets without Redis
- Thruster: HTTP caching and compression
- Pundit: Role-based authorization
- Puma 6.6.0: Production application server
🎨 Frontend Technologies
- Stimulus & Turbo: Hotwire for reactive interfaces
- Propshaft: Modern Rails asset pipeline
- Custom CSS: Hand-crafted responsive design
- Cinema-themed Design: Professional film industry styling
- Mobile-first: Optimized for all screen sizes
- Importmap: Modern JavaScript without bundling
🔒 Security & Resilience
- BCrypt: Secure password hashing
- Rack::Attack: Request throttling and attack mitigation
- Sentry: Error tracking and performance monitoring
- reCAPTCHA: Registration and contact-form spam protection
- CSRF Protection: Built-in Rails security features
- Content Sanitization: XSS protection on user content
- Host Authorization: Prevents host-header attacks
- SQL Injection Prevention: Parameterized queries throughout
☁️ Infrastructure & Deployment
- Self-Hosted Debian: Production Linux server with systemd service
- Docker: Containerized development environment
- Gitea Actions: Self-hosted CI/CD pipeline
- Tag-Based Deployment:
git tag v1.0.xtriggers ~2–3 minute production deploy - PostgreSQL 15: Robust, scalable database
- Resend API: Transactional email delivery
- SSL Enforcement: HTTPS-only in production
- Health Monitoring:
/healthand/health/detailedendpoints
🔧 Implementation Highlights
🎬 Industry-Specific Design
- Cinema-themed responsive design optimized for film professionals
- Role-based UI that adapts to user permissions dynamically
- Project workflow designed for film production lifecycles
- Content organization matching film industry standards
⚡ Modern Rails Architecture
- Rails 8.0.4 with the full Redis-free Solid* stack
- Background job processing with Solid Queue
- WebSocket support through Solid Cable
- Advanced caching with Solid Cache
- Screenplay Editor integrated as a mountable engine gem
🛡️ Enterprise Security
- Multi-tier role-based access control via Pundit
- Rack::Attack rate limiting on authentication endpoints
- Session timeout and fixation protection
- Sentry error tracking for security incident monitoring
- Suspicious-request blocking for common vulnerability scans
📈 Performance & Observability
- Nine database indices delivering 40–60% query improvement
- Structured JSON logging via Lograge
- Sentry performance traces with configurable sample rate
- Health endpoints for monitoring integration
🎯 Project Impact
Professional film industry platform enabling independent filmmakers and creative studios to manage projects, collaborate effectively, and distribute content with enterprise-grade security and analytics. Built with cutting-edge Rails 8.0 architecture for optimal performance and maintainability.
Technical Innovation: Successfully implemented Redis-free Rails 8.0 stack with Solid Queue, Solid Cache, and Solid Cable, and extended the platform with a custom mountable engine (Screenplay Editor) published as a private Ruby gem, demonstrating modern Rails development practices while delivering industry-specific functionality for film production workflows.