Skip to content

jozsefsallai/webmongo

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

WebMongo

WebMongo (beta)

A fast and secure web UI for managing MongoDB servers. See this app in action: https://webmongo.now.sh

Documentation CI status Dependency Status MIT license

One-click Deployment


Motivation and Project Description

Currently, there are no easy ways of managing MongoDB servers from multiple devices. You have to download a client made specifically for the platform you're using. This isn't convenient, as it doesn't only require having to find a good client, but also waiting for it to install and having to re-add your servers on every device.

It would be great if managing MongoDB servers was doable through a web interface, using nothing but your web browser alone. But then comes the question: is it really a good idea to store all your connection strings on a remote server? What if someone maliciously gains access to the database and manages to decrypt your connection strings? Having a centralized user database also means they are prone to getting their accounts compromised if they don't secure their account well enough.

This is where WebMongo comes into play. WebMongo is a web application that allows you to have your own, decentralized database of MongoDB servers without having to deploy anything to your server at all. Instead of storing your connection strings in a remote database, it stores them on your device using localStorage. You can then export your data to an encrypted file using a passphrase and import this file on a different device. You can use WebMongo to list, edit, or delete your documents from an infinite number of servers, or create new ones.

Tech

WebMongo is a Sapper application that uses Express and the official MongoDB Node.js driver to process your queries and requests. It deploys to Vercel automatically. For storing your servers/connection strings, WebMongo uses your browser's localStorage.

Deploying your own instance

You can learn how to deploy your own instance of WebMongo here: https://webmongo.now.sh/docs/deployment.html

Planned Features and TODOs

  • feat: Add, change, and remove collections
  • feat: Lock list of servers/connection strings with a password (similarly to how exporting works)
  • todo: Write better user guide

License

MIT. This project is in no way affiliated or endorsed by MongoDB, Inc. MongoDB and the leaf logo are a trademark of MongoDB, Inc.