Pixly is a sophisticated movie recommendation platform that leverages advanced collaborative filtering and machine learning techniques using MovieLens data. Originally developed as a learning project, it evolved into a full-featured content platform with rich social features and advanced recommendation capabilities.
The basic idea relies on collaborative filtering for film recommendations. TMDB and MovieLens data are used for user-similarity computations. Roughly 40.000 people who had voted for more than 20 movies in Movielens were randomly selected. When a new user votes for 20 films, people from the database with similar cinema tastes (highly correlated people) are found. These highly similar people were assigned to this new user in less than a minute. Afterward, a score prediction for a movie not seen yet (on average +/- 0.5 points) is computed for the user when a new film page is visited. Also, various dimensionality reduction techniques are researched and used for clustering the movies.
- Collaborative filtering based on user similarity computations
- Content-based filtering using TMDB and MovieLens data
- Real-time prediction engine (accuracy: +/- 0.5 points)
- Sophisticated user similarity calculations for personalized recommendations
- Multi-threaded computation optimization using Cython
- Advanced clustering using dimensionality reduction techniques
- Comprehensive movie metadata management
- Rich text content support with CKEditor integration
- Multiple image format handling (posters, covers, hero images)
- Tag-based categorization system
- SEO-optimized content structure
- Blog system with rich media support
- User profiles and personalization
- Custom lists and collections
- Rating and review system
- Social media integration
- User interaction capabilities
- Elasticsearch-powered search
- Advanced filtering options
- Tag-based browsing
- SEO-optimized content pages
- Core Framework: Django with GraphQL API
- Performance Optimizations:
- Cython-optimized computational modules
- Redis caching layer
- Multi-threaded processing
- Efficient database queries
- Data Processing:
- NumPy for numerical computations
- Custom algorithm implementations
- MovieLens data integration
- TMDB API integration
- Main Application: React-based SPA
- Blog Platform: Svelte implementation
- Design System: Atomic design with styled-components
- API Integration: Apollo GraphQL client
- Hosting: Elastic Beanstalk
- Database:
- RDS (MySQL)
- Elasticache (Redis)
- Storage: S3 for media files
- Security:
- SSL/TLS encryption
- CORS configuration
- Secure cookie handling
- TMDB API for movie data
- YouTube API for video content
- Social media platforms
- Search engine optimization tools
- Python Django
- Redis
- MySQL
- Graphene (GraphQL)
- Cython
- Numpy
- Elasticsearch
- React
- Apollo GraphQL
- Styled Components
- CKEditor
pixly-app/
├── algorithm/ # Recommendation engine & Cython optimizations
├── djaws/ # Core Django configuration
├── gql/ # GraphQL API implementation
├── items/ # Content management models
├── persona/ # User recommendation system
├── persons/ # User management & profiles
├── blog/ # Blog functionality
├── rss/ # RSS feed functionality
└── _FRONTEND/ # React application
Contact Details: [email protected]
- Django's command-line utility for administrative tasks
- Configures Django environment with 'djaws.settings'
- Entry point for running development server and migrations
settings.py
: Core Django configuration with AWS integrationurls.py
: Main URL routing configurationwsgi.py
: WSGI application entry pointcognito.py
: AWS Cognito integration for authenticationstorage_backends.py
: AWS S3 storage configurationcommon_views.py
: Shared view functionality
models.py
: Database models for algorithm datacustom_functions.py
: Custom algorithmic implementationsstatistics.py
: Statistical analysis functionsmovielens.py
: MovieLens dataset integrationcython/
: Performance-optimized Cython implementationscalculations.pyx
: Core computational functionssetup.py
: Cython build configuration
models.py
: User persona and preference modelsmyqueue.py
: Queue management for recommendationsprofile.py
: User profile functionalityviews.py
: Persona-related view logic
models.py
: User and authentication modelsprofile.py
: Extended profile functionalityabstract.py
: Abstract base classesviews.py
: User management views
models.py
: Content and media modelstmdb.py
: TMDB API integrationforms.py
: Form definitionsviews.py
: Content management viewsouterApi.py
: External API integrations
schema.py
: GraphQL schema definitiontypes.py
: GraphQL type definitionsmutations.py
: GraphQL mutationssearch.py
: Search functionalitytmdb_class.py
: TMDB data integrationelasticsearch_client.py
: Elasticsearch integrationsocial/
: Social media integrationssocial.py
: Base social functionalityfacebook.py
: Facebook integrationtwitter.py
: Twitter integration
models.py
: Blog content modelsviews.py
: Blog rendering viewsurls.py
: Blog URL routingsitemaps.py
: SEO sitemap generation
models.py
: RSS feed modelsviews.py
: Feed generation views
lib.py
: Common utility functionscache_functions.py
: Caching implementationsindexing.py
: Search indexing functionalitygoogle_index_search.py
: Google search integration