Giter VIP home page Giter VIP logo

mobile's Introduction

Build status

Setup your environment

First of all clone the master repository:

git clone [email protected]:uaifood/mobile.git uai_food_mobile
cd uai_food_mobile

Install nvm (this step is optional but recommended).

Just skip this step if you already have node 7.1.0 or nvm already installed.

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash
nvm install 7.1.0
nvm alias default 7.1.0

Install necessary packages to run the project:

npm install

Install watchman:

brew install watchman

If you don't have Homebrew you'll have to install using the following command:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Linter

We use ESlint on our project so you'll need to install the package globally to make it work:

npm install -g eslint

You'll need to install a proper eslint plugin to you code editor, so you'll need to search for the one that fits you better and make the necessary setup to make it work.

You can execute the linter check on your terminal either.

This way will check the whole project looking for linter problems:

npm run lint

Setting up Android

The first step is download and install Android Studio from:

https://developer.android.com/studio/index.html

After that, you will be able to install emulator images.

Please use the following guide to configure the AVDs (Android Virtual Device):

https://developer.android.com/studio/run/managing-avds.html

Once you have installed some AVDs, you can see them on the CLI using the command:

$ANDROID_HOME/emulator/emulator -list-avds

Start the emulator using the following command:

$ANDROID_HOME/emulator/emulator -avd Nexus_5_API_25 -netdelay none -netspeed full

In this case, you need to replace Nexus_5_API_25 by an image that you have installed.

Now you can start developing by running this command:

npm run android

Setting up iOS

First step is download and install Xcode from:

https://itunes.apple.com/br/app/xcode/id497799835?l=en&mt=12

After install you can just open Xcode and accept the license or just run:

sudo xcodebuild -license accept

Now you can start developing by running this command:

npm run ios

Possible issue on Xcode:

If your project doesn't start indicating that the Xcode could not be found you'll need to use this instruction to try to solve the problem.

Could happen that after you install Xcode and accept the license you'll need to setup manually the Command Line Tools.

Open Xcode and on top menu go to Xcode > Preferences > Locations and select the Xcode version on the Command Line Tools dropdown if it's not selected.

Tests

To run the tests use the following command:

npm test

mobile's People

Contributors

andreyleonardo avatar paulogamatw avatar brunoald avatar lemenezes avatar lucastfa avatar michelbueno avatar acarvalhotw avatar pedromotta avatar

Stargazers

 avatar Mario Cecchi avatar Thalita Nick Pinheiro Gomes avatar

Watchers

 avatar Rafael Rocha avatar  avatar Thalita Nick Pinheiro Gomes avatar Mario Cecchi avatar Edlaine Zamora avatar  avatar  avatar  avatar Felipe Santiago avatar  avatar

Forkers

michelbueno

mobile's Issues

Navigation between screens

AC01
At the first screen
When the user taps any order
We should open a new screen*

  • This new screen doesn't need to be developed

Research about CI

This card should answer these questions:

  • Which CI could/should we use for React Native?
  • The alternatives are paid? Free?
  • Should we setup our own internal CI?
  • What kind of jobs we will have? (Tests, Integration, Deploy, Release?)

Use GPS to detect the office

Possible offices:

  • Belo Horizonte
  • São Paulo
  • Recife
  • Porto Alegre

We need to came up with the ranges for which office (given a lat/lon)

Setup CI

Setup a pipeline in Bitrise for Android and iOS.

The pipeline should only build the app.

Infinite list of orders

As a user
I want to scroll the list of orders
And see new items being loaded

Tech notes:

The current /orders endpoint doesn't have pagination. This need to be implemented.

Loading feedback

At the home screen
When the orders are being loaded
We should give a feedback tot he user

Setup Android

Setup the project to run in an Android simulator and generate an documentation explaining the steps

Pull to refresh

As a user
I want to update the list of orders
To see the mos recent

AC01
Given we are at the home screen
When the user do a "swipe to refresh"
We should refresh the list of orders

Create a endpoint to add a order

Create a POST /order endpoint to add a order.

The endpoint should accept these arguments:

  • restaurant: the ID of a restaurant that's already added
  • by: name of the event or the person
  • closes: the date that the order will close
  • delivery: when the order will be delivered

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.