0% found this document useful (0 votes)
4 views2 pages

iOS Task 6V

Uploaded by

engysaad573new
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views2 pages

iOS Task 6V

Uploaded by

engysaad573new
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

Evaluation Task (iOS)

Building an ios app that displays a list of now playing, popular, and upcoming
movies from The Movie Database (TMDb) API and allows users to view details of
each movie upon clicking.

Requirements:
APIs Link:
https://developer.themoviedb.org/reference

1. List Screen:

● Implement three tabs using native tabbar for displaying (now playing, popular, and
upcoming movies).
● Fetch and display a listview of movies under each tab from the TMDb API.
● Display basic movie information such as title, release date, and poster image.

2. Detail Screen:

● Implement a detail screen that shows comprehensive information about the selected movie.
● Fetch additional details about the movie (e.g., overview, genres, runtime) from the TMDb
API.
● Include a button to navigate back to the list screen.

Things to care about


● Implement the MVVM (Model-View-ViewModel) architecture pattern for managing
UI-related.
● Organize the app's codebase following Domain-Driven Design principles, separating
concerns into domain, data, and presentation layers.
● Define domain models representing movie entities and use cases for fetching movie data.
● Don’t use any third party framework (pods and spm)
● Write unit tests to cover critical components and functionalities of the app.
● Ensure comprehensive test coverage for domain logic, data retrieval, and UI interactions.
● Implement error handling mechanisms to gracefully handle network errors, API failures, and
unexpected exceptions.
● Display informative error messages to users when data retrieval or processing fails.
Additional Considerations:
● UI/UX Design: Pay attention to the app's design and usability, ensuring a smooth and
intuitive user experience.
● Caching: Implement caching mechanisms to store previously fetched movie data locally and
show the data in case of any network error or offline.
● Code Quality: Follow best practices for code quality, readability, and maintainability,
adhering to swift coding conventions.

Deliverables:
● A well-structured iOS project containing modular components organized according to the
specified architecture.
● Source code hosted on a version control repository (e.g., GitHub) with clear commit history
and meaningful commit messages.

Evaluation Criteria:
● Adherence to specified requirements and architectural guidelines.
● Code quality, readability, and organization.
● Correct implementation of MVVM architecture and DDD principles.
● Comprehensive unit test coverage with effective error handling.

You might also like