TAPP Code Challenge for Software Engineer Candidates
Name: Your Name
Email: Your email
Resume: link to your resume
Additional: Such as Github or LinkedIn, etc
The goal of this challenge is to assess a candidate’s proficiency in Javascript, React Native and using APIs, by implementing a simple app that simulates a Place Bookmarks feature.
The candidate will:
- Fork our Code Challenge Github repository
- Update
README.mdwith their information - Create a new folder called
/app - Work and make commits as they code to the
/appfolder - Include a detailed
README.mdin/appon how to setup/configure and run the app - Make their forked repo public accessible
- Submit to code-challenge@tapp.group with in time limit
- subject line of your name, ‘submission’ and date. For example, "Tommy Tappson -Submission 08-22-2018"
- body with link to your repo and roughly how long it took you to complete the challenge.
Good luck! Can’t wait to see your awesome code! If you have any questions, ask us at code-challenge@tapptravel.co
The challenge must be submitted within 72 hours of receiving. The time heavily depends on how feature complete you want to make it. Realistically, you should not spend more than a day.
You can open /design/index.html as a local file in your browser to view mockups. Assets are included in /design/assets.
The resulting app should have UI that closely resembles the provided design mockups. While it doesn’t have to be pixel perfect, the key relationships and design elements should be implemented.
-
iOS App written in React Native - 3rd Party or Native Modules allowed
-
Responsive Layouts (iPhone 6 or newer)
-
Use of Google Maps Platform (place autocomplete, place detail, place photo)
-
Bookmarks Screen
- Show carousel of bookmarked places, if any
- Allowe user to search and add additional places to bookmarks
- Weather and other non-bookmark information can be mocked
-
Search Screen
- Show results from Google Places Autocomplete as user types in search field
-
Place Screen
- Use Google Place Details to retrieve all relevant data, such as name, address, rating, and etc
- Use Google Place Photo to show a photo from place
- Use Google Place Static Maps to show a image of location on map
- Correct ‘Bookmark’ button depending on if place is bookmarked
These aren't required but are great to see!
- TypeScript - yep, we use it
- Redux integration
- Firebase integration - bookmarks stored in Firestore
- Detailed git commit history (we like seeing your coding process)
- Creative liberties to improve on functionality (following our UI design as guideline)
- Demo video - showcase any additional features
- Code design
- File structure
- Intuitive naming
- Simple and readable code blocks
- Helpful comments
- Env-friendly configurations
- Fulfills UI design, see User Interface
- Navigation
- Responsive Layouting
- Components Composition
- Effective Styling
- State Management
- Data Structure
- Integration with UI and State
- Credentials Management