This code challenge allows you to choose your own path and lets you flaunt your creative panache 😏 and technical skills along the way. Get as much completed as you can, with the focus on functionality over design.
In a fictional world, we are branching into the music business and need a new mobile application. This mobile application needs to display the top 100 songs based on the iTunes API.
- Show top 100 albums based on the json feed here: https://itunes.apple.com/us/rss/topalbums/limit=100/json
- A clean modern look
- Clean, readable, maintainable codebase
- Source code on Github, Bitbucket, or Gitlab
- Be able to run IOS and Android simulators
- Do not create react app using Expo or any other boilerplate. Use the simple react-native init!!!!
- Use TypeScript
- A good user experience
Choose one of the following routes for your journey.
"Hey! Look! Listen!"
TASKS
- All of the base requirements
- Create and implement tests using Jest
- Use any of React Native navigation libraries
"I know Kung Fu."
TASKS
- All of the base, and novice requirements
- Use UI libraries available (NativeBase, React Native Elements, UI Kitten, etc....)
- Make use of animations
"Watch and learn Grasshopper."
TASKS
- All of the base, novice, and intermediate requirements
- Use of state libraries (Redux, MobX, MST, etc….)
- Allow the top 100 to be searchable
- Allow the user to see more information about a selected Album
- Create tests using Detox
"All is fair in love and bonus rounds"
TASKS
- Use app distribution services like Firebase or Appcenter
- Use GitHub Actions or any other CI/CD services
- Surprise us! Add a feature that you think would work well here (for instance, advanced search, integration with other API, a "Favorite" functionality, add some branding like custom launch icon and launch screens)
- Show us your work through your commit history!