-
Notifications
You must be signed in to change notification settings - Fork 59
Development
NodeJS runs the server-side of the app. MongoDB and Redis are used for storing users and sessions for authentication.
Make sure you initialize both Redis and MongoDB before running.
The simplest way to get started in blockbuilder is to use docker. To begin, install the app through Homebrew.
brew cask install docker
# From Application launcher, open the Docker app after installation completesNext, from within the blockbuilder directory, run the following command. Docker-compose will read from the docker-compose file to download and build the appropriate mongodb and redis images from Docker Hub registry. This may take a while, but it only needs to be done once. After downloading the images, docker will also launch the applications on the ports that blockbuilder expects.
# The -d flag runs the containers
# in detached mode, so that you can
# use the terminal for other things
docker-compose up -d That's it, you're done! When you're done with your databases, run the following command to shut down your Docker network from within the blockbuilder directory.
docker-compose down You can now proceed to the "Running Server" portion of this guide. If you're not using Docker, read the next section for an alternate way to run the databases.
brew install mongodb
brew install redisMore steps may be necessary to install MongoDB on Mac OS X
To start the mongo database service, open a new terminal tab and run:
mongod --config /usr/local/etc/mongod.confTo start the redis server, open a new terminal window and run:
redis-serverYou can follow this more detailed guide on Mac OS X.
- Refer to Redis Quick Start to set up a Redis instance.
- Refer to Install MongoDB to set up a MongoDB instance for your platform
git clone https://github.com/enjalot/blockbuilder.git
cd blockbuilder/
npm installBuilt files are not included in this repo. To build files, webpack is used.
To have a continually running watch script, use npm run buildWatch, which will leave a process running which will re-build the file. This command runs webpack to build the js & css bundles. This process watches for any changes to any client-side files and repacks them during development so there might not be any apparent progress in the terminal. It is customary to leave this running in its own tab during development.
npm run buildWatchTo build the files once, without watching for changes, run:
npm run buildBlockbuilder expects something in the secrets.json file.
cp secrets.json-example secrets.jsonThis will use node to launch the server:
node server.jsLeave the server running, and now you can access http://localhost:8889.
Then take any bl.ock and replace the bl.ocks.org part with localhost:8889 like
http://localhost:8889/syntagmatic/0d4f736796ab7b465020
If you'd like to enable GitHub authentication (for saving and forking as a logged in user) you will need to:
- Fill
secrets.jsonwith the client ID and secret key from GitHub