```
 ____                       _    __                      _
/ ___| _ __ ___   __ _ _ __| |_ / _| __ _  ___ ___      (_) ___
\___ \| '_ ` _ \ / _` | '__| __| |_ / _` |/ __/ _ \     | |/ _ \
 ___) | | | | | | (_| | |  | |_|  _| (_| | (_|  __/  _  | | (_) |
|____/|_| |_| |_|\__,_|_|   \__|_|  \__,_|\___\___| (_) |_|\___/
-----------------------------------------------------------------
```

An empty workspace template to be used in the smartface.io Cloud projects https://www.smartface.io/cloud/

## About

This is a “Hello World” [smartface.io](https://www.smartface.io) workspace, using modern JavaScript; it started as a fork of <https://github.com/smartface/smfc-empty-workspace> to add React and ES6/7+ support.

## Installation

Make sure you’ve cloned this repository in the [**smartface.io Cloud IDE**](https://cloud.smartface.io/Home/Index).

Once you are inside the **smartface.io Cloud IDE**, update the linux packages and also install a recent version of the Node.JS runtime as follows:

```
sudo apt-get update
nvm install v7.2.0
```

Then verify your Node.JS version:

```
node --version
v7.2.0
```

After that install required modules:

```
npm install
```

## Dependencies

As stated above, you need to clone this repository in the [**smartface.io Cloud IDE**](https://cloud.smartface.io/Home/Index). You will also need to do an `npm install` (*see the section above*). Other than those, everything else is handled by the Smartface runtime.

## Before Running the App in Your Device

Make sure that your code is in good shape by running the linter:

```
npm run lint
```

After you fix all the lint warnings and errors (*if any*), you can build your app:

```
npm run build
```

When the above command finishes successfully; your repository is ready to be run on the device.

You can, for example, tap the “run on device” button on the [smartface.io](https://www.smartface.io) IDE and read the QR code with your iOS or Android device to run the native app on the device.

## Package Scripts

This demo application comes with some helper npm scripts:

* `npm run test`: Runs unit tests.
* `npm run watcn`: Runs a watcher task so that whenever you change your files the application a development build is generated.
* `npm run build`: Creates a production build.
* `npm run clean-build`: Purges all the dependencies, fetches fresh dependencies from the Internet, then executes `npm run build` (*this might take a couple of minutes*).
* `npm run pull-build`: Pulls the recent master branch, and executes runs `npm run clean-build` (*this might take a couple of minutes*).
* `npm run lint`: Verifies the correctness of the source code.

## Important Files and Folders

* **src**: The application source code.
* **scripts**: Transpiled source goes there; the files in this folder is autogenerated; DO NOT MODIFY them.
* **resources**: Contains localization assets.
* **bin**: Binaries that are used by the NPM scripts.
* **./package.json**: The package definition.
* **CHANGELOG.md**: A log of what has been done since the last version.
* **CODE_OF_CONDUCT.md**: Basically tells the collaborators to be nice to each other.
* **README.md**: This very file.

## Wanna Help?

Any help is more than appreciated.

If you want to contribute to the source code fork this repository and create a pull request

In lieu of a formal styleguide, take care to maintain the existing coding style.

Also don’t forget to add unit tests for any new or changed functionality.

If you want to report a bug; or share a comment or suggestion, [file an issue](https://github.com/v0lkan/smartface-empty-workspace-jsnext/issues/new).

## Supported Environments

You have to use this repository from within the [smartface.io Cloud IDE](https://www.smartface.io).

This demo application crates binaries for Android and iOS devices.

## I’ve Found a Bug, I Have an Idea

[Please file an issue and lest us know too](https://github.com/v0lkan/smartface-empty-workspace-jsnext/issues/new).

## Contact Information

* **Project Maintainer**: [Volkan Özçelik](https://volkan.io/)

## From the [smartface.io](https://www.smartface.io) Team

### Hello Fellow Developer

Thank you for using Smartface Cloud!

Developing native apps for iOS and Android is as easy as a few lines of JavaScript code.

Start coding right away and to view your app instantly on a real device, just click the Run on Device button and follow the instructions.

You can also update your native apps remotely and manage their lifecycle end-to-end, fully in the cloud.

Welcome to the world of mobility!

Smartface Team.

### Code of Conduct

We are committed to making participation in this project a harassment-free experience for everyone, regardless of the level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, or nationality.

[See the code of conduct for details](CODE_OF_CONDUCT.md).

### Support, Documentation, and Useful Links

* [Guides](https://www.smartface.io/guides)
* [API Docs](https://docs.smartface.io)
* [Smartface Cloud Dashboard](https://cloud.smartface.io)
* [Download Smartface On-Device Emulator](https://smf.to/app) (Works only from your device)
