- Notifications
You must be signed in to change notification settings - Fork15
iOS challenge
idealista/ios-challenge
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
The idealista iOS team is on the lookout for a new teammate! We’re on a mission to find someone who’s ready to dive into the exciting (and sometimes wild) world of iOS development. From building cool new features to squashing bugs, crafting pixel-perfect UIs, and making sure everything runs smoothly and securely — we’ve got plenty to keep you on your toes.
Think you’re up for the challenge? We could really use your skills to create the next generation of awesome features that will take our app to new heights. Whether it’s making sure our users have a seamless experience or pushing the limits of performance, we need someone who’s ready to jump in and make a real impact.
Here at idealista, we’re all about clean, maintainable code and solid testable components. If you love turning great ideas into reality, this might just be the perfect challenge for you!
- Read theminimum requirements.
- Fork this repository.
- Start coding and have fun!
Build a small app that allows users to browse through a list of ads and view ad details on a separate screen.
- List:https://idealista.github.io/ios-challenge/list.json
- Detail:https://idealista.github.io/ios-challenge/detail.jsonPlease note: the response is always the same.
- The app must run onXcode 16.0 and be compatible withiOS 16 throughiOS 18.
- The app should include at leasttwo screens:
- Alisting screen displaying a collection of ads.
- Adetail screen for viewing individual ad information.
- The code must be written inSwift and use theUIKit framework.
- Implement functionality to allow users tofavorite ads.
- If an ad is favorited, display thedate it was favorited.
- Use the providedAPI endpoints to fetch and display ad data.
- Only usethird-party libraries if absolutely necessary. We value clean and lightweight implementations.
- Implementpull-to-refresh functionality on the listing screen.
- Localize the app into at least one additional language.
- Addtests for key components of the app.
- Add support forDark Mode to ensure the app looks great in all environments.
- Incorporate someSwiftUI code alongside UIKit.
- Implementpersistent storage using Core Data, SwiftData, Realm, or any other suitable solution.
- AddiPad support with a responsive layout.
- Show the location of the ad using amap view, indicating its position.
- Feel free to go beyond the requirements andimprove the app in any way you think is best — we love creativity!
- Email us attlfernandez@idealista.com with your repository link you'd like our iOS team to review, or send the project folder (including the
.git
directory). - Celebrate with a beer after a well done job! 🍺