Standalone web client for Scratch
Find a file
Matthew Taylor 8c374e096d Move custom loader to main.jsx
So that it's only done once.
2015-12-16 10:43:37 -05:00
lib Default to msgid string if not found 2015-12-01 11:25:03 -05:00
server Revert "Move custom-locales.js to static/js/lib" 2015-12-16 10:09:15 -05:00
src Move custom loader to main.jsx 2015-12-16 10:43:37 -05:00
static Revert "Move custom-locales.js to static/js/lib" 2015-12-16 10:09:15 -05:00
test Default to msgid string if not found 2015-12-01 11:25:03 -05:00
.eslintrc Add lint exception for formatMessage injection 2015-10-16 11:05:39 -04:00
.gitignore Add deploy make target 2015-11-03 12:51:45 -05:00
.sass-lint.yml Add Global Colors and Updated SCSS / Linter 2015-09-29 11:22:48 -04:00
.travis.yml Truncate commit SHA and use it for BUILD_ARCHIVE 2015-11-02 17:52:30 -05:00
custom-locales.json Move custom loader to main.jsx 2015-12-16 10:43:37 -05:00
en.json Some translations cleanup 2015-12-09 14:03:30 -05:00
languages.json Remove fr-ca from language list 2015-12-01 08:44:39 -05:00
Makefile Rename version to tag to match scratch-api 2015-11-20 11:08:42 -05:00
package.json Merge pull request #285 from mewtaylor/bugfix/update-translations-dependency-repo-develop 2015-12-09 09:52:49 -05:00
README.md Rename PROXY_HOST to FALLBACK 2015-12-04 09:52:10 -05:00
webpack.config.js Remove Dedupe plugin from webpack 2015-11-19 15:30:19 -05:00

scratch-www

Standalone web client for Scratch

Build Status

To Build

npm install
npm run build

To Run

npm start

During development, npm start watches any update you make to files in either ./static or ./src and triggers a rebuild of the project. In development the build is stored in memory, and not served from the ./build directory.

Once running, open http://localhost:8333 in your browser. If you wish to have the server reload automatically, you can install either nodemon or forever.

To stop

Use ^C to stop the node process npm start starts.

Configuration

npm start can be configured with the following environment variables

Variable Default Description
API_HOST https://api.scratch.mit.edu Hostname for API requests
NODE_ENV null If not production, app acts like development
PORT 8333 Port for devserver (http://localhost:XXXX)
FALLBACK '' Pass-through location for scratchr2

To Test

npm test

Current issues with the development

We're currently in the process of transitioning into this web client from Scratch's existing structure. As we transition, there are going to be some issues along the way that relate to how this client needs to interact with the existing infrastructure to work properly in production.

On top of migrating to using this as our web client, Scratch is also transitioning into using a new API backend, Scratch REST API. As that is also currently in development and incomplete, we are set up to fall back to using existing Scratch endpoints if an API endpoint does not exist which is where the FALLBACK comes in.

Most of the issues we have currently revolve around the use of FALLBACK. This variable is used to specify what url to fall back onto should a request fail within the context of this webclient, or when using the API_HOST. If not specified in the process, it will not be used, and any request that is not made through the web client or the API will be unreachable.

Setting FALLBACK=https://scratch.mit.edu allows the web client to retrieve data from the Scratch website in your development environment. However, because of security concerns, trying to send data to Scratch through your development environment won't work. This means the following things will be broken for the time being:

  • Login on the splash page (In the process of being fixed)
  • Some update attempts to production data made through a development version of the web client