A web app for discovering and exploring old, high quality content from reddit.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.vscode
__pycache__
bin
bower_components/js-cookie
node_modules
public
routes
views
.brackets.json
.gitignore
.jslintrc
.pylintrc
404.html
Infinite Reddit Mockup.psd
Infinite-Reddit-Mockup.png
README.md
additions.py
app.js
app.py
bitnami.sh
black.png
controller.js
databaseAdditions.js
databaseCleaning.js
databaseConnection.js
db.py
debug.log
manager.js
nsfw_subreddits.json
package.json
postmodel.js
pw.htpasswd
reddit.js
scraper.js
setup.js
submodel.js
subreddits
subreddits comma separated
subreddits vertical list
subreddits.json
subreddits2.json
subreddits_new.json
subreddits_nsfw.json
subreddits_updated.json
test.json
util.js

README.md

infinitereddit

A web app for discovering and exploring old, high quality content from reddit.

infinitereddit is now hosted at http://infinitereddit.bitnamiapp.com/

infinitereddit is based on the premise that a huge amount of content on reddit can be enjoyed without the context of time. That is to say, content from subreddits like /r/pics, /r/earthporn, /r/askreddit, or /r/woahdude could be enjoyed for years to come after its initial post date, as the time that the post was submitted is often not very important. Content presented by infinitereddit is deemed "high quality" by ensuring that it only presents links which were in the top 25 submitted from that week.

About

iinnfinitereddit will eventually store hundreds of thousands of some of reddit's top posts over the years from a variety of subreddits. Content is stored in a database and makes calls to reddit's API only when necessary. infinitereddit will keep track of links it's already presented to users, and will only present links they've never seen before.

If a user wishes to access a subreddit not already stored in IR's database, IR will make calls to the reddit API and store the results for future usage.

Stack

I've decided to use Mongo, Mongoose, Express, and Node to build this app. As this is my first intelligent web application, this decision will very likely change throughout development.

Progress

I plan to complete this project over the summer of 2015, or at least have a working prototype to demo.

6/2/16 - Haven't updated the README for a while though plenty of progress has been made. The majority of my time has been spent on infinitereddit iOS, a native implementation which uses the infinitereddit API. The iOS app is nearly complete now, I've recently added webm support and plan soon to add access to comments.

On the backend, since my last update I've completely refactored much of the project, code that was previously messy has been linted and should be much cleaner now.

12/11/15 - infinitereddit 1.0 is now complete. While the project itself isn't quite done, all the planned features have been implemented and the app is running stable at http://infinitereddit.bitnamiapp.com/ . The landing page has been redesigned, the next big step is to improve the algorithm for serving random posts. Ideally, I'd like to serve higher rated posts over lower rated ones.

10/20/15 - Another large break due to school/general life. Cookie system is now implemented, posts will only be served if they have not already been seen by the client. infinitereddit is now running off a hosted Bitnami server which is populating the database day and night. In the next few days the top 500 subreddits will be present in the database. Next task is some bugfixes and improving the site's landing page.

8/20/15 - Took an unfortunate break from the project for about a month. Looking to get back into it next week. The site is close to done now, the next big tasks are implementing cookies to track which links the user has already seen, and also spending some time populating the database with a list of the top few hundred subreddits.

7/16/15 - Site is now nearing MVP status. Requests can be made to /r/_____ and a check is done to determine if the subreddit has been cataloged already. If it has not, the server will instruct the client to wait until it has downloaded a sufficient number of posts. The home page of the site is working, some UI changes are needed but all links are functional. Rather than download from a chosen timeframe, Reddit.js can now determine the subreddit's creation date and use that to download all top weekly posts since the subreddit's inception. I hope to have the product released by the end of the summer and that timeframe is still very much realistic.

6/30/15 - Randomization is now working, requests to /r/_____ will return an array of 10 random posts rather than just the first ten. Work started on the frontend. Home page of site can be found at index.html, currently working on implementing Redditp code to allow for requests to my server to display posts. I've also hosted the app on Heroku.

6/24/15 - Lots of work done in the last couple weeks, reddit.js can now download posts from any time period and save the top n from each x length of time. More importantly, controller.js and manager.js now work together to respond to GET requests to localhost:3000/r/______ to return an array of the first 10 posts in the DB in the form of a JSON file.

6/11/15 - First commit, only thing working now is passing a subreddit to reddit.js and storing its top 25 posts from a specified timespan in Mongo.