• Stars
    star
    129
  • Rank 279,262 (Top 6 %)
  • Language
    JavaScript
  • Created over 7 years ago
  • Updated almost 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A React Native Clone of the popular ASOS App

Banner image

Show Case

*** This is work in progress ****

A React Native Clone of the popular ASOS App, this project was done over one weekend a period of time for learning purposes and is theremore not being maintained. Feel free to fork and use as you please.

It is platform agnostic although nearly all work done so far has been written and tested on iOS.

React-Native is a powerful tool for creating UI, and therefore i've focussed only on the UI. The business logic including data retrieval is ommitted from this project.

This project is build on the expo sdk and you can play with the app here

FEATURES

  • Dynamic Home Page
  • Category Listing
  • Product List
  • Product Info (limited functionality
  • Basket
  • Favourites
  • Account

THINGS THAT ARE BROKEN

  • A lot, the styling is all over the place, component re-usability breaks any Software Engineering decorum.

LEFT OUT

If you fork this project, feel free to extend the following features.

  • API Services (Images will eventually break once ASOS updates their CMS most images embeded within the app apart from the contents in the basket)
  • Basket management
  • Recently Viewed Objects
  • Account information
  • No Tests! I like living dangerously

3rd Party Libraries used

Getting Started

Expo is the easiest way to start building a new React Native application. It allows you to start a project without installing or configuring any tools to build native code - no Xcode or Android Studio installation required (see Caveats).

  • Clone the app

    git clone https://github.com/edwinbosire/ASOS.git

    Assuming that you have Node installed, you can use npm to install the Expo CLI command line utility:

    npm install -g expo-cli

  • Start the Expo server

    expo start

Running your React Native application

Install the Expo client app on your iOS or Android phone and connect to the same wireless network as your computer. On Android, use the Expo app to scan the QR code from your terminal to open your project. On iOS, follow on-screen instructions to get a link.

Modifying your app

Now that you have successfully run the app, let's modify it. Open Homepage.js in your text editor of choice and edit some lines. The application should reload automatically once you save your changes.

That's it!

Congratulations! You've successfully run and modified the ASOS RN app!.

If you encounter any problem, refer to the React Native Documentation.

Prerequisites

To run the project, you will need Node, Watchman, React-Native CLI and Xcode or Android SDK depending on your chosen platform, you can install these using Homebrew

brew install node

brew install watchman

Node comes with npm, you can use Yarn if you prefer or any other package manager.

npm install -g react-native-cli

  • Android SDK or Xcode

Get Xcode from the Mac App Store

Structure

.
├── tests
├── .expo
├── assets <== Images, fonts and other assets
├── compnents <== All the "dumb" ui widgets go here**
├── constants
├── navigation <== Tabbar management and routing
├── node_modules <== bleh!
├── screens <=== top level views akin to viewcontrollers**
├── store <== currently unused json
├── App.js <== Main entry point for our project
    

All the interesting things are within the components and containers group.

The iOS app utilises the MainTabNavigation.js file for ALL navigation, we implement the tabbar from here and use React Navigation to get stuff done. This library saved a tonne of work usually associated with rolling out your own Navigator + Redux setup.

Deployment

Expo to the rescue!

Contributing

Just fork the repo and do your thing.

Authors

Shameless Plug

In my past life, I used to write apps for other high street brands including Topshop, Topman, Burton, JackWills (offline), Harrods and others I can't recall. So I've got vast experience in building withing the "app commerce" domain and it's truely unbelievable how quick developing with React-Native is.

So here's the deal, I am available for freelance work (as in after work & weekends kinda work) if you are in need of quick dev work in React-Native, Swift or Objective-C let's talk 📧

License

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

More Repositories

1

DropMenu

A menu implementation with a slide in menu similar to Medium's menu.
Objective-C
227
star
2

Urbandict

A React Native implementation of the Urban Dictionary App
JavaScript
116
star
3

SwiflyOverlay

Another Navigation component for iOS. This time written in swift.
Swift
98
star
4

AppStore

⚠️ Experimental ⚠️ App Store using SwiftUI + Combinational layouts + Combine + more iOS 13 Goodies
Swift
28
star
5

Habari

A news reader for wordpress site, or any service that can spit out some proper json
Objective-C
9
star
6

Tinder-Hack-Client

Simple client for Tinder API
Objective-C
9
star
7

RSS-News-Reader

A quick and dirty implementation of a news reader allowing styling of numerous website data
Objective-C
6
star
8

Train-problem---Algorithm

A train problem using directed graphs to get to a solution.
Java
4
star
9

citizenship_test_flutter

Life in the UK test implemented in flutter
Dart
4
star
10

flutter-onboarding

a pet project to experiment with Flutter's animation API
Dart
3
star
11

TinderGram

Tinder + Instagram, need I say more? Swipe left/right to like
Swift
3
star
12

Instagram-Desktop

An instagram clone for the Mac Desktop written in SwiftUI. (This is a UI mock up only)
Swift
3
star
13

AirBnB-ReactNative

An AirBnB clone using React-Native
JavaScript
2
star
14

hermes

News scraper
Python
2
star
15

SplashScreen

A clone of Twitter's splashscreen implement in CoreAnimation, a Playground project
Swift
1
star
16

A-SwiftProgress

An experiment creating my own progress view in Swift
Swift
1
star
17

YAWA

Yet-Another-Weather-App (YAWA) is my attempt at picking up Swift
Swift
1
star
18

xkcd-reader

a simple xkcd reader
Objective-C
1
star
19

SwiftUI-Form-Example

Swift
1
star
20

edwinbosire.github.io

This is my tech blog, the ramblings of a mad man
CSS
1
star
21

LoginForm-ReactNative

An experiment to recreate a login form for TheWeek.com using React-Native
JavaScript
1
star
22

ruby_twitter

this is my first ruby on rails project which is a twitter clone.
Ruby
1
star