Skip to content

Abiggj/Re-dot

Repository files navigation

Re-Dot

Introduction

Re-dot is an innovative application that merges the functionalities of Reddit and Tinder to enhance user engagement. With Re-dot, users can swipe through Reddit posts, upvote or downvote them, and engage with the content more interactively. This unique approach aims to make content discovery and interaction more engaging and enjoyable.

Features

  • Swipe Interface: Users can swipe through Reddit posts similar to the Tinder app.
  • Upvote and Downvote: Interact with posts by upvoting or downvoting.
  • Commenting: Users can comment on posts directly from the app.
  • Sort Posts: Sort posts by different criteria such as Hot, New, Rising, and Controversial.
  • User Information: View information about the post author and subreddit.
  • Image Display: Display images from posts seamlessly within the app.

Prerequisites

  • Python 3.x
  • PyQt5
  • PRAW (Python Reddit API Wrapper)
  • Cryptography
  • Selenium
  • Requests

Installation

  1. Clone the repository:

    git clone https://github.com/Abiggj/Re-dot.git
    cd Re-dot
  2. Install the required Python packages:

    pip install -r requirements.txt
  3. Ensure you have Chrome installed and download the ChromeDriver from here.

Usage

  1. Set up your Reddit API credentials (client_id, client_secret, user_agent, redirect_uri) in the AUTH_FILES/CLIENT.txt file, encrypted using a key stored in AUTH_FILES/KEY.txt.

  2. Run the application:

    python INITIALIZE.py

Code Structure

  • initialise.py: Entry point of the application, initializing the Reddit object and the UI.
  • Feed.py: Manages the Reddit feed, including fetching and sorting posts.
  • Authentication.py: Handles user authentication with Reddit.
  • Redot_ui.py: Contains the UI class for the application.
  • AUTH_FILES/: Directory containing encrypted credentials and tokens.

UI Overview

The user interface is built using PyQt5 and contains the following elements:

  • Main Window: The primary window of the application.
  • Image Display: Displays the image associated with the Reddit post.
  • Title: Shows the title of the post.
  • Upvote and Downvote Buttons: Allows users to upvote or downvote the post.
  • Comment Button: Enables users to comment on the post.
  • Score Display: Shows the current score of the post.
  • Comments Display: Shows the number of comments on the post.
  • Subreddit Name and Author: Displays the subreddit and author information.

Event Handling

  • Upvote Event: Triggered when the upvote button is clicked.
  • Downvote Event: Triggered when the downvote button is clicked.
  • Comment Event: Triggered when the comment button is clicked.
  • Sort Change Event: Triggered when the sorting criteria is changed.

Contributing

We welcome contributions!

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgements

  • PRAW for providing the Python Reddit API Wrapper.
  • PyQt5 for the UI components.
  • Cryptography for secure credential storage.
  • Selenium for automated browser control.

About

Reddit app for viewing feeds, posts and submissions. Works as a combination of TInder and Reddit.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages