https://play.google.com/store/apps/details?id=com.testluizalabs
The project consists of a list of heroes with search and a detail screen containing hero information and an option to favor. App created using React Native with integration with the Marvel API (https://developer.marvel.com/).
- List heroes
- Hero Details (image, description, links, comics, series, stories, events)
- Infinite pagination
- Search
- Favorites
- Node.js
- React Native CLI
- Jest
What was used to create the project:
- React Native - It is a framework that allows the development of mobile applications using Javascript and React;
- React Context - Context provides a way to pass data through the component tree without having to pass props down manually at every level. It was used to demonstrate that it is not necessary to work with Redux at all times;
- React Navigation - Routing and navigation for your React Native apps;
- React Native Gesture Handler - Declarative API exposing platform native touch and gesture system to React Native;
- Axios - Promise based HTTP client for the browser and node.js;
- axios-mock-adapter - Axios adapter that allows to easily mock requests;
- Prop Types - Runtime type checking for React props and similar objects;
- Babel - It is a toolchain that is mainly used to convert ECMAScript 2015+ code into a backwards compatible version of JavaScript in current and older browsers or environments;
- Eslint - A pluggable and configurable linter tool for identifying and reporting on patterns in JavaScript;
- js-md5 - A simple MD5 hash function for JavaScript supports UTF-8 encoding. Used to generate the hash to make a request the Marvel API;
- react-native-config - Module to expose config variables to your javascript code in React Native;
- Styled Component - Use the best bits of ES6 and CSS to style your apps;
- Husky - Husky can prevent bad git commit;
- Jest - Jest is a delightful JavaScript Testing Framework with a focus on simplicity;
- Enzyme - JavaScript Testing utilities for React;
- Download and install the Android Studio
- Open the emulator
- Clone the repository
- Run
npm install
- Run
react-native run-android
- Test:
npm test
- Test watch:
npm run test:watch
- Test coverage:
npm run test:coverage
- Linter:
npm run eslint
- .env
- .env.staging
- .env.production
- Build Android:
npm run build:android