Package Exports
- bedrock
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (bedrock) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Bedrock
Note: This README is out-of-date for Bedrock 0.3+.
Bedrock helps you launch your ideas faster by bundling all the best-of-breed tooling that's necessary to build a modern, scalable Web app. It can run on a low-powered laptop all the way up to enterprise servers serving tens of millions of transactions per day.
Bedrock runs on Linux, Mac OS X, and Windows. It uses node.js + Express3 + MongoDB for the server backend while utilizing HTML5 + Bootstrap3 + AngularJS for the front-end. It has REST APIs, user account management, strong cryptography support, DoS protection, digital signatures, Linked Data, and tons of other FEATURES that are active by default. If you don't need all the fancy features, Bedrock is modular, so you can use only the modules you want.
Quickstart
You can follow the following tutorial to setup and use Bedrock on a Linux or Mac OS X development machine.
Requirements
- Linux or Mac OS X (also works on Windows with some coaxing)
- node.js >= 0.10.x
- npm >= 1.4.x
- mongodb ~= 2.4.x (optional, but strongly recommended)
Setup
- Setup an admin user on mongodb (see below)
- Map the
bedrock.devhostname to your machine (see below). - git clone git@github.com:digitalbazaar/bedrock.git
- cd bedrock && npm install
- [optional] Tweak config settings in configs/dev.js
To setup an admin user on mongodb:
- mongo
- use admin
- db.addUser( { user: "admin", pwd: "password", roles: [ "clusterAdmin", "readWriteAnyDatabase", "userAdminAnyDatabase", "dbAdminAnyDatabase"] } )
To setup the bedrock.dev hostname:
- Edit the /etc/hosts file as the administrator/root.
- Add an entry mapping the IP address to
bedrock.dev. For example:192.168.0.15 bedrock.dev(where192.168.0.15is the IP address of your primary network device.
Running Bedrock
Run the following to start up a development server from the source directory:
node bedrock.dev.jsTo add more verbose debugging, use the --log-level option:
node bedrock.dev.js --log-level debugTo access the server:
- Go to: https://bedrock.dev:22443/
- The certificate warning is normal for development mode. Accept it and continue to the landing page.
- Login as the admin
adminwith the passwordpasswordor create a new account.
Running the Tests
Install protractor (before first test run):
npm run install-protractorRun all backend and frontend tests:
npm run testRun just the backend tests:
npm run test-backendRun just the frontend tests:
npm run test-frontendRun a specific frontend test suite:
nodejs test.js --frontend --suite unitRunning the Code Coverage Tool
npm run coverageLook at 'coverage.html' using a web browser
Minimizing the RequireJS client-side JS
npm run minifyTo test in dev mode, set the website config var 'minify' to true.
Generating a new self-signed SSL certificate for testing
nodejs create-credentials.jsSave the generated private key and certificate PEMs in the appropriate files (in ./pki/ if using the default config).
Features
For a complete list of features included in Bedrock, see the FEATURES file.
FAQ
See the FAQ file for answers to frequently asked questions.
Hacking
See the CONTRIBUTING file for various details for coders about hacking on this project.
Authors
See the AUTHORS file for author contact information.
License
Bedrock and all Bedrock modules are:
Copyright (c) 2011-2015 Digital Bazaar, Inc.
All Rights ReservedYou can use Bedrock for non-commercial purposes such as self-study, research, personal projects, or for evaluation purposes. See the LICENSE file for details about the included non-commercial license information.