Have you ever tried to write something for iOS or macOS? We hope the answer is yes.
If you know Xсode, Swift, or Objective-C programming languages, understand OOP principles, data structures, and know a little bit about algorithms — you're perfect. We'll guide you and help you grow into a great software engineer. So go ahead and apply! Our programmers love humans!
Here is your test task:
Here is a movie database — for you to get any data on movies (movies in theatres, details about movies, actors and much more).
What you need to make is:
iOS or macOS app using Swift/Objective-C, which shows a list of the movies in theatres with a separate screen with a detailed description of the movie.
The screen with the list of movies must display a collection of the movies in theatres with posters and movie names.
The screen of a movie must display:
- A poster;
- A name;
- A release year;
- A list of similar movies (optional);
- A list of the actors (optional);
- A list of the team that created the movie (optional);
It will be a bonus if your app has:
- An editable list of movies that you want to watch;
- Image caching;
- Offline data storage;
- Test code coverage (including asynchronous operations).
What you need to pay your attention to:
- The architecture of an app — using of patterns and architecture solutions;
- The project structure — names of objects and their properties, consistency of names, a file structure in the project, absence of spaghetti code;
- Design — following Apple Human Interface Guidelines, attention to detail, animation.
- The app must have at least two different screens.
- You aren't allowed to use third-party dependencies.
P.S .: to start getting movie data, you need to get an API key for requests. You can get it by registering at https://www.themoviedb.org/signup and creating an app at https://www.themoviedb.org/settings/api.
Attach your completed test task as a file or provide a link to it via the application form below. Look sharp, we won’t process your application if the completed test task is not attached.
Application deadline: May 10