Welcome! This exercise is meant for us to gauge your expertise in:
- Javascript/React
- Interaction with our REST API
- Sensivity to UX/UI topics, attention to detail
The exercise itself is open ended. Only a few key points are mandatory. Rest assured that we will evaluate any feature/element you add that goes beyond those key points to their proper value.
This repository contains the bootstrap code for the exercise. To complete it, fork this repository and clone it to your local machine. Create a PR with your changes against the original repo. We will review it ASAP.
You've discovered Sketchfab a couple days ago and immediately determined that its 3D viewer is exactly what you needed to present your work. However, you wish you had your own more customized UI to present what you put there in a way that best fits your needs. And so, you've decided to build an alternative UI for Sketchfab, using their API and Create React App.
Your first mission is to upload a couple models on your Sketchfab account (the models don't need to be anything more than cubes/planes/whatever you can find!). We'll be using those in the end result. Then, it's time to start building the UI. It should allow you to :
- List your own models
- List the models you've liked on sketchfab.com (in a separate list)
- When you click/select a model in either of those lists, the corresponding Sketchfab 3D embed should show up one way or the other — as well as at least some model metadata (title, description, author name ...). There are various ways to acquire the embed URL — pick your favourite.
The list of models should behave in a similar fashion to e.g. https://sketchfab.com/3d-models/popular — They have cards representing models, the cards display certain amounts of informations, and when you select one the model page appears. Those are the core features we're looking for. The form of the components you implement is not imposed. Anything going beyond the core features will be greatly appreciated, as will a particular attention to details on the core features. A few suggestions that come in mind would be e.g. :
- Search feature
- Upload UI
- More lists, filters
- Model metadata update UI
- Play with the Sketchfab Viewer API to add some weird features to the embed
- Some form of offline support
- ... We love to be surprised ! :)