Menu

Home

Sercan Özdemir

Mongoclient is a simple way to manage mongoDB. To give you a brief background information; there's a lot of great tool to manage mongoDB, but none does not meet most of our requests. Mongoclient emphasis on end user's requests and gives them to use full capabilities of modern browsers (mobile as well) without struggling with shell commands, it also uses greatly visualized charts to show server status. If offers a responsive, fast interface to manage whole your database.

Mongoclient's goal is becoming the new way to manage mongodb. Instead of classic mongodb management tools designs, it offers a huge flexibility to use it anywhere without paying anything, apart from this if someone in somewhere is using Mongoclient and happy with it, this means Mongoclient has reached it's goal.

Table of Contents

  1. [Introduction](https://github.com/rsercano/mongoclient/wiki#1
  2. Underlying [Technologies](https://github.com/rsercano/mongoclient/wiki#2
  3. [Installation](https://github.com/rsercano/mongoclient/wiki#3

    3.1. Compile From Source (Browser [Edition)](https://github.com/rsercano/mongoclient/wiki#31](https://github.com/rsercano/mongoclient/wiki/issues/31)-compile-from-source-browser-edition)

    3.1.1. Setting Base URL [Path](https://github.com/rsercano/mongoclient/wiki#311

    3.1.2. [Authentication](https://github.com/rsercano/mongoclient/wiki#312

    3.1.3. Health [Check](https://github.com/rsercano/mongoclient/wiki#313

    3.2. Desktop [Portables](https://github.com/rsercano/mongoclient/wiki#32
  4. User Manual

    4.1. Query [Execution](https://github.com/rsercano/mongoclient/wiki/User-Manual#41

    4.2. [Settings](https://github.com/rsercano/mongoclient/wiki/User-Manual#42
  5. How can I contribute
  6. [FAQ](https://github.com/rsercano/mongoclient/wiki/Frequently-Asked-Questions#6

1. Introduction

So far, most of the mongodb users are not satisfied mongodb management tools that is placed in the market. Some of paid management tools really expect huge amounts although they give less to end-users.

The thing set me off was MongoDB 3.2 release. This's one of the huge upgrades of MongoDB and most of the management tools are deprecated now, since eval command of mongodb is deprecated. Well, another thing is it's the world's number one NoSQL database. Yes it's MongoDB..

According to the usage statistics of databases in the world, MongoDB is the number one NoSQL database currently. (March 2016) It's really sad that such a successful database doesn't have an sufficent management system to satisfy end-users.

At the end, I’m not trying to be a competitor to companies that are writing mongodb clients to earn money. This project is just started and will be maintened as much as I can.

2. Underlying Technologies

At the very begining of the project I was trying to learn meteorJS. And it's all concepts especially reactive programming are great to creat a responsive, fast project. And these suit my needs. Since meteorJS is capable of compiling source code into mobile, I may use this feature as well with a responsive theme. Mongoclient uses INSPINA theme, and will buy it's extended license very soon

Except all of these, more or less following technologies and frameworks are used in this project:
* MeteorJS as main programming language.
* NodeJS as underlying technology of meteor, and for some NPM packages.
* Chimp as test suite. (Not yet written)
* NPM Packages:
* mongodb
* mongodb-backup
* mongodb-restore
* cheerio
* winston
* tunnel-ssh
* Chosen, for responsive, look and feel select boxes.
* CodeMirror as query selector editor.
* Jquery Datatables for dump,file and connection management screens.
* Flot Charts to visualize server status.
* iCheck, for responsive, look and feel checkboxes.
* Idle-timer, just for fun.
* JsonEditor as result view.
* AceEditor as an alternative result view.
* Ladda to prevent multiple button clicks and look and feel buttons during loadings.
* Metis Menu, for navigation.
* Pace, for loading on top of page.
* Slimscroll, for nice scrolls.
* SweetAlert, for great message box dialogs.
* Toastr, for notifications.

3. Installation

Mongoclient's all desktop distributions are portables, that means you can simply double click Mongoclient application to execute it, and that's all.

3.1. Compile From Source (Browser Edition)

You need to install MeteorJS before trying to compile. A simple meteor command at the directory that you've downloaded into will make it work, afterwards you can navigate http://localhost:3000 to see the application. If your 3000 port is in use, simply provide --port <PORT> argument to change startup port.

To summarize:

  1. Install MeteorJS (It supports all platforms)
  2. Download latest source of Mongoclient
  3. Unzip and navigate into mongoclient-master
  4. Execute command meteor npm install
  5. Execute command meteor --port 3000 (Port is optional)
  6. Navigate localhost:3000 from your browser

If you encounter any issue with iron:router, simply execute meteor update iron:middleware-stack command on the directory of mongoclient as mentioned in issue [#67]

3.1.1. Base URL Path

If you want to make mongoclient work at other base URL than root /, simply you can set ROOT_URL environment variable.

For example: export ROOT_URL=http://localhost:3000/mongoclient. Have a look at #68 to see the details.

3.1.2. Authentication

Mongoclient has a very simple basic authentication implementation, if you want to protect your app. To enable authentication, you have to set below environment variables.

To enable authentication:

**Username:**
:::export MONGOCLIENT_USERNAME=sercan```

Password:

Then when you compile your app with `meteor` command, it will ask you to enter above credentials. Don't forget most of the browsers caches these basic authentication credentials, since they work with **Authorization** header.

### 3.1.3. Health Check
Mongoclient has a simple health check url (Thanks to [DrSmirnov](https://github.com/DrSmirnov)). You can simply navigate to ```http(s)://root_url:3000/healthcheck```, to see if Mongoclient is up and running.

## 3.2. Desktop Portables
You don't need to install anything to use mongoclient as a desktop application on **Windows**, **Linux** or even on **Mac**.
Simply navigate to [latest release](https://github.com/rsercano/mongoclient/releases/latest) page and download your portable edition. (x86 and x64 architectures are available for Linux and Windows)

### Latest Version
* [Linux x64](https://github.com/rsercano/mongoclient/releases/download/1.3.0/linux-portable-x64.zip)
* [Windows x64](https://github.com/rsercano/mongoclient/releases/download/1.3.0/windows-portable-x64.zip)
* [OSx](https://github.com/rsercano/mongoclient/releases/download/1.3.0/osx-portable.zip)

MongoDB Logo MongoDB