SkillAgentSearch skills...

CineMovie

iOS Application using TMDb API to list and show details of movies

Install / Use

/learn @renanconsalter/CineMovie

README

CineMovie

<br> <div style="display: grid; grid-template-columns: repeat(24, auto);align-items: center;"> <div> <img align="left" src="https://github.com/renanconsalter/CineMovie/blob/main/CineMovie/Resources/Assets.xcassets/Logo.imageset/logo.png?raw=true" alt="CineMovie logo" width="175" height="175"> </div> <div>

Build & Test SwiftLint

CineMovie is an iOS app to list and show details of movies around the world.

You can navigate between Top Rated, Popular or Search movies.

All the information and data used in this project came from the TMDB API.

</div> </div> <br>

Features

  • [x] List Top Rated & Popular movies
  • [x] Search movie by name
  • [x] Movie details (genres, rating, overview, duration, year of release, etc.)
  • [x] 100% programmatically UI (ViewCode)
  • [x] Model-View-ViewModel-Coordinator pattern (MVVM-C)
  • [x] CI/CD automated integration (build, test and lint)
  • [x] Dark Mode
  • [x] Pagination using Infinite Scroll
  • [x] Error handling
  • [x] Image caching

Screenshots

iPhone 13 Pro

CineMovie-Image1

iPhone SE (2022)

CineMovie-Image2

Technologies

Instructions

  1. Clone or download this repository.
  2. This project uses SwifLint for enforcing Swift style and conventions, so you'll need to install it.
  3. Open .xcodeproj file using Xcode.
  4. Open TMDB-Auth-Info.plist file in the target root directory.
  5. On the TMDB_API_KEY value field, paste your own (v4 auth) secret key generated by TMDB API.
  6. Hit Command (⌘) + R and enjoy.

Coming Soon

  • [ ] Localization Strings to support more regions and languages
  • [ ] Create Upcoming and Now Playing menus
  • [ ] Create cast, director, crew and trailers section
  • [ ] Add new feature to show trailers from YouTube using WKWebView
  • [ ] List and manage favorite movies using local storage
  • [ ] Add snapshot tests to UI components
  • [ ] Upgrade project to use Reactive Programming

Contributing

If you have any improvement or feedback, feel free to open an issue or submit a pull request.

Author

<b>Renan Consalter</b> <br> <span> <small>iOS Engineer</small> </span>

LinkedIn Badge Instagram Badge Gmail Badge

Related Skills

View on GitHub
GitHub Stars8
CategoryDevelopment
Updated10mo ago
Forks0

Languages

Swift

Security Score

67/100

Audited on May 20, 2025

No findings