Skip to content

thematters/thespace-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

93 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Source code of TheSpace official app.

Development

Install Tools

Install project development dependencies

npm install --only-dev

Auto reload dev server

make dev-server

or, in debug mode

make debug-server

Notes

  • tmp build elmapp to src/Native/elmapp.js (in .gitignore)
  • default host using 0.0.0.0:8000 for mobile testing convenience
  • for production server, 127.0.0.1 is whitelisted

Env Management (production/staging/development)

Switch env

cp src/Env/(Production|Staging|Development).env src/Env.elm

Backup current env

make backup-env

This will back up src/Env.elm to src/Env.bak.

Restore backup env

make restore-env

This will restore src/Env.bak to src/Env.elm, and use src/Env/Development.env if src/Env.bak not exists.

Release

Production Release

make prod

Staging Release

make stag

These commands will:

  1. backup current env
  2. switch to production/staging env
  3. compile current Elm code with --optimize flag to src/Native/elmappesm.js (ES6 Module).
  4. bundle elmappesm.js with js files to current/(prod|stag)/app.js
  5. uglify and minify current/(prod|stag)/app.js to current/(prod|stag)/app.min.js
  6. generate current/(prod|stag)/index.html using MD5 checksum of app.min.js as version(?v=version)
  7. remove current/(prod|stag)/app.js and src/Native/elmappesm.js
  8. restore backed up env

App Architecture

Diagram for TheSpace App Architecture