/TradeZone

Primary LanguageTypeScript

Welcome to TradeZone 👋

Fashion starts here..


Technologies ⚡


JavaScript TypeScript React React Native Redux Yarn


This work is a micro clone e-commerce app made using FakeStoreApi.


You can watch the Demo Record: DEMO


Authentication

You can log in with any email and passwordthat complies with the validation rules.


In the project, I used the endpoints provided by fakestoreapi as much as possible. Since I could not find answers to some needs in the endpoints, I installed the necessary logics in the frontend. One of them was for the search feature. Apart from that, I simulated api calls as much as possible.


Getting Started


Note: Make sure you have completed the React Native - Environment Setup instructions till "Creating a new application" step, before proceeding.


Step 1: Start the Metro Server

$ git clone git@github.com:DevelopmentHiring/IsmailHarmanda.git

cd into the directory, install dependencies.

$ cd IsmailHarmanda
$ yarn

Step 2: Start the Metro Server

First, you will need to start Metro, the JavaScript bundler that ships with React Native.

To start Metro, run the following command from the root of your React Native project:

yarn start

Step 3: Start your Application

Let Metro Bundler run in its own terminal. Open a new terminal from the root of your React Native project. Run the following command to start your Android or iOS app:

For Android

yarn android

For iOS

yarn ios

If everything is set up correctly, you should see your new app running in your Android Emulator or iOS Simulator shortly provided you have set up your emulator/simulator correctly.

This is one way to run your app — you can also run it directly from within Android Studio and Xcode respectively.


Congratulations! 🎉

You've successfully run TradeZone 🥳


Deep Linking

Deep linking allows users to navigate to specific screens or perform actions within app by clicking on or typing in specific URLs. In TradeZone, I have implemented deep links to provide a seamless and convenient way for users to access product details and their shopping cart directly.

Supported Deep Links:

The following deep links are supported in TradeZone. Similarly, you can open the deep links on Android using the --android flag:

tradezone://product/:productId/:productTitle Navigates to the product details screen for a specific product. Replace :productId with the ID of the product and :productTitle with the title of the product. For example:

npx uri-scheme open "tradezone://product/3/SSD" --ios

tradezone://cart Navigates to the user's shopping cart screen. For example:

npx uri-scheme open "tradezone://cart" --ios

Running Tests:

TradeZone comes with a comprehensive test suite to ensure the stability and functionality of the application. You can run these tests using the following command:

yarn test

Boot Splash Screen

TradeZone features a boot splash screen that appears when the application is launched, providing a visually appealing and branded experience to users during the initial loading phase. The boot splash screen is a static image that serves as a placeholder while the app initializes and prepares its core components for use.

The boot splash screen in TradeZone is designed to capture users' attention and maintain a consistent brand image. It helps create a smooth transition from the launch process to the main application interface, improving the overall user experience.


Author

👤 İsmail Harmanda


🤝 Contributing

Contributions, issues and feature requests are welcome!
Feel free to check issues page.

  1. Fork it (https://github.com/DevelopmentHiring/IsmailHarmanda/fork)
  2. Create your working branch (git checkout -b [choose-a-name])
  3. Commit your changes (git commit -am 'what this commit will fix/add/improve')
  4. Push to the branch (git push origin [chosen-name])
  5. Create a new Pull Request

Show your support

Give a ⭐️ if you like this project!


Troubleshooting

If you get an error message like error Your Ruby version is 2.6.8, but your Gemfile specified 2.7.5 or something like that you may need to upgrade your shell ruby version.

if you have problems with installing pods, you can go to ios folder and type:

pod install --repo-update

and start the project again.

If you can't get this to work, see the Troubleshooting page.