For this interview we'll be building a lightweight CRUD app. We'll start by creating some system diagrams and wireframes then build out a server and client.
The application is called Pokedéx.io (we use .io because it's a brilliant startup).
We have some basic functional requirements for this application:
- We will list Pokémon on a page. We'll pull from the Pokeapi (https://pokeapi.co/) to get this list.
- Users can create an account and login. They can authenticate using email & password, Oauth with Google, or the slick new magic link strategy! Up to you!
- Once authenticated, users can capture Pokémon. Next to each Pokémon in the list, there will be a capture button. When capturing a Pokémon, the user will be given the oppurtunity to name the capture and add a note. A user can retroactively update this name and note. Captures must be persisted and users cannot capture a Pokémon more than once.
We also have some fun features that we'd like to diagram (but not build):