Produced by Araxis Merge on 12/20/2017 5:56:06 PM Eastern Standard Time. See www.araxis.com for information about Merge. This report uses XHTML and CSS2, and is best viewed with a modern standards-compliant browser. For optimum results when printing this report, use landscape orientation and enable printing of background images and colours in your browser.
| # | Location | File | Last Modified |
|---|---|---|---|
| 1 | Genisis_2.0_v6_bld6.zip\Source Code\UI\Client | README.md | Thu Dec 14 19:55:53 2017 UTC |
| 2 | Genisis_2.0_v6_bld6.zip\Source Code\UI\Client | README.md | Wed Dec 20 21:15:12 2017 UTC |
| Description | Between Files 1 and 2 |
|
|---|---|---|
| Text Blocks | Lines | |
| Unchanged | 2 | 490 |
| Changed | 1 | 2 |
| Inserted | 0 | 0 |
| Removed | 0 | 0 |
| Whitespace | |
|---|---|
| Character case | Differences in character case are significant |
| Line endings | Differences in line endings (CR and LF characters) are ignored |
| CR/LF characters | Not shown in the comparison detail |
No regular expressions were active.
| 1 | # Setting Up The Ser ver # | |
| 2 | This secti on will wa lk you thr ough how t o setup th e UI envir onment on the server . | |
| 3 | ||
| 4 | ### Update Yum | |
| 5 | `sudo yum update` | |
| 6 | ||
| 7 | ### Instal l NodeJS | |
| 8 | `sudo curl --silent --location https://r pm.nodesou rce.com/se tup_4.x | bash -` | |
| 9 | ||
| 10 | If the RPM install f ails you w ill have t o run it m anually. T he command will be d isplayed o n the scre en and it looks some thing like this: `su do rpm -i --nosignat ure --forc e '/tmp/tm p.TDULoz0M UE'` | |
| 11 | ||
| 12 | Now we hav e to insta ll the nod ejs that w e download ed: `sudo yum -y ins tall nodej s` | |
| 13 | ||
| 14 | ### Instal l GIT | |
| 15 | `sudo yum install gi t` | |
| 16 | ||
| 17 | ### Instal l NGINX | |
| 18 | `sudo yum install ng inx.x86_64 ` | |
| 19 | ||
| 20 | ### Clone the Repo | |
| 21 | `PII` | |
| 22 | ||
| 23 | ### Instal l Grunt Co mmand Line Globally For Develo pment | |
| 24 | Run `sudo npm instal l grunt@0. 4.5 -g` | |
| 25 | ||
| 26 | Run `sudo npm instal l grunt-cl i -g` | |
| 27 | ||
| 28 | Test to ma ke sure gr unt is wor king by ty ping in `g runt --ver sion` | |
| 29 | ||
| 30 | ### Instal l the Proj ect for De ployment | |
| 31 | Run `npm r un build` then copy the conten ts of the dist folde r to the w eb | |
| 32 | server's r oot www di rectory. | |
| 33 | ||
| 34 | ### Instal l the Proj ect For De velopment | |
| 35 | Clone the repo then run the fo llowing co mmand: `su do npm ins tall --dev ` | |
| 36 | ||
| 37 | ### Build the Projec t For Depl oyment | |
| 38 | Copy one o f the file s from the env folde r into the dist/js f older and | |
| 39 | rename it env.js. Up date the c ontents of the env.j s file to match the locations | |
| 40 | of the API endpoint and the lo cation of the help f ile. | |
| 41 | ||
| 42 | ### Build the Projec t For Deve lopment | |
| 43 | Clone the repository and run ` npm instal l --dev`. When the i nstallatio n is | |
| 44 | complete y ou can bui ld the pro ject for a specific environmen t using th e | |
| 45 | following commands. | |
| 46 | ||
| 47 | * Developm ent Sustai nment envi ronment: ` npm run de v-sustainm ent` | |
| 48 | * Developm ent Releas e environm ent: `npm run dev-re lease` | |
| 49 | * Deployme nt to prod uction env ironment ( no dist/he lp/env.js file): `np m run buil d` | |
| 50 | ||
| 51 | ### Genera te the dis t/help/env .js file | |
| 52 | ||
| 53 | Sometimes you just w ant to gen erate the environmen t configur ation file without | |
| 54 | running gr unt or cre ating the rest of th e files in the dist folder. Yo u can do | |
| 55 | this by ru nning the following command: ` npm run en vfile` | |
| 56 | ||
| 57 | ### Update NGINX Roo t Director y | |
| 58 | `sudo vi / etc/nginx/ nginx.conf ` | |
| 59 | ||
| 60 | Change the line that says root to point to `opt/ge nisis/dist ` | |
| 61 | ||
| 62 | ### Start NGINX | |
| 63 | `sudo serv ice nginx start` | |
| 64 | ||
| 65 | # Developi ng Locally | |
| 66 | This secti on will go over the typical de velopment process fo r setting up and | |
| 67 | running th e UI proje ct on your computer locally. | |
| 68 | ||
| 69 | ### Softwa re Require ments | |
| 70 | In order t o develop locally yo u must hav e Node v4. 5.0, GIT B ash, XAMPP and an ID E. | |
| 71 | We also re commend us ing Consol e2 for mul ti window and tabbed viewing o f the MING W64 | |
| 72 | console yo u will be using. | |
| 73 | ||
| 74 | ### Instal l Node 4.5 .0 | |
| 75 | A list of all the do wnloads fo r this ver sion of no de are ava ilable her e: https:/ /nodejs.or g/download /release/v 4.5.0/ | |
| 76 | ||
| 77 | Documentat ion for th is version of node i s availabl e here: ht tps://node js.org/dow nload/rele ase/v4.5.0 /docs/api/ | |
| 78 | ||
| 79 | ### Instal l GIT | |
| 80 | Download t he windows version w hich inclu des MINGW6 4 Bash pro gram that you will | |
| 81 | be using a s your con sole: http s://git-fo r-windows. github.io/ | |
| 82 | ||
| 83 | ### Instal l Console 2 | |
| 84 | It's *stro ngly recom mended* yo u install and use Co nsole2, it will make developin g with | |
| 85 | the MINGW6 4 console a lot easi er and les s annoying than havi ng lots of console | |
| 86 | windows al l over you r desktop. | |
| 87 | ||
| 88 | https://so urceforge. net/projec ts/console / | |
| 89 | ||
| 90 | ##### Conf iguration | |
| 91 | Once you h ave Consol e2 install ed you wan t to updat e it to us e the MING W64 bash p rovided | |
| 92 | when you d ownloaded GIT. | |
| 93 | ||
| 94 | 1. Open th e Console2 program. | |
| 95 | 2. Go to E dit > Sett ings. | |
| 96 | 3. In the settings w indow loca te the She ll field | |
| 97 | 4. Enter: `C:\Window s\SysWOW64 \cmd.exe /c ""C:\Us ers\{USERI D}\AppData \Local\Pro grams\Git\ bin\sh.exe " --login -i"`` | |
| 98 | 5. Replace {USERID} with your BAH 6 digi t ID numbe r (if you don't know it look f or the fol der in C:\ Users) | |
| 99 | 6. In the Startup Di rectory fi eld, enter : `C:\xamp p\htdocs\g enisis` | |
| 100 | 7. Click O K at the b ottom of t he setting s window. | |
| 101 | 8. Restart Console2 once you h ave cloned the genis is project in the st ep below. | |
| 102 | ||
| 103 | ### Atom I DE Editor ### | |
| 104 | It's *stro ngly recom mended* yo u use the Atom IDE, however yo u can use whatever | |
| 105 | IDE you li ke the mos t. There a re several great plu gins that work well with Atom | |
| 106 | and make i t easier t o catch er rors as yo ur program ming on th e project. | |
| 107 | ||
| 108 | You can do wnload Ato m here: ht tps://atom .io/ | |
| 109 | ||
| 110 | ### Instal l Atom Plu gins | |
| 111 | These are the recomm ended plug ins that y ou install once you have Atom. To add a | |
| 112 | new plugin first ope n Atom the n go to Fi le > Setti ngs. Find the Instal l section | |
| 113 | at the bot tom of the left hand side of t he setting s menu and click on it. Enter | |
| 114 | the follow ing plugin s into the package s earch box and then h it install when you | |
| 115 | find them: | |
| 116 | ||
| 117 | * atom-jas mine (by z acharytama s) | |
| 118 | * csslint (by tcarls en) | |
| 119 | * grunt-ru nner (by k okarn) | |
| 120 | * linter ( by atom-co mmunity) | |
| 121 | * linter-c sslint (by AtomLinte r) | |
| 122 | * linter-h tmlhint (b y AtomLint er) | |
| 123 | * linter-j shint (by AtomLinter ) | |
| 124 | * atom-wal laby (by w allabyjs) | |
| 125 | ||
| 126 | *Note:* at om-wallaby requires a separate license p urchase, i t is | |
| 127 | not requir ed to get the projec t working, but it wi ll help wi th writing unit test s | |
| 128 | and will n otify you immediatel y if somet hing you d o has brok en a unit test and i t | |
| 129 | can provid e code cov erage repo rts for yo ur unit te sts. Buy a license h ere: https ://wallaby js.com/ | |
| 130 | ||
| 131 | Once you a re done in stalling a ll of the plugins yo u need to restart At om for to see | |
| 132 | some of th em in acti on. You ca n access a ll the plu gin comman ds by pres sing `Ctrl + Shift + P` | |
| 133 | and then s tarting to type in t he name of the plugi n. Try typ ing Grunt or Wallaby . | |
| 134 | ||
| 135 | ### Instal l XAMPP | |
| 136 | This will setup and install an d allow yo u to easil y manage a local Apa che server that runs | |
| 137 | on your co mputer as you develo p and test the proje ct. Downlo ad it here : https:// www.apache friends.or g/download .html | |
| 138 | ||
| 139 | ## Downloa d the Sour ce Code | |
| 140 | Before you can start any local developme nt you nee d to get a copy of t he project | |
| 141 | source cod e. | |
| 142 | ||
| 143 | ### Create an SSH Ke y | |
| 144 | You need a n SSH key before you can get a ccess to t he code re po. Open C onsole2 an d | |
| 145 | in the com mand line type in th e followin g: | |
| 146 | ||
| 147 | `cd ~/.ssh /` | |
| 148 | ||
| 149 | This chang es you int o the SSH directory. Now you n eed to gen erate your new SSH k ey. | |
| 150 | When it pr ompts you, just keep hitting e nter. Do n ot create a password and do no t | |
| 151 | change the name of t he file it wants to generate. | |
| 152 | ||
| 153 | `ssh-keyge n` | |
| 154 | ||
| 155 | Now if you display t he content s of your .ssh folde r you will see two n ew files, | |
| 156 | one called id_rsa an d the othe r called i d_rsa.pub: | |
| 157 | ||
| 158 | `ls -la` | |
| 159 | ||
| 160 | ### Add SS H Key ### | |
| 161 | Now that y ou have an id_rsa an d a .pub f ile you ne ed to add this SSH k ey to the repo. | |
| 162 | If you don 't have ac cess to th e SSP to c an request it here u sing proje ct and tea m | |
| 163 | name Genis is20: http s://selfse rviceporta l.boozalle ncsn.com/a d | |
| 164 | ||
| 165 | If you alr eady have access to SSP then l ocate the SSH Keys o n the left hand side | |
| 166 | menu and e nter the c ontents of your id_r sa.pub fil e into the input fie ld and cli ck | |
| 167 | the add bu tton. You can get th e contents of your i d_rsa.pub file by do ing the fo llowing: | |
| 168 | ||
| 169 | `cat ~/.ss h/id_rsa.p ub` | |
| 170 | ||
| 171 | Now you sh ould have SSH access to the re po. If you want to s ee the fil es in the repo on | |
| 172 | Github you can click on the Gi thub link under the Genisis2Cl ient proje ct in SSP. | |
| 173 | ||
| 174 | ### Clone the Projec t ### | |
| 175 | Open Conso le2, you w ill see th e command line for t he MINGW64 console i f you did | |
| 176 | the initia l setup co rrectly. I f you don' t refer ba ck to the section ab ove. | |
| 177 | ||
| 178 | Change int o the XAMP P file sys tem locati on. This w ill allow you to vie w your | |
| 179 | files and changes wh en XAMPP i s running: | |
| 180 | ||
| 181 | `cd /c/xam pp/htdocs` | |
| 182 | ||
| 183 | Now clone the projec t into a g enisis fol der like s o: | |
| 184 | `git clone git@githu b.boozalle ncsn.com:H EALTH-ACCT -GROUP/Gen isis2Clien t.git geni sis` | |
| 185 | ||
| 186 | ## Setup t he Project | |
| 187 | This secti on will sh ow you how to get th e project setup once you've se tup all of | |
| 188 | your softw are and ha ve cloned the projec t. | |
| 189 | ||
| 190 | ### Instal l NPM depe ndencies P roject ### | |
| 191 | Now that y ou've clon ed the pro ject you h ave to dow nload all the depend encies and | |
| 192 | generate t he `dist` folder. In Console2 type the f ollowing: | |
| 193 | ||
| 194 | `cd /c/xam pp/htdocs/ genisis` | |
| 195 | ||
| 196 | This place s you into the genis is folder where you cloned the project. Now you | |
| 197 | install an d build: | |
| 198 | ||
| 199 | `npm insta ll && grun t build` | |
| 200 | ||
| 201 | This insta lls all th e NPM depe ndencies a nd then do es the ini tial build of the pr oject. | |
| 202 | You should now see a new dist folder has appeared. This is t he folder that conta ins the | |
| 203 | deployable version o f the proj ect. | |
| 204 | ||
| 205 | ### Start XAMPP Apac he Server ### | |
| 206 | Open the X AMPP execu table prog ram. You w ill see th e XAMPP co ntrol pane l. Click o n | |
| 207 | the start button for the APACH E web serv er. | |
| 208 | ||
| 209 | ### View P roject In Browser ## # | |
| 210 | Once the X AMPP Apach e server i s running and you've initializ e and buil t the proj ect | |
| 211 | you can vi ew the pro ject in yo ur browser by going to the dis t file tha t was gene rated: | |
| 212 | ||
| 213 | http://loc alhost/dis t | |
| 214 | ||
| 215 | *Note:* If you're us ing an IDE like Atom or Sublim e you will not see t he dist fo lder in yo ur file | |
| 216 | tree becau se it is l isted in t he .gitign ore config uration an d by defau lt these I DEs | |
| 217 | remove tho se files f rom your f ile tree, however th e file is there and available if you | |
| 218 | navigate t o it | |
| 219 | ||
| 220 | # Typical Daily Deve lopment Pr ocess # | |
| 221 | ||
| 222 | 1. Start A pache on X AMPP | |
| 223 | 2. Open Co nsole2 and go into y our genisi s director y: `cd /c/ xampp/htdo cs/genisis ` | |
| 224 | 3. Run the developme nt environ ment and s tart grunt : `npm run watch` | |
| 225 | 4. Make ch anges to t he code in the `src` folder | |
| 226 | 5. Check t he console output re sults from grunt wat ch (or IDE plugin) f or any err ors | |
| 227 | 6. Fix any errors or breaking unit tests | |
| 228 | 7. Test yo ur changes in the br owser when the tests run clean by going to: http:/ /localhost /dist | |
| 229 | ||
| 230 | # Testing API - Post man Tests # | |
| 231 | ||
| 232 | If you wou ld like to run some simple API tests tha t were dev eloped in Postman | |
| 233 | you can en ter the fo llowing co mmand from the root directory: `newman r un postman _tests.jso n` | |
| 234 | For the fu ll list of Newman op tions you can consul t the docu mentation here: http s://github .com/postm anlabs/new man | |
| 235 | ||
| 236 | ### Genera ting Postm an HTML Ou tput ### | |
| 237 | ||
| 238 | If you wou ld like to see HTML version of the Newma n output y ou can run the follo wing and | |
| 239 | a new fold er called Newman wil l be creat ed with th e results of your te st runs: | |
| 240 | `newman ru n postman_ tests.json --reporte rs html` | |
| 241 | ||
| 242 | ### Genera ting Postm an CLI Out put ### | |
| 243 | ||
| 244 | If you wan t to get r esults fro m the post man test t o see in t he command line if t he | |
| 245 | tests have succeeded or failed you can r un the fol lowing: `n ewman run postman_te sts.json - -reporter- cli-no-sum mary --rep orter-cli- no-console --reporte r-cli-no-a ssertions` | |
| 246 | happy codi ng |
Araxis Merge (but not the data content of this report) is Copyright © 1993-2016 Araxis Ltd (www.araxis.com). All rights reserved.