0% found this document useful (0 votes)
2 views

iOS Task 6V

Uploaded by

engysaad573new
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

iOS Task 6V

Uploaded by

engysaad573new
Copyright
© © All Rights Reserved
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