Skip to content

Latest commit

 

History

History
40 lines (28 loc) · 3.28 KB

README.md

File metadata and controls

40 lines (28 loc) · 3.28 KB

listPostsApp

Small Description about this project

Run App

To run this app, following this commands:

  1. Install the dependecies: npm install
  2. If you are running on ios, run pod install in the ios folder
  3. Run the project:
  • For ios: npx react-native run-ios
  • For Android: npx react-native run-android

Architeture

The project architecture is based on concepts on Clean Archicteture taking in account separate the responsibilities following this approach:

  • Config: It is in charge of having the specific settings of the application, api urls, passwords, tokens etc..
  • Services: They are in charge of having the logic to conect with internal or external services like APIs or Local tools
  • Providers: They are in charge of having the logic to connect the services with the app storage and handle how and when update them
  • ContainerComponents: They are in charge of having the business logic to decide what data or behavior send to Presentation Components through props drilling
  • PresentationComponents: They are in charge of having the logic and styles to determine how and when print the visual components
  • Types: They are in charge of having all the data types what will be using in all the application

Libraries used

  • Typescript: I chose use this such the base of the project due to their multiples advantages that saves you time catching errors and providing fixes before you run code to see more Typescript pros and cons
  • React native elements: I chose this UI Toolkit over some other like UI kitten because of to be simple and easy to use for small projects that not require to many custom components
  • react-native-async-storage: I chose this tool over some other like realm or react-native-sqlite-storage or some other because their performance and to be simple to use for no too complex data entities
  • @react-navigation/native: I chose this navigation tool to be the most common use it for this their documentation it's so complete and work perfectly for ios and android
  • react-native-gesture-handler: I chose this tool to control the user gestures due to be the most updated and with the best documentation over some others like react-native-swipe-list-view or react-native-swipeable, also require a minimal configuration and work perfect for android and ios without side effects

Application screens

image image image image