- 1. Product Definition
- 2. User Stories
- 3. User interface desing
- 4. Learning Objectives
- 5. Technical Considerations
- 6. Checklist
The main idea of this web page "Pokedex" is to help users to search, filter and obtain statistical data about the first 251 pokemons, in order to get a better user experience while playing the awesome game PokemonGo with the information received from the Pokedex.
The product shows some main characteristics in an orderly manner.
It can be used before, during and after the user has navigated in the platform, so they can play strategically in the game.
As a PokΓ©mon GO beginner player, I want to perform a search on the page by the name of the pokemon to access the features much faster.
Criteria of acceptance:
βοΈ In the interface the search engine must be visible and inside it there must be a text saying "search pokemon by name"
βοΈ By clicking on the search bar, filter the pokemon that contains the letters that are being placed.
βοΈ The page must show the desired PokΓ©mon.
As a PokΓ©mon GO beginner player, I want to filter all pokemons by type ( Normal, Fighting, Flying, Poison, Ground, Rock, Bug, Ghost, Steel, Fire, Water, Grass, Electric, Psychic, Ice, Dragon, Dark, Fairy). to decide what kind of pokemon I will use for my next battles.
Criteria of acceptance:
βοΈ Have a drop-down option that contains the 18 types of pokemons.
βοΈ Of all the pokemon filtered with the desired type, you can click on the desired pokemon.
βοΈ View the complete characteristics of the chosen pokemon in a pop-up window.
As a PokΓ©mon GO beginner player, I want to order the total of pokemons from A to Z and viceversa , to get an orderly visualization of the 251 Pokemons.
Criteria of acceptance:
βοΈ Have a drop-down option that indicates 'order by'
βοΈ When you click, the options should be displayed: A-Z and Z-A
βοΈ Having selected an option, display the pokemons in an orderly way.
As a PokΓ©mon GO advanced player I, want to know the main attacks, movements, evolution of my Pokemon so I can ** define my battle strategy ** with other Pokemon masters.
Criteria of acceptance:
βοΈ Have an interface that shows the Pokemons
βοΈ When you click, a modal will appear where the user can view the characteristics
of the selected Pokemon.
Low fidelity prototype
High fidelity prototype
- [βοΈπ³] Use of semantic HTML.
- [βοΈπ³] Use of CSS selectors.
- [βοΈπ³] Build your application respecting the design made (layout).
- [βοΈπ³] CSS: flexbox.
- [βοΈπ±] Use of DOM selectors.
- [βοΈπ±] DOM event handling.
- [βοΈπ±] Dynamic DOM manipulation. (appendChild |createElement | createTextNode| innerHTML | textContent | etc.)
- [βοΈπΌ] Use of conditionals (if-else | switch | ternary operator)
- [βοΈπΌ] Using loops (for | for..in | for..of | while)
- [βοΈπΌ] Use of functions (parameters | arguments | return )
- [βοΈπΌ] Manipulate arrays (filter | map | sort | reduce)
- [βοΈπΌ] Manipulate objects (key | value)
- [βοΈπΌ] Use of ES modules (
import
|export
) - [βοΈπΌ] Differentiate between expression y statements.
- [βοΈπΌ] Differentiate between atomic and structured data types.
- [βοΈπ±] Unit testing
- [βοΈπΌ] Organize and divide the code into modules (Modularization)
- [βοΈπΌ] Use of descriptive identifiers (Nomenclature | Semantics)
- [βοΈπΌ] Use of linter (ESLINT)
- [βοΈπ±] Using git commands(add | commit | pull | status | push)
- [βοΈπ±] Managing GitHub repositories (clone | fork | gh-pages)
- Github collaboration (branches | pull requests | |tags)
- [βοΈπ¦] Design the application thinking and understanding the user.
- [βοΈπ¦] Create prototypes to get feedback and iterate.
- [βοΈπ¦] Apply visual design principles (contrast, alignment, hierarchy)
- [βοΈπ¦] Plan and execute usability tests.
This project has been fully implemented in JavaScript (ES6), HTML and CSS.
boilerplate
.
βββ EXTRA.md
βββ README.md
βββ package.json
βββ src
| βββ data
| | βββ lol
| | | βββ lol.js
| | | βββ lol.json
| | | βββ README.md
| | βββ pokemon
| | | βββ pokemon.js
| | | βββ pokemon.json
| | | βββ README.md
| | βββ rickandmorty
| | βββ rickandmorty.js
| | βββ rickandmorty.json
| | βββ README.md
| | βββ athletes
| | βββ athletes.js
| | βββ athletes.json
| | βββ README.md
| βββ data.js
| βββ index.html
| βββ main.js
| βββ style.css
βββ test
βββ data.spec.js
directory: 6 file: 17
- [βοΈπΆ] Use VanillaJS.
- [βοΈπΆ] Does not use
this
. - [βοΈπΆ] Pass linter (
npm run pretest
) - [βοΈπΆ] Pass tests (
npm test
) - [-] Unit tests cover a minimum of 70% of statements, functions and lines and branches.
- [βοΈπΆ] Include clear and informative Product Definition in
README.md
. - [βοΈπΆ] Include user stories in
README.md
. - [βοΈπΆ] Include sketch of the solution (low fidelity prototype) in
README.md
. - [βοΈπΆ] Includes User Interface Design (hi-fi prototype)
in
README.md
. - [βοΈπΆ] UI: Shows list and / or table with data and / or indicators.
- [βοΈπΆ] UI: Allows you to sort data by one or more fields (asc and desc).
- [βοΈπΆ] UI: Allows you to filter data based on a condition.
- [βοΈπΆ] UI: It is responsive. *modals need fixing.
Pokedex is a project done by Maribel Maza for Laboratoria ,
July 2021 π€
Β