Tools for experimenting with a website's UI code via a benevolent "man in the middle."
- Dynamically creates new websites to proxy existing websites
- Each new website is accompanied by a “project” dashboard
- Shows what traffic/requests is passing through the proxy
- Collect options to guide future request handing behavior by the proxy
- Replacing calls from one resource with a redirect to another. Examples uses include swapping one or more JS, CSS, HTML, or image file with another to see its impact on a site.
- Multiple people to concurrently view and tinker with an “edited” site
- Enable easy experimentation on websites. For example: * Replacing image tags with HTML 5 responsive picture tags, or * Integrating some of the many optimizations outlined at modPageSpeed. * User defined scripts/mods
- Offer other methods of file replacement
- Caching
- Online file editing
- Cookie management for session sharing
I created this project over the December 2016 holiday as an excuse to play around with technology that interests me. Some of the choices I made, like using Firebase, were made because I just wanted to play with that service or framework.
- Create a Firebase account
- Download the private credential JSON file, you will need to update the config.json file with its location later
- Node JS is installed
- https://nodejs.org/
- Tested/developed with Node 7.4+
- WebPack 2 installed globally
- Only required if changing & building the UI
npm install webpack -g
- https://webpack.github.io/docs/tutorials/getting-started/
>git clone https://github.com/remento/assay.git
>cd assay
/assay>npm install
Update the project's config.json file with your Firebase account information. Take particular note to update the following three items:
- firebaseDatabaseURL
- firebaseCredentialPath
- clientConfig/firebaseConfig: {...}
- Normal Server Startup
node index.js --inspect
- Start Server In Debug Mode (Node 7+)
node index.js --inspect
Not required unless the UI files in ./src/client
have been modified.
- Dev UI build & start watching for changes (alias for
webpack -d --watch
)/assay>npm run dev
- Production UI build (alias for
webpack -p
)/assay>npm run build