|
1 | | -# compass |
| 1 | +# compass [![][travis_img]][travis_url] |
2 | 2 |
|
3 | | -Explore your MongoDB. |
| 3 | +> Explore your MongoDB. |
4 | 4 |
|
5 | | -## Developing |
| 5 | +## Development |
6 | 6 |
|
7 | 7 | 1. Follow the setup instructions for [OSX][setup-osx], [Windows][setup-windows] or [Linux][setup-linux]. |
8 | | -2. Clone this repo |
| 8 | +2. Run `git clone [email protected]:10gen/compass.git ~/compass` to get the source code |
9 | 9 | 3. Run `npm install` to install dependencies |
10 | | -4. Run `npm start` to launch |
| 10 | +4. Run `npm start` to build the app and launch it |
11 | 11 |
|
12 | | -## Modules |
| 12 | +Already setup and prefer a simple copy and paste? |
| 13 | + |
| 14 | +```bash |
| 15 | +git clone [email protected]:10gen/compass.git ~/compass ; |
| 16 | +cd ~/compass; |
| 17 | +npm install; |
| 18 | +npm start; |
| 19 | +``` |
| 20 | + |
| 21 | +## Key Modules |
13 | 22 |
|
14 | 23 | <dl> |
15 | | - <dt><a href="https://github.com/10gen/scout">Compass</a></dt> |
| 24 | + <dt><a href="https://github.com/10gen/compass">compass</a></dt> |
16 | 25 | <dd> |
17 | 26 | The default Ampersand.js single-page application people actually interact with. |
18 | | - <a href="https://github.com/10gen/scout/blob/dev/src/models/scout-client-mixin.js">ScoutClientMixin</a> |
19 | | - connects the <a href="https://github.com/10gen/scout/tree/dev/src/models">models</a> to |
20 | | - <a href="https://github.com/mongodb-js/scout-client">scout-client</a>. |
21 | 27 | </dd> |
22 | | - <dt><a href="https://github.com/mongodb-js/scout-brain">scout-brain</a></dt> |
| 28 | + <dt><a href="https://github.com/10gen/scout-client">scout-client</a></dt> |
23 | 29 | <dd> |
24 | | - Needs to be broken down into topic based models but for now, this is where |
25 | | - all the business logic code lives we want to share between modules running |
26 | | - in the browser, nodejs, or electron. |
27 | | - </dd> |
28 | | - <dt><a href="https://github.com/mongodb-js/scout-client">scout-client</a></dt> |
29 | | - <dd> |
30 | | - Provides a clean API for <a href="https://github.com/mongodb-js/scout-server">scout-server</a> |
| 30 | + Provides a clean API for `compass` to talk to <a href="https://github.com/mongodb-js/scout-server">scout-server</a> |
31 | 31 | that works in the browser, nodejs, or electron. |
32 | 32 | </dd> |
33 | | - <dt><a href="https://github.com/mongodb-js/scout-server">scout-server</a></dt> |
| 33 | + <dt><a href="https://github.com/10gen/scout-server">scout-server</a></dt> |
34 | 34 | <dd> |
35 | | - An express.js application which provides REST and socket.io connectivity |
| 35 | + An express.js application which provides REST and socket.io endpoints |
36 | 36 | to the mongodb node.js driver. |
37 | 37 | </dd> |
| 38 | + <dt><a href="https://github.com/mongodb-js/mongodb-connection-model">mongodb-connection-model</a></dt> |
| 39 | + <dd> |
| 40 | + A shared Ampersand.js model used by `compass`, `scout-client`, and `scout-server` that encapsulates |
| 41 | + all of the business logic for generating valid parameters to hand to the driver to connect to MongoDB. |
| 42 | + </dd> |
| 43 | + <dt><a href="https://github.com/mongodb-js/mongodb-collection-sample">mongodb-collection-sample</a></dt> |
| 44 | + <dd> |
| 45 | + Provides a single interface for `scout-server` to request a sample of documents from a collection that automatically uses the `$sample` operator if available, falling back to a client-side reservoir sample. |
| 46 | + </dd> |
| 47 | + <dt><a href="https://github.com/mongodb-js/mongodb-schema">mongodb-schema</a></dt> |
| 48 | + <dd> |
| 49 | + `compass` uses `scout-client` to get a sample of documents from `scout-server` via `mongodb-collection-sample` which is piped into `mongodb-schema` to create a probabilistic representation of what the schema for a given collection most likely is. |
| 50 | + </dd> |
38 | 51 | </dl> |
39 | 52 |
|
| 53 | + |
40 | 54 | ## Building Releases |
41 | 55 |
|
42 | | -To compile electron + the app and the installer for your current platform: |
| 56 | +After you've made some local changes, the next thing you'll probably want to do |
| 57 | +is create an artifact to share. There is only one command you need to run to compile the app, |
| 58 | +sign it if the signing certificate is available on your machine, and generate a single file |
| 59 | +installer for your current platform: |
43 | 60 |
|
44 | 61 | ```bash |
45 | | -npm run release |
| 62 | +cd ~/compass; |
| 63 | +npm run release; |
46 | 64 | ``` |
47 | 65 |
|
48 | 66 | [setup-osx]: https://github.com/mongodb-js/mongodb-js/blob/master/docs/setup.md#osx-setup |
49 | 67 | [setup-windows]: https://github.com/mongodb-js/mongodb-js/blob/master/docs/setup.md#windows-setup |
50 | 68 | [setup-linux]: https://github.com/mongodb-js/mongodb-js/blob/master/docs/setup.md#linux-setup |
| 69 | +[travis_img]: https://magnum.travis-ci.com/10gen/compass.svg?token=q2zsnxCbboarF6KYRYxM&branch=master |
| 70 | +[travis_url]: https://magnum.travis-ci.com/10gen/compass |
0 commit comments