Your Personal Movie & TV Companion
Discover movies and TV shows, explore cast and crew, build personal watchlists, and never lose track of what to watch next.
Download on the App Store · Report a Bug · Request a Feature
Cinemovie is a native iOS application that provides a clean, fast, distraction-free way to discover movies and TV shows, explore the people behind them, and keep track of everything you want to watch. Built natively for iOS using UIKit and the VIPER architecture.
- Browse trending movies and TV shows updated in real time
- Explore now-playing films, top-rated content, and curated genre collections
- Discover trending people and rising stars
- Switch seamlessly between movies and TV shows
- Comprehensive details for every movie and TV show: synopsis, runtime, seasons, production companies, and country of origin
- Full cast and crew with character names
- Person profiles with biographies, filmographies, and links to Wikipedia and IMDb
- Community reviews and ratings
- Personalized recommendations based on what you're watching
- Save titles to your Watchlist and Favorites
- Create unlimited custom lists for any mood or occasion
- Public and private list support
- Rate movies and TV shows
- Track recently viewed media
- Fast, responsive search across movies, TV shows, and people
- Recent search history
- Smart filtering and result ranking
- Multi-language support
- Region-based content filtering
- Default media type selection
- Notification preferences
- Adult content filtering
Cinemovie is built using the VIPER architecture pattern with a clear separation of concerns:
Module/
├── View → UIViewController & UI components
├── Interactor → Business logic & data fetching
├── Presenter → View ↔ Interactor coordination
├── Entity → Data models
└── Router → Navigation & module assembly
- VIPER for module structure and separation of concerns
- DIContainer for dependency injection across modules
- Coordinator pattern for navigation flow management
- Diffable Data Sources with
UICollectionViewCompositionalLayout - Structured Concurrency (
async/await,withTaskGroup) for parallel data fetching - Protocol-Oriented Programming for testability and modularity
- AuthService layer for centralized authentication management
- Language: Swift 5.9
- UI Framework: UIKit
- Architecture: VIPER, MVVM
- Layout: SnapKit, CompositionalLayout
- Concurrency: async/await, Combine
- Networking: URLSession with custom Network Service layer
- Persistence: Core Data, Keychain
- API: TMDB v3 & v4
- Minimum iOS: 15.0
Cinemovie/
├── App/ → App entry point & configuration
├── Core/ → Shared utilities, extensions, constants
├── Networking/ → Network layer, endpoints, auth services
├── Services/ → User service, storage, configuration
├── Modules/
│ ├── Discover/ → Discover screen (VIPER module)
│ ├── MovieDetails/ → Movie details (VIPER module)
│ ├── SeriesDetails/ → TV series details (VIPER module)
│ ├── PersonDetails/ → Person details (VIPER module)
│ ├── Search/ → Search screen (VIPER module)
│ ├── MyLists/ → Personal lists (VIPER module)
│ └── Settings/ → Settings & preferences (VIPER module)
├── Resources/ → Assets, fonts, localizations
└── PrivacyInfo.xcprivacy → Privacy manifest
- Three published App Store apps by the same developer (Cinemovie, EduConnect, AimIt)
- Native iOS — built from the ground up with UIKit, no cross-platform shortcuts
- Production-grade architecture — VIPER, DIContainer, Coordinator pattern
- Modern Swift — async/await, structured concurrency, Swift 6 strict concurrency compliant
- Privacy-first — full Privacy Manifest support per Apple's latest requirements
- Real backend integration — TMDB v3/v4 OAuth flows with persistent sessions
This product uses the TMDB API but is not endorsed or certified by TMDB.
- Widget support
- Siri Shortcuts integration
- Offline mode for watchlists
Built by Buzurgmehr Rahimzoda (Dantes) — Native iOS Developer with 4+ years of experience.
- EduConnect — Trilingual university guide for Kazakhstan students
- AimIt — Goal tracking app built with SwiftUI + Clean Architecture
Copyright © 2026 Buzurgmehr Rahimzoda. All Rights Reserved.
This project is proprietary software. The source code is made publicly available for portfolio and viewing purposes only. No part of this codebase may be copied, modified, distributed, or used in any form without the express written permission of the copyright holder.
See LICENSE for full terms.
If you find this project interesting, please ⭐ the repo!
Made with ❤️





