Skip to content

Repository files navigation

CineVerse

License: MIT

A small iOS movie browser/search app backed by TMDB, built to demonstrate a senior-level Swift/iOS workflow: modular local Swift packages, DTO-boundary discipline, protocol-based dependency injection, TDD with Swift Testing, and Swift 6 strict concurrency.

See docs/superpowers/specs/2026-08-04-cineverse-portfolio-app-design.md for the full architecture write-up.

Setup

  1. Create a free TMDB account and generate a v4 Read Access Token at https://www.themoviedb.org/settings/api.
  2. Copy Secrets.xcconfig.example to Secrets.xcconfig (gitignored) and paste your token as the value of TMDB_ACCESS_TOKEN.
  3. Open CineVerse.xcodeproj in Xcode 16+, select an iOS 17+ simulator, and run (⌘R).

Running tests

Package tests: swift test --package-path Packages/<PackageName> for any of CineVerseLocalization, CineVerseErrorHandling, CineVerseDomain, CineVerseNetworking, CineVersePersistence, CineVerseRepository.

App target tests (ViewModels): ⌘U in Xcode, or xcodebuild test -scheme CineVerse -destination 'platform=iOS Simulator,name=iPhone 15'.

Architecture

Six local Swift packages, layered bottom-up:

Localization ← ErrorHandling ← Domain, Networking, Persistence ← Repository ← App

Repository is the only package allowed to see both DTOs and Domain models — it's the sole mapping boundary. See the design spec for the full package graph and rationale.

Acknowledgments

Built with the help of Superpowers and Socrates.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages