Skip to content

MRLSK8/Pokedex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

39 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

PokΓ©dex

Table of contents:

About the project:

Pokedex developed with React Native, consuming the public API: Pokeapi.

Objective:

Technologies

βœ… React Native
βœ… Native Base
βœ… Styled-components
βœ… Axios
βœ… React-native-linear-gradient
βœ… SWR
βœ… React-navigation
βœ… Context API
βœ… Lottie
βœ… Git-commit-msg-linter
βœ… React-native-animatable
βœ… React Hooks
βœ… Babel-plugin-root-import
βœ… Vector Icons
βœ… react-native-fast-image
βœ… Animated
βœ… Typescript
βœ… Jest
βœ… @testing-library/jest-native
βœ… @testing-library/react-hooks
βœ… @testing-library/react-native

Prerequisites

Before proceeding, it is ideal that you have the environment set up to create applications in React Native, for this you can follow the guide of the link below:

React Native's Environment (Android/iOS)

Getting started

First you clone the project:

$ git clone https://github.com/MRLSK8/Pokedex.git && cd Pokedex

Then you run the following command to install packages:

$ yarn install

Next, you start the project:

$ yarn start

Finally you run it like so:

$ yarn android

If you want to build it and generate an APK just do the following

$ yarn android:build

It will generate an APK on android/app/build/outputs/apk/app-release.apk, copy into your cellphone and install it.

And that's it!

Running Tests

You just need to run this command:

  $ yarn test

In order to check the tests coverage out, run this command instead:

  $ yarn test:coverage

File structure

The file structure are in the following way:

β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ @types/
β”‚   β”‚   └── index.d.js
β”‚   β”œβ”€β”€ assets/
β”‚   β”‚   └── LottieJsonFiles
β”‚   β”‚       β”œβ”€β”€ pikachu.json
|   |       └── pokeball.json
β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”œβ”€β”€ GoBackButton/
|   |   |   β”œβ”€β”€ index.tsx
|   |   |   └── style.ts
|   |   β”œβ”€β”€ LoadingWrapper/ 
|   |   |   β”œβ”€β”€ index.tsx
|   |   |   └── style.ts
β”‚   β”‚   β”œβ”€β”€ PokemonItem/
|   |   |   β”œβ”€β”€ index.tsx
|   |   |   └── style.ts
|   |   β”œβ”€β”€ SafeAreaWrapper/ 
|   |   |   β”œβ”€β”€ index.tsx
|   |   |   └── style.ts
β”‚   β”‚   └── index.ts
β”‚   β”œβ”€β”€ config/
β”‚   β”‚   └── statusBarConfig.ts
β”‚   β”œβ”€β”€ hooks/
β”‚   β”‚   └── pokemonContext.tsx
β”‚   β”œβ”€β”€ routes/
β”‚   β”‚   └── index.ts
β”‚   β”œβ”€β”€ screens/
β”‚   β”‚   β”œβ”€β”€ PokemonDetails/
|   |   |   β”œβ”€β”€ index.tsx
|   |   |   └── style.ts
|   |   β”œβ”€β”€ PokemonsList/ 
|   |   |   β”œβ”€β”€ index.tsx
|   |   |   └── style.ts
β”‚   β”‚   └── index.tsx
β”‚   β”œβ”€β”€ services/
β”‚   β”‚   └── api.ts
β”‚   β”œβ”€β”€ utils/
β”‚   β”‚   β”œβ”€β”€ addPadLeftToNumber.ts
β”‚   β”‚   β”œβ”€β”€ getPokemonIdByUrl.ts
β”‚   β”‚   β”œβ”€β”€ getPokemonImageById.ts
β”‚   β”‚   β”œβ”€β”€ index.ts
β”‚   β”‚   └── showErrorAlert.ts
β”‚   β”œβ”€β”€ index.tsx
β”œβ”€β”€ .buckconfig
β”œβ”€β”€ .editorconfig
β”œβ”€β”€ .eslintrc.js
β”œβ”€β”€ .eslintrc.json
β”œβ”€β”€ .gitattributes
β”œβ”€β”€ .gitignore
β”œβ”€β”€ .prettierrc.js
β”œβ”€β”€ .watchmanconfig
β”œβ”€β”€  app.json
β”œβ”€β”€ babel.config.js
β”œβ”€β”€ index.js
β”œβ”€β”€ LICENSE
β”œβ”€β”€ metro.config
β”œβ”€β”€ package.json
β”œβ”€β”€ react-native.config.js
β”œβ”€β”€ tsconfig.js
β”œβ”€β”€ yarn.lock

License:

This project is licensed under the MIT License - see the LICENSE file for details.

Contact:

Facebook | Instagram | Linkedin

Made with ❀️ by Marcelo Lima 😊

About

Pokedex developed with React Native, consuming the public API "Pokeapi".

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors