Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TvMonster

 

 

Description

This app shows listing TV series, using the API provided by the TVMaze website. The solution is using SwiftUI 3 following MVVM and container/presentation patterns. Also, using the latest structured concurrency. Core Data was picked as local persistence.

 

General Considerations:

  • While searching i am using return tap to perform search.
  • Demo tested on virtual simulator.
  • Distribuition package exported inside dist folder.
  • I will appreciate some feedback. Please contact me:
  • obed1355@gmail.com

 

Considerations for a next iteration of the project:

  • Dark theme is suitable.
  • Better Images to improve design and better performance.
  • Uni test api layer.

 

Features

 

Main Features:

  • List all of the series contained in the API used by the paging scheme provided by the API.
  • Allow users to search series by name.
  • The listing and search views must show at least the name and poster image of the series.

After clicking on a series, the application should show the details of the series, showing the following information:

  • Name
  • Poster
  • Days and time during which the series airs
  • Genres
  • Summary
  • List of episodes separated by season

After clicking on an episode, the application should show the episode’s information, including:

  • Name
  • Number
  • Season
  • Summary
  • Image, if there is one

 

Bonus Features:

  • Allow the user to set a PIN number to secure the application and prevent unauthorized users.
  • For supported phones, the user must be able to choose if they want to enable fingerprint authentication to avoid typing the PIN number while opening the app.
  • Allow the user to save a series as a favorite.
  • Allow the user to delete a series from the favorites list.
  • Allow the user to browse their favorite series in alphabetical order, and click on one to. This fnctionality works when toggling a button next to the async search bar in Home section. see its details.
  • Create a people search by listing the name and image of the person.

After clicking on a person, the application should show the details of that person, such as:

  • Name
  • Image
  • Series they have participated in, with a link to the series details.

 

Extra Features:

  • Added minimal onboarding screen.
  • I had a little time to create some unit tests.

 

Tools

  • XCode 13.1
  • iOS 15
  • SwiftUI 3
  • Swift
  • Core Data
  • Postman
  • Figma

 

Third Party Packages

Using Swift Package Manager

 

KingFisher

  • Version 7.2.2
  • Used for downloading and caching images from the web.

 

Demo

demo1

 

TouchID Demo

demo2

 

Note:

The quality and frame motion of this gif might be lower because of the recording software used.

 

Design Inspiration

 

Installation

Clone project from the following url:

https://github.com/vlari/TvMonster

Ideal Requirements to run the app

  • XCode 13
  • Swift 5
  • Simulator app or device

 

Create by vlari

About

No description or website provided.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages