HackerNews and Reddit in one placce

Overview

EDIT: this project is 3.5 years old. I found it sad it's just laying around, so I did some minimal fixes and deployed it. Hope you enjoy! (PR's welcome)

HackerReddit

I love both HackerNews and Reddit. They both have a fast, minimalist website design, they both have great communities and great content.

So, my project is to have a unified way of viewing these two!

How it works: By default, you will see a mix of top HN posts and posts of a few default subreddits, all mixed in the same page. If you wish to sign up, you can also customize the list of subreddits that will appear on your frontpage. Future: You will also be able to weight different news sources according to your preferences. E.g. give Hackernews a weight of 0.5x, and /r/cats maybe a 2x)

Of course, you can navigate to the original HN/Reddit post at any time by simply clicking the comment section. You can also view the profile of the author or the link itself. Most other text is also interactable, e.g. you can go to the original subreddit, or check out all HN posts on that specific domain, etc...

Future Improvements:

  • additional news-sources (e.g. RSS-feeds)
  • custom weighing of news sources/subreddits (user-chosen weights)
  • upvote functionality directly from HackerReddit using Oauth2
  • automatically subscribe to subreddits when authenticating with Reddit account

Files:

Under /templates are all the html templates:

  • layout.html: layout file, extends all other files. Navbar, login functionality, footer

  • index.html: newsfeed

  • error.html: errorhandler

  • login.html: Login as well as registering functionality

  • ...

  • /static you can find the images and css stylesheets and js files

  • /logs logs are stored here

  • data.db: database (SQLite)

  • requirements.txt: Python dependencies

  • util.py: Utilities module, takes care of handling the API's and loading the data

  • config.py: Configuration file

Architecture

Since getting the data from HN/Reddit every time a user loads the website is way too slow, we have to cache the data in our own database. For this, every 5 minutes we get the top 50 Hackernews stories as well as the top 10 reddit stories in every subreddit that our users are subscribed to.

Also, when a user subscribes to a subreddit that is not cached, we launch a new update request for that specific subreddit.

Owner
Hugo Montenegro
Currently finishing my bachelors @Harvard and exploring a few side projects.
Hugo Montenegro
CloudFormation Drift Remediation - Use Cloud Control API to remediate drift that was detected on a CloudFormation stack

CloudFormation Drift Remediation - Use Cloud Control API to remediate drift that was detected on a CloudFormation stack

Cloudar 36 Dec 11, 2022
Customizable and open-sourced bot for a few private servers

MarlBot A private bot for controlling monkeys and turtles. Why does this bot exist? The bot exists as a general-purpose community bot for a select few

KR 1 Jan 18, 2022
Python Tool To Get The Date That Your Account Joined Instagram

Date-Joined-Insta Python Tool To Get The Date That Your Account Joined Instagram You Dont Need To Login Just Enter The UserName If Id Did Not Work Ins

A B D U L L A H . 1 Dec 21, 2021
RChecker - Checker for minecraft servers

🔎 RChecker v1.0 Checker for Minecraft Servers 💻 Supported operating systems: ✅

Pedro Vega 1 Aug 30, 2022
Tools used by Ada Health's internal IT team to deploy and manage a serverless Munki setup.

Serverless Munki This repository contains cross platform code to deploy a production ready Munki service, complete with AutoPkg, that runs entirely fr

Ada Health 17 Dec 05, 2022
Dashboard to monitor the performance of your Binance Futures account

futuresboard A python based scraper and dashboard to monitor the performance of your Binance Futures account. Note: A local sqlite3 database config/fu

86 Dec 29, 2022
Versatile async-friendly library to retry failed operations with configurable backoff strategies

riprova riprova (meaning retry in Italian) is a small, general-purpose and versatile Python library that provides retry mechanisms with multiple backo

Tom 108 Apr 27, 2022
Python wrapper for GitHub API v3

Squeezeit - Python CSS and Javascript minifier Copyright (C) 2011 Sam Rudge This program is free software: you can redistribute it and/or modify it un

David Medina 207 Oct 24, 2022
Plugin for Sentry which allows sending notification via Telegram messenger.

Sentry Telegram Plugin for Sentry which allows sending notification via Telegram messenger. Presented plugin tested with Sentry from 8.9 to 9.1.1. DIS

Shmele 208 Dec 30, 2022
A fork of discord.py

discord.py A modern, easy to use, feature-rich, and async ready API wrapper for Discord written in Python. The Future of discord.py Please read the gi

1 Dec 19, 2021
Make low level API wrapper in fast, easy.

The lowrapper is a library for quickly and easily creating an environment for tapping the API without implementation.

tasuren 1 Oct 25, 2022
A repo containing toolings and software useful for a DevOps Engineer

DevOps-Tooling A repo containing toolings and software useful for a DevOps Engineer (or if you're setting up your Mac from the beginning) Currently se

Mohamed Abukar 45 Dec 12, 2022
A GitHub Actions repo for tracking the dummies sending free money to Alex Jones + co.

A GitHub Actions repo for tracking the dummies sending free money to Alex Jones + co.

Egarok 2 Jul 20, 2022
Discord Token Checker

Discord-Token-Checker Optimizations Asynchronous Fast & Efficient Multi Tasked Proxy support (socks4/socks5/http) Usage Put tasks depending on your PC

scripted 6 May 05, 2022
Raid ToolBox (RTB) is a big toolkit of Spamming/Raiding/Token management tools for discord.

This code is very out of date and not very good, feel free to make it into something better. (we check the github page every 5 years to pulls your PRs

2 Oct 03, 2021
Python wrapper for CoWin API's

Cowin Tracker Python API wrapper for CoWin, India's digital platform launched by the government to help citizens register themselves for the vaccinati

Saiprasad Balasubramanian 43 Jun 11, 2022
Role Based Access Control for Slack-Bolt Applications

Role Based Access Control for Slack-Bolt Apps Role Based Access Control (RBAC) is a term applied to limiting the authorization for a specific operatio

Jeremy Schulman 7 Jan 06, 2022
Wrapper around the UPS API for creating shipping labels and fetching a package's tracking status.

ClassicUPS: A Useful UPS Library ClassicUPS is an Apache2 Licensed wrapper around the UPS API for creating shipping labels and fetching a package's tr

Jay Goel 55 Dec 12, 2022
Unofficial YooMoney API python library

API Yoomoney - unofficial python library This is an unofficial YooMoney API python library. Summary Introduction Features Installation Quick start Acc

Aleksey Korshuk 136 Dec 30, 2022
A Telegram Bot Plays With Words!!!

TheWordzBot âž  I Can Turn Text Into Audio âž  I Can Get Results From Dictionary âž  I Can Make Google Search For You âž  I Can Suggest Strong Passwords For Y

RAVEEN KUMAR 8 Feb 28, 2022