Skip to content

seva-luchianov/RRE-ChromeExtension

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

83 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Running the Extension and the Server

If you're having any trouble contact either Seva ([email protected]) or Jon ([email protected])

Setting up the Server and Database:

  1. "npm install" all node modules ( if you don't have node or node project manager, then install node and then npm )
  2. Clone the server from the project repo here: https://github.com/JonathanLigh/RRE
  3. From the command line, navigate into the project and run "npm start" to build the server, then terminate the process.
  4. Populate the database:
  5. If you don't have mongoDB installed and running: 1. Install mongodb here: https://docs.mongodb.com/getting-started/shell/installation/ 2. Run "mongod" in a separate terminal window and leave it running for the rest of using this project (You could also configure mongodb to run as a background process on startup, but that's extra work)
  6. In a terminal window set the current working directory to the RRE project folder
  7. Next you will have to run the crawler. It takes many hours for it to parse enough subreddits such that the recommendations will be reasonable. Therefore, it is best run overnight.
  8. Run the crawler by trying "node ./server/crawler/crawler.js crawl 10" ( If you have hours to populate the database, then run with 100 instead of 10. This value is the batch size of each query ). 1. If running on linux and the above command does not correctly execute the crawler process, try starting it with

"nodejs ./server/crawler/crawler.js crawl 10"

  1. You can check the amount of entries in the mongoDB by opening another terminal window, opening the mongo interface, running "use RREdb", and running "db.subreddits.count()".
  2. Terminate the crawler process by sending a Ctrl C kill signal in the terminal running the crawler process after a sufficient amount of subreddits have been parsed. (4000 subreddits takes about (5-20) hours and is a sufficient quantity to at least get half decent recommendations).
  3. Run "npm start" and move to the next section.

Building the Front End:

  1. Clone the front end project from this repo: https://github.com/Crazychicken563/RRE-ChromeExtension
  2. Run "npm install"
  3. Run "npm start" to build the project into the "./build: folder
  4. Open Chrome or Chromium. This extension will NOT work in any other browser.
  5. Open the extensions management view through either the chrome settings menu or navigating to "chrome://extensions/" in the search bar.
  6. Install the extension. Because it is not uploaded to the chrome store, you must install it locally from the file system.
  7. Check the Developer mode checkbox
  8. Press load unpacked extensions
  9. Select the dev folder inside of RRE-ChromeExtension/build/
  10. Using the extension:
  11. Navigate your browser to reddit.
  12. The extension will automatically open a first time setup view.

First Time Setup/General Use:

  1. First Time Setup:
  2. The slider adjusts how many tags you have to work with vs how relevant they are. These tags are selected based on your current subscriptions. After First time setup is closed the slider will not appear again.
  3. Settings:
  4. Max Recommendations: 1. This regulates how many recommendations are are displayed at once on the extension interface. 2. The value can be modified by typing in the textbox and pressing enter to save. The value will not be saved if enter is not pressed.
  5. Tag Dropdown: 1. Add new tags by clicking from the list of tags in the dropdown. You cannot have duplicate tags and will be notified if attempting to add a duplicate.
  6. Tag List: 1. Remove tags from the list by clicking the x button on their right side. Tags can be added back by selecting them from the dropdown above the list.
  7. Blacklist Input: 1. You can manually add an entry to the blacklist by tying in the name of the subreddit into the textbox. The "/r/" and "/" are automatically appended to the beginning and end of the name respectively so don't bother adding those. Press enter to add to the blacklist.
  8. Blacklist: 1. Remove blacklisted subreddits from the list by clicking the x button on their right side.
  9. Exit the settings window to begin the receiving recommendations.
  10. Main UI:
  11. Navigating to a recommended subreddit: 1. Simply click the blue link in the list recommendations to navigate to that subreddit.
  12. Remove a recommendation 1. If you aren't interested in the recommendation, click the x next to it and it will be added to the blacklist and removed from the recommendations.
  13. Accessing Settings: 1. Click the setting button in the top right of the UI to reopen the settings view. Instructions for settings are above.
  14. We hope you enjoy using our extension! May your recommendations be relevant and your load time low.

Running Tests

  1. For either repository, navigate to the root folder of the project in a terminal window and run npm test to execute all the tests with code coverage output.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published