When I first started this project, the official desktop Reddit client looked dated, many image and video hosting sites were not supported, you could not infinitely scroll, and it lacked fullsize images like in the mobile experience.
- Authenticating through OAuth2
- Retrieving data from Reddit with JSON and the Reddit API
- Displaying different media formats from different sites
- Linking the client and user to Reddit to upvote and downvote posts.
Key Libraries
Needed a server to circumvent CORS
- Acts a proxy
- Reddit authentication needs to come from a server for Reddit to consider the request legitimate
Key library
- Clone client and server
- Get a Reddit client ID and client secret from Reddit by clicking "create an app" near the bottom of the page and choosing web app. The client ID is immediatly after "web app". To get the secret click "edit" and secret is the first entry.
- In the downloaded reddit_client repository open src/keys.js and change REDDIT_CLIENT_ID to the client ID and REDDIT_CLIENT_SECRET to the secret
- in the reddit_oauth_proxy_server directory run
npm install
- in the reddit_client directory run
npm install
- in the reddit_oauth_proxy_server directory run
npm start
- in the reddit_client directory run
npm start