Skip to content
This repository was archived by the owner on Mar 25, 2025. It is now read-only.

Commit 9275de1

Browse files
committed
Merge branch 'amilajack-update-deps'
2 parents 63a5a2b + 7108c12 commit 9275de1

28 files changed

Lines changed: 1249 additions & 698 deletions

.editorconfig

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
root = true
2+
3+
[*]
4+
indent_style = space
5+
indent_size = 2
6+
end_of_line = lf
7+
charset = utf-8
8+
trim_trailing_whitespace = true
9+
insert_final_newline = true
10+
11+
[*.md]
12+
trim_trailing_whitespace = false

.eslintrc

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,23 @@
11
{
22
"parser": "babel-eslint",
3+
"extends": ["eslint:recommended", "plugin:react/recommended", "standard"],
4+
"env": {
5+
"jest": true
6+
},
7+
"plugins": [
8+
"flowtype-errors",
9+
"react"
10+
],
11+
"parserOptions": {
12+
"ecmaFeatures": {
13+
"jsx": true
14+
}
15+
},
316
"rules": {
4-
"strict": 0
17+
"flowtype-errors/show-errors": 2,
18+
"react/prop-types": 0
19+
},
20+
"globals": {
21+
"fetch": true
522
}
6-
}
23+
}

.flowconfig

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,3 @@ suppress_type=$FixMe
3636
suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe\\($\\|[^(]\\|(\\(>=0\\.\\(2[0-7]\\|1[0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\)
3737
suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(>=0\\.\\(2[0-7]\\|1[0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\)?:? #[0-9]+
3838
suppress_comment=\\(.\\|\n\\)*\\$FlowFixedInNextDeploy
39-
40-
[version]
41-
^0.27.0

README.md

Lines changed: 53 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ Please refer to [https://github.com/bartonhammond/snowflake-hapi-openshift](http
4646
* To run Hapi locally, follow the instructions at [https://github.com/bartonhammond/snowflake-hapi-openshift](https://github.com/bartonhammond/snowflake-hapi-openshift). You will have to install **MongoDB** and **Redis**.
4747
* **Note**: The default is to run remotely on the **RedHat OpenShift Snowflake Server** so there is nothing more to do if you want to use it! In that case, just use the `config.js` as is.
4848
* If you want to install and run the **Snowflake Hapi Server** locally, then update the ```src/lib/config.js``` file as shown below.
49-
* **Note**: use the ip from the `ifconfig` command for the `local`. This ip matches the **Snowflake Hapi Server** setup.
49+
* **Note**: use the ip from the `ifconfig` command for the `local`. This ip matches the **Snowflake Hapi Server** setup.
5050
* An example of the `url` is shown below assuming the `ifconfig` shows the local ip to be `192.168.0.5`
5151
* **Note**: You don't have to provide the `local.url` value if you are using the `remote`
5252

@@ -64,7 +64,7 @@ Please refer to [https://github.com/bartonhammond/snowflake-hapi-openshift](http
6464

6565

6666

67-
### To run:
67+
### To run:
6868
* For iOS, from the command line, run via command: ```react-native run-ios``` or open XCode and load project, Run ```Product -> Run (⌘+R)```
6969
* For android, from the command line, run via the command: ```react-native run-android``` assuming you have an emulator or device running and attached
7070
* To run Jest, ```npm test```
@@ -78,7 +78,7 @@ Please refer to [https://github.com/bartonhammond/snowflake-hapi-openshift](http
7878
------------
7979
##Notes
8080

81-
Code is written to [JS Standard](https://github.com/feross/standard). See [Text Editor Plugins](https://github.com/feross/standard#text-editor-plugins) for your favorite editor integration.
81+
Code is written to [JS Standard](https://github.com/feross/standard) and validated with [Eslint](http://eslint.org/). To setup your favorite editor using the Eslint configuration, see [Editors](http://eslint.org/docs/user-guide/integrations#editors)
8282

8383
Navigation is handled with [React Native Router Flux](https://github.com/aksonov/react-native-router-flux). Multiple scenes support **Login, Register, and Reset Password**. Once successfully logged in, there are 3 more scenes: **Logout, Subview, and Profile**.
8484

@@ -102,17 +102,18 @@ Snowflake supports **Hot Reloading** of its state.
102102

103103
Snowflake uses CI with [Bitrise.io]( https://www.bitrise.io) and has **extensive docs and 45+ min of video** demonstating implementation.
104104

105-
Snowflake has a **choice of servers**, either
105+
Snowflake has a **choice of servers**, either
106106

107107
* The original **Parse.com**
108-
or
108+
or
109109
* **Hapi Server** that runs on **RedHat Openshift** and **locally**.
110110

111111
See [https://github.com/bartonhammond/snowflake-hapi-openshift](https://github.com/bartonhammond/snowflake-hapi-openshift) for more information about the OpenShift Hapi server. The setup instructions below describe how to select the server you desire.
112112

113113
---------------
114114
# Content
115115

116+
- [Editor Configuration](#editor-configuration)
116117
- [Screens](#screens)
117118
- [Summary](#summary)
118119
- [Quotes](#quotes)
@@ -125,6 +126,23 @@ or
125126

126127
----------
127128

129+
## Editor Configuration
130+
**Atom**
131+
```bash
132+
apm install editorconfig es6-javascript javascript-snippets linter linter-eslint language-babel
133+
```
134+
135+
**Sublime**
136+
* https://github.com/sindresorhus/editorconfig-sublime#readme
137+
* https://github.com/SublimeLinter/SublimeLinter3
138+
* https://github.com/roadhump/SublimeLinter-eslint
139+
* https://github.com/babel/babel-sublime
140+
141+
**Others**
142+
* [Editorconfig](http://editorconfig.org/#download)
143+
* [ESLint](http://eslint.org/docs/user-guide/integrations#editors)
144+
* Babel Syntax Plugin
145+
128146
## Screens
129147

130148
| Platform| Register | Login | Profile |
@@ -161,7 +179,7 @@ Some quotes from users of **Snowflake**
161179
**ICICletech Blog: Mobile App Development With 8 Awesome React-Native Starter Kits**: We have listed some of our favorite starter kits and boilerplates to get started quickly.
162180
[https://www.icicletech.com/blog/react-native-starter-kits](https://www.icicletech.com/blog/react-native-starter-kits)
163181

164-
**Infinite.Red: Ignite Your Mobile Development:**
182+
**Infinite.Red: Ignite Your Mobile Development:**
165183
> awesome releases as Barton Hammond’s snowflake.
166184
167185
[https://shift.infinite.red/ignite-your-mobile-development-32417590ed3e#.pz7u3djtm](https://shift.infinite.red/ignite-your-mobile-development-32417590ed3e#.pz7u3djtm)
@@ -181,7 +199,7 @@ Some quotes from users of **Snowflake**
181199
> I've been going through snowflake and love what you have done!
182200
183201
**Nikos**:
184-
> wow new videos, nice
202+
> wow new videos, nice
185203
186204
**Josh**
187205
>thanks for the thorough videos!
@@ -193,7 +211,7 @@ Some quotes from users of **Snowflake**
193211
>Congrats - the project is super helpful
194212
195213
**Stephen**
196-
>Thanks so much for this amazing foundation!
214+
>Thanks so much for this amazing foundation!
197215
198216
**Jim**
199217
>Neat project
@@ -203,14 +221,14 @@ Some quotes from users of **Snowflake**
203221
## Technologies
204222
*The following are brief descriptions of the technologies used*
205223

206-
### [React-Native](https://facebook.github.io/react-native/)
224+
### [React-Native](https://facebook.github.io/react-native/)
207225
*React Native enables you to build world-class application experiences on native platforms using a consistent developer experience based on JavaScript and React.*
208226

209227
What more can I say? It's a fantastic leap forward in providing the ability to write native applications with Javascript that target both iOS and Android.
210228

211229
This application provides one code base that works on both platforms. It demonstrates Form interactions, Navigation, and use of many other components.
212230

213-
###[Jest](https://facebook.github.io/jest/)
231+
###[Jest](https://facebook.github.io/jest/)
214232
*85 Unit tests that cover plain objects and JSX components*
215233

216234
The de-facto standard for React/Native testing. This app demonstrates how to mock **ReactNative, node_modules, classes** and to properly **test JSX components** by programmatically changing the props, and throughly **test the applications data state and the actions** in conjunction with Redux.
@@ -243,7 +261,7 @@ Using Validate.js for the Form processing was a breeze! And with the ability to
243261
---------------
244262

245263

246-
## Continuous Integration
264+
## Continuous Integration
247265

248266
CI proves to the developer that everything required to build and test
249267
the application is well defined and repeatable. Without CI, one would
@@ -265,18 +283,18 @@ The following videos will walk you through setting up CI with BitRise.io
265283

266284
----------
267285

268-
##### Introduction
286+
##### Introduction
269287
* **Video 1/7**: [https://youtu.be/EYafslJvXz8](https://youtu.be/EYafslJvXz8)
270288
<a
271289
href="http://www.youtube.com/watch?feature=player_embedded&v=EYafslJvXz8"
272290
target="_blank">
273-
<img src="http://img.youtube.com/vi/EYafslJvXz8/0.jpg"
291+
<img src="http://img.youtube.com/vi/EYafslJvXz8/0.jpg"
274292
alt="Introduction" width="240" height="180" border="10"
275293
/></a>
276294

277295
* Snowflake is a *starter app* so all tutorials are basic in nature
278296
* There are a bizzilion ways of doing any of this - I'm showing one
279-
* There's a number of CI sites, I chose Bitrise.io
297+
* There's a number of CI sites, I chose Bitrise.io
280298
* There's a general understanding of why to us a CI
281299
* The build will be done on Bitrise.io - not locally
282300
* The **only** goal is to get the build to run on Bitrise.io
@@ -288,22 +306,22 @@ alt="Introduction" width="240" height="180" border="10"
288306
<a
289307
href="http://www.youtube.com/watch?feature=player_embedded&v=JAHlfNUKoLg"
290308
target="_blank">
291-
<img src="http://img.youtube.com/vi/JAHlfNUKoLg/0.jpg"
309+
<img src="http://img.youtube.com/vi/JAHlfNUKoLg/0.jpg"
292310
alt="Bitrise.io Overview" width="240" height="180" border="10"
293311
/></a>
294312

295313
* Introduction to Bitrise.io [https://www.bitrise.io/](https://www.bitrise.io/)
296314
* Overview of what it does for us
297315
* Overview of the two WorkFlows
298-
* iOS
299-
* Android
316+
* iOS
317+
* Android
300318

301319
##### iOS XCode Modifications
302320
* **Video 3/7**:[https://youtu.be/3y72adWNRSU](https://youtu.be/3y72adWNRSU)
303321
<a
304322
href="http://www.youtube.com/watch?feature=player_embedded&v=3y72adWNRSU"
305323
target="_blank">
306-
<img src="http://img.youtube.com/vi/3y72adWNRSU/0.jpg"
324+
<img src="http://img.youtube.com/vi/3y72adWNRSU/0.jpg"
307325
alt="iOS XCode Modifications" width="240" height="180" border="10"
308326
/></a>
309327
* XCode
@@ -321,7 +339,7 @@ alt="iOS XCode Modifications" width="240" height="180" border="10"
321339
<a
322340
href="http://www.youtube.com/watch?feature=player_embedded&v=zJXoHIaJg7Y"
323341
target="_blank">
324-
<img src="http://img.youtube.com/vi/zJXoHIaJg7Y/0.jpg"
342+
<img src="http://img.youtube.com/vi/zJXoHIaJg7Y/0.jpg"
325343
alt="XCode Certs Provision Profiles" width="240" height="180" border="10"
326344
/></a>
327345
* see [https://developer.apple.com/library/ios/qa/qa1814/_index.html](https://developer.apple.com/library/ios/qa/qa1814/_index.html)
@@ -331,36 +349,36 @@ alt="XCode Certs Provision Profiles" width="240" height="180" border="10"
331349
* Update XCode appDelegate.m w/ ifconfig value
332350
* Xcode -> Run with device attached
333351
* Select option for Xcode to fix signing
334-
352+
335353
##### Create iOS App
336354
* **Video 5/7**:
337355
[Bitrise, YML, Profile, P12](https://youtu.be/olfpwEjVlZ4)
338356
<a
339357
href="http://www.youtube.com/watch?feature=player_embedded&v=olfpwEjVlZ4"
340358
target="_blank">
341-
<img src="http://img.youtube.com/vi/olfpwEjVlZ4/0.jpg"
359+
<img src="http://img.youtube.com/vi/olfpwEjVlZ4/0.jpg"
342360
alt="Create iOS App" width="240" height="180" border="10"
343361
/></a>
344362
* Login/Register Bitrise.io
345363
* Dashboard
346-
* Add App
364+
* Add App
347365
* Authenticate GitHub
348366
* Select repository, branch
349367
* Import YML
350-
* Download Certifications
368+
* Download Certifications
351369
* Update KeyChain
352370
* Save .p12
353371
* Download Provision
354372
* Load .p12 and provision to Bitrise.io
355-
* Setup Secret and Env Vars
373+
* Setup Secret and Env Vars
356374
* Build
357-
375+
358376
##### iOS install
359377
* **Video 6/7**: [https://youtu.be/nQWXJI0ncns](https://youtu.be/nQWXJI0ncns)
360378
<a
361379
href="http://www.youtube.com/watch?feature=player_embedded&v=nQWXJI0ncns"
362380
target="_blank">
363-
<img src="http://img.youtube.com/vi/nQWXJI0ncns/0.jpg"
381+
<img src="http://img.youtube.com/vi/nQWXJI0ncns/0.jpg"
364382
alt="iOS install from email" width="240" height="180" border="10"
365383
/></a>
366384

@@ -369,19 +387,19 @@ alt="iOS install from email" width="240" height="180" border="10"
369387
* Follow instructions to load in Safarie
370388
* Follow prompts and enjoy!
371389

372-
##### Android Setup
390+
##### Android Setup
373391
* **Video 7/7**: [Android YML, Setup](https://youtu.be/o4RQZodbzIU)
374392
<a
375393
href="http://www.youtube.com/watch?feature=player_embedded&v=o4RQZodbzIU"
376394
target="_blank">
377-
<img src="http://img.youtube.com/vi/o4RQZodbzIU/0.jpg"
395+
<img src="http://img.youtube.com/vi/o4RQZodbzIU/0.jpg"
378396
alt="Android Setup" width="240" height="180" border="10"/>
379397
</a>
380398

381399
* Settings -> Docker Image
382-
* Secret Variables
400+
* Secret Variables
383401
* App/build.gradle
384-
* Setup Secret and Env Vars
402+
* Setup Secret and Env Vars
385403
* Import YML
386404
* Run build
387405

@@ -390,14 +408,14 @@ alt="Android Setup" width="240" height="180" border="10"/>
390408
<a
391409
href="http://www.youtube.com/watch?feature=player_embedded&v=mP5D2MQboxw"
392410
target="_blank">
393-
<img src="https://i9.ytimg.com/vi/mP5D2MQboxw/1.jpg?sqp=CPDqzb0F&rs=AOn4CLBdpVDIWghF_-wSuaSKnbPdxHE1hw"
411+
<img src="https://i9.ytimg.com/vi/mP5D2MQboxw/1.jpg?sqp=CPDqzb0F&rs=AOn4CLBdpVDIWghF_-wSuaSKnbPdxHE1hw"
394412
alt="XCode Edge Stack" width="240" height="180" border="10"/>
395413
</a>
396414

397415
* "XCode Edge Stack" for iOS
398416
* New React-Native steps for Install & Bundle
399417
* Upgraded Step versions
400-
* GitHub branch triggers
418+
* GitHub branch triggers
401419

402420

403421

@@ -573,14 +591,14 @@ If you'd like to read an excellent tutorial on Redux I can't recommend this one
573591
## Hot Reloading
574592
This video shows Snowflake exporting and importing state from Redux. It demonstrates, with the iOS Simulator, the process of copying the state for import at a later time. After the demo, I walk through the code to clarify how I achieved this. It's assumed you have some familiarity with Redux. Hopefully it helps you gain a better understanding of what Redux provides you!
575593

576-
<a href="http://www.youtube.com/watch?feature=player_embedded&v=b4eqQUA3O6o" target="_blank"><img src="http://img.youtube.com/vi/b4eqQUA3O6o/0.jpg"
594+
<a href="http://www.youtube.com/watch?feature=player_embedded&v=b4eqQUA3O6o" target="_blank"><img src="http://img.youtube.com/vi/b4eqQUA3O6o/0.jpg"
577595
alt="Snowflake Hot Loading" width="240" height="180" border="10" /></a>
578596

579597

580598

581599
-------------
582600

583-
## Faq
601+
## Faq
584602

585603
### How do I change the Language of the App?
586604

@@ -596,7 +614,7 @@ Also, it had this statement
596614
597615
I don't want to deal w/ wrapping my head around Flux Actions and have to monkey-patch or something to get Redux Actions.
598616

599-
In a previous life, I worked with Parse JS SDK and it's based on backbone.js. So I didn't go that direction either, because, again, I didn't want to have another data model to deal with. Plus, at the time I was using it, the SDK was buggy and it was difficult to work with.
617+
In a previous life, I worked with Parse JS SDK and it's based on backbone.js. So I didn't go that direction either, because, again, I didn't want to have another data model to deal with. Plus, at the time I was using it, the SDK was buggy and it was difficult to work with.
600618

601619
With the Parse Rest API, it's simple, can be tested itself from the command line with curl, it's clear, it's succinct and it's easily replaced with something else, an example such as Mongo/Mongoose without much, if any, impact on the code base.
602620

0 commit comments

Comments
 (0)