Skip to content

ldevdantesl/Cinemovie

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

191 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

App Icon Transparent

Cinemovie

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.

Platform Swift Architecture License

Download on the App Store · Report a Bug · Request a Feature


Overview

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.

Screenshots

Intro Discover Lists Favorites Person Settings

Features

Discover

  • 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

Detailed Information

  • 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

Personal Lists

  • 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

Search

  • Fast, responsive search across movies, TV shows, and people
  • Recent search history
  • Smart filtering and result ranking

Personalization

  • Multi-language support
  • Region-based content filtering
  • Default media type selection
  • Notification preferences
  • Adult content filtering

Architecture

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

Key Architectural Patterns

  • 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

Tech Stack

  • 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

Project Structure

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

Highlights

  • 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

API Attribution

This product uses the TMDB API but is not endorsed or certified by TMDB.

Roadmap

  • Widget support
  • Siri Shortcuts integration
  • Offline mode for watchlists

About the Developer

Built by Buzurgmehr Rahimzoda (Dantes) — Native iOS Developer with 4+ years of experience.

Other Apps

  • EduConnect — Trilingual university guide for Kazakhstan students
  • AimIt — Goal tracking app built with SwiftUI + Clean Architecture

License

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 ❤️