All Projects → mjkaufer → Mongit

mjkaufer / Mongit

Licence: other
💾 Mongo-esque Reddit-based Database!

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Mongit

Unim.press
A Reddit front-page reader in the style of The New York Times.
Stars: ✭ 199 (+895%)
Mutual labels:  reddit, reddit-api
set-top-reddit-wallpaper
PowerShell script to set the wallpaper as the top post of the day/week/month from /r/wallpapers and /r/wallpaper or any other subreddits.
Stars: ✭ 17 (-15%)
Mutual labels:  reddit, reddit-api
Praw
PRAW, an acronym for "Python Reddit API Wrapper", is a python package that allows for simple access to Reddit's API.
Stars: ✭ 2,675 (+13275%)
Mutual labels:  reddit, reddit-api
Reddsaver
CLI tool to download saved and upvoted media from Reddit
Stars: ✭ 76 (+280%)
Mutual labels:  reddit, reddit-api
aPRAW
Asynchronous Python Reddit API Wrapper
Stars: ✭ 49 (+145%)
Mutual labels:  reddit, reddit-api
Reddit Bot
🤖 Making a Reddit Bot using Python, Heroku and Heroku Postgres.
Stars: ✭ 99 (+395%)
Mutual labels:  reddit, reddit-api
node-express-reddit-clone
Build a Node, Express and MySQL-based clone of Reddit for DecodeMTL web development bootcamp
Stars: ✭ 28 (+40%)
Mutual labels:  reddit, reddit-api
Shreddit
Remove your comment history on Reddit as deleting an account does not do so.
Stars: ✭ 669 (+3245%)
Mutual labels:  reddit, reddit-api
saveddit
Bulk Downloader for Reddit
Stars: ✭ 130 (+550%)
Mutual labels:  reddit, reddit-api
roux
Simple and (a)synchronous Reddit API wrapper for Rust.
Stars: ✭ 41 (+105%)
Mutual labels:  reddit, reddit-api
Psraw
PowerShell Reddit API Wrapper
Stars: ✭ 42 (+110%)
Mutual labels:  reddit, reddit-api
rreddit
𝐫⟋ Get Reddit data
Stars: ✭ 49 (+145%)
Mutual labels:  reddit, reddit-api
Snoo
A Reddit command line client written in Node.js, using modern ES-features
Stars: ✭ 39 (+95%)
Mutual labels:  reddit, reddit-api
Mvvm Reddit
A companion project for our blog post on better Android software development using MVVM with RxJava.
Stars: ✭ 106 (+430%)
Mutual labels:  reddit, reddit-api
Redditbot
Discord bot for reddit.com
Stars: ✭ 17 (-15%)
Mutual labels:  reddit, reddit-api
crypto-subreddits-cli
👽 Track Cryptocurrency Subreddits On The Command Line 👽
Stars: ✭ 24 (+20%)
Mutual labels:  reddit, reddit-api
Jraw
The Java Reddit API Wrapper
Stars: ✭ 320 (+1500%)
Mutual labels:  reddit, reddit-api
Social Amnesia
Forget the past. Social Amnesia makes sure your social media accounts only show your posts from recent history, not from "that phase" 5 years ago.
Stars: ✭ 656 (+3180%)
Mutual labels:  reddit, reddit-api
reddit-image-fetcher
A JavaScript package for fetching reddit images, memes, wallpapers and more.
Stars: ✭ 40 (+100%)
Mutual labels:  reddit, reddit-api
redditwatcher
📻 Reddit streaming CLI
Stars: ✭ 17 (-15%)
Mutual labels:  reddit, reddit-api

Mongit

Mongo-esque Reddit-based Database!

WTF?

Mongit gives users a way to store data in the cloud without needing to purchase and setup a database. Just use Reddit!

All entries are encrypted with AES256 bit encryption!

Note, unless you are legitimately insane, you should not use this in large, enterprise, production environments. Really, in any environments. It's more of a proof of concept.

Installation & Running

Install using npm install. Copy config/settings.sample.js as config/settings.js. You'll need a subreddit and a post in that subreddit. In settings.js, substitute the subreddit name into the variable subredditName and the id of the post into the variable postId. Set the username and password variables to your reddit account credentials. Then, to run the console, type in node main.js. You might want to make it so that your subreddit only allows moderators to post, so nobody can 'inject' data into your server.

Usage

Currently, all usage is done in the REPL, but you can easily see the methods being called and call them instead of using the REPL.

find([query],[callback]) - Similar to MongoDB, you can pass search criteria. find() will find all entries whereas find({"test":1}) would return all entries where the field test exists and has a value of 1. The callback is a function which receives one argument, the array of everything found in the 'database'.

insert(json[, callback]) - Again, like Mongo, you need to pass a JSON to actually be inserted into the database. The callback takes an argument of a boolean lets you know whether or not the insert went through successfully - true means it worked.

remove(query[, callback]) - Deletes a query, like Mongo. Everything with data matching query will be removed. The callback takes an argument of a boolean lets you know whether or not the delete occurred successfully - true means it worked.

update(query, newvalue[, callback]) - Updates a query. newvalue is a JSON representing what fields will be set. Preexisting fields not in newvalue will remain unmodified. The callback takes an argument of a boolean lets you know whether or not the update went through successfully - true means it worked.

use <db> - Changes the current database to db (subreddit).

show dbs - Shows the databases the user is a moderator for.

show collections - Shows the collections in the current database.

changeCollection(collection) - Changes the collection you are connected to (post).

db - Prints current database name.

How it works

Each entry in the database is actually a comment on a subreddit post. The database is just a post in a subreddit. Using Reddit's API, you grab the comments, parse them as a JSON, and return them!

Awards

Mongit was created at HackRU Fall 2014, and won a bunch of stuff there.

  • 2nd Place Overall
  • Favorite Yodle Hack
  • Best use of Internet, from BookHolders

Todo

  • Support to easily make multiple 'databases', which are basically just posts in the subreddit
  • Mongo selectors & delimeters & stuff, such as $gt in the find method
  • Dynamic 'database' generation - find all posts and treat them as different DBs

Questions?

Make an issue or email me at [email protected]. Happy hacking!

This was all made at a hackathon, so naturally it's not the most refined thing. It's also a proof of concept.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].