Create a small project using PokéAPI with the follow requirements:
- Search Pokemon by name using PokéAPI.
- Show basic info of the searched pokemon.
- Add pokemon to favorites.
- Make a page to list your favorite pokemon.
- Remove a pokemon from my list.
- Save my favorite pokemon even if I refresh my page.
Suggested to have at least two pages and one searchbar, everything else is up to you.
- Use ES6+ syntax.
- Having a nice UI.
- Using common tools for your daily development environment (linterns, code formatting, etc)
- Axios
- Redux
- styled-components
Note: You can use create-react-app to bootstrap the project.
In the project directory, you can run:
-
npm run start
- runs the app in the development mode. Open http://localhost:3000 to view it in the browser. -
npm run test
- launches the test runner in the interactive watch mode. -
npm run build
- builds the app for production to thebuild
folder. -
npm run eject
- exposes content ofreact-script
package -
npm run lint
- lints project files according to eslint rules, see below. Typical use case: continuous integration environments, Travis, CircleCI, etc. -
npm run fix
- same asnpm run lint
, but also fixes errors, when possible. Typical use case: local development environment, git hooks.
The template provides basic Redux configuration with feature based folder structure. You can use Redux devtools browser extension. Sample feature included in src/features
folder, note technology agnostic features
folder name. Based on Redux maintainers recommendation.
Testing is done with Enzyme.
I added prettier
to force consistent formatting.
I used Materialize.