Skip to content

Commit

Permalink
readme updated
Browse files Browse the repository at this point in the history
  • Loading branch information
grrrgpratik committed Aug 25, 2019
1 parent 325178c commit eb60ac1
Showing 1 changed file with 27 additions and 47 deletions.
74 changes: 27 additions & 47 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,20 @@
# Homecook
Homemade food ordering mobile application

A Homemade food ordering application which is
developed with the means of providing working people with the option of having home
cooked healthy food. It also serves as a platform where home cooks can exhibit their culinary
skills and even get employment opportunities. It is developed using React Native making it a
cross platform mobile application which is applicable to both Android and IOS devices.

# Context and goal

I have done this application for a school project and wanted to try to do a mobile app in using web technologies I am familiar with. Having none mobile background, it was a leap in the dark but in the same time it was really exciting.
I have done this application for a final year project and wanted to try to do a mobile app in using web technologies. I am familiar with. Having none mobile background, it was a leap in the dark but in the same time it was really exciting.

This app is made to be simple and may help people knowing React & Redux to get into creating mobile apps. It's made with React Native, coupled with some extra nice packages to handle routing, dataflow and UI elements.

## Preview
![app screenshot](https://user-images.githubusercontent.com/33624609/62825847-c5a51480-bbd1-11e9-8ea2-d5a20f4655c7.png)

![app screenshot](https://user-images.githubusercontent.com/33624609/62825847-c5a51480-bbd1-11e9-8ea2-d5a20f4655c7.png)

## Main technologies used

Expand All @@ -24,26 +29,30 @@ This app is made to be simple and may help people knowing React & Redux to get i
## Running the project

- Clone this project

```
git clone < project-url.git >
```

- [Install NodeJS](https://nodejs.org/en/) on your computer.

- [Install yarn](https://yarnpkg.com/en/docs/install) on your computer
> Yarn is a dependency manager built by facebook and google. It is a more efficient and reliable (thanks to yarn.lock) alternative of npm.

- Launch ``` yarn ``` command in a terminal opened in the project folder.
> This command will look into the *package.json* file and install all the dependencies listed here.
> Yarn is a dependency manager built by facebook and google. It is a more efficient and reliable (thanks to yarn.lock) alternative of npm.
- Launch `yarn` command in a terminal opened in the project folder.

> This command will look into the _package.json_ file and install all the dependencies listed here.
- Install react-native-cli globally on your computer

```
yarn global add react-native-cli
```

### Android steps

- Launch a virtual android device [(through *Android Studio* for instance)](https://developer.android.com/studio/run/managing-avds.html#viewing)
- Launch a virtual android device [(through _Android Studio_ for instance)](https://developer.android.com/studio/run/managing-avds.html#viewing)

> If you have never installed any android virtual device, [follow those instructions](https://developer.android.com/studio/run/managing-avds.html#createavd)
Expand All @@ -58,80 +67,51 @@ react-native run-android
**Note:** Each time you pull commits from others, run the **yarn** command to install dependencies that may have been introduced.

### react-native is not recognized as an internal or external command
- If your terminal is telling you react-native is not known, try to install it globally with npm: ```npm install -g react-native-cli``` and re-run the above command.

- If your terminal is telling you react-native is not known, try to install it globally with npm: `npm install -g react-native-cli` and re-run the above command.

### 'adb' is not recognized as an internal or external command

If you have a build error with this message on Windows, it means that you must add the Android sdk platform tools to your environment PATH.

[How to add an environment variable on your computer.](https://www.java.com/en/download/help/path.xml)

My value on windows: *```C:\Users\Manuel\AppData\Local\Android\sdk\platform-tools```*
My value on windows: _`C:\Users\Manuel\AppData\Local\Android\sdk\platform-tools`_

### failed to find target with hash string 'android-23'

React Native needs this to be installed in order to work, and the default target installed by *Android Studio* is the 24th. To solve this issue, open android studio and click on SDK Manager Icon:
React Native needs this to be installed in order to work, and the default target installed by _Android Studio_ is the 24th. To solve this issue, open android studio and click on SDK Manager Icon:

![SDK Manager](https://i.snag.gy/bxQd0z.jpg)

Then click on the line with API Level of value 23 and apply.

![Install API 23 Instructions](https://i.snag.gy/LtYAR7.jpg)

### failed to find Build Tools revision *XX.X.X*
### failed to find Build Tools revision _XX.X.X_

It seems you are missing the build tools at specific revision *XX.X.X*, so you need to install them. Go to Android Studio SDK Settings (see images above) and click on the SDK Tools snippet.
It seems you are missing the build tools at specific revision _XX.X.X_, so you need to install them. Go to Android Studio SDK Settings (see images above) and click on the SDK Tools snippet.

Then, click on **Show Package Details** and look for Android SDK Build Tools *XX.X.X*. Then check if it is installed. If not, install it and this issue should be solved then.
Then, click on **Show Package Details** and look for Android SDK Build Tools _XX.X.X_. Then check if it is installed. If not, install it and this issue should be solved then.

![SDK Manager Standalone](https://i.snag.gy/Y3X58Z.jpg)

### Execution failed for task ':app:dexDebug'

Go into the **android** project's folder in your terminal and run

*Windows*
_Windows_

```
gradlew clean
```

*Linux & Mac*
_Linux & Mac_

```
./gradlew clean
```

Then delete the build folder, go back to the project's root folder and try again, this error should be solved.

> **Note:** If it doesn't work as expected, try checking you have not forgotten any of the steps above. If not, please **open an issue and describe your problem**.
## Contributing to the project

Since the linting is done through [**eslint**](http://eslint.org/), you will need to configure your text editor to use the coding rules defined in the *.eslint.js* project file.

> A code that contains unjustified errors won't be merged to the master branch.
### Atom

- [Install Atom](https://atom.io/) if it's not done yet.

- [Open the Atom settings](http://flight-manual.atom.io/getting-started/sections/atom-basics/#settings-and-preferences) (*"Ctrl + ,"* shortcut) and go to *Install* section

![install-section](http://www.codeblocq.com/img/atom-prefs-install-tab.png)

- Then look for the linter package and install it

![linter-package](http://www.codeblocq.com/img/atom-linter-package.png)

- Then look for the linter-eslint package and install it

![linter-eslint-package](http://www.codeblocq.com/img/atom-linter-eslint-package.png)

- Open a javascript file (ending with *.js*) and paste

```js
console.log('raises two errors')
```
As you can guess, your editor should raise two errors because console.log is forbidden and there is a semi-column missing. Congrats !

> **Note:** If it doesn't work as expected, try checking you have not forgotten any of the steps above. If not, please open an issue and describe your problem.

0 comments on commit eb60ac1

Please sign in to comment.