This repo contains the description of a code challenge for the position of Fullstack Developer at DearDoc.
You are asked to create a Pokedex, or at least a web application that will recreate one. The app should list Pokemons along with it's picture and details, search a pokemon and add one to favorites.
Features:
- The main view should list Pokemons, showing their picture and name.
- The user should be able to search for a Pokemon by name and see them in the main view. Or a blank 404 page if there isn't any Pokemon.
- The user should be able to add a Pokemon to favorites. No further action is required for this feature, only showing if this is a favorite Pokemon or not. It can be the same main view.
- The app should be a fullstack application, with a REST backend and a frontend consuming it. You can use any language and framework you want, but we recommend using Javascript/Typescript along with Node.js for backend and React.js or Vue.js for the frontend.
- As for the data storage, you can use any database you want. You can use PokeAPI, which is a free RESTful API that serves all the information about the Pokemons. You can use the API documentation to understand how to use it. It includes even links to sprites, so you don't need to worry about it. You need to wrap the API with your own REST API or consume the API and insert the Pokemons into your own database. So, no direct calls to the public API from the client.
- The code should be hosted on a public git repository, such as Github, Bitbucket or others. The README should contain instructions on how to run the application.
- Keep it simple. We are not looking for a complex solution, but a simple and well done one
- You may not need an authorization system, you can create a random uuid in the client and just authenticate the user with it
- Use the tools you are most comfortable with. We want to see your best work
- Tests are not required, but are a plus
- Get all the inspiration you want from the Pokedex
If you have any questions, let us know. We are here to help you. Good luck!
