A feature-rich reddit clone built with Typescript, React and SCSS/SASS. Features subreddits, posts, nested comments, profiles, post creation, achievements and much more.
A Reddit Clone built with TypeScript, React and SCSS. Additional to the famous infinite scrolling home page I also implemented subreddits, individual post pages, comments and nested comments, post submission, profile pages and various dropdown menu's, including the search bar and notifications. Users can join and leave subreddits, add/remove them to/from their favorites, can like posts and comments or create some on their own. A detailed feature list can be found at the end of this document.
Live Demo available. Click "Live Demo" to open it.
You can see images of the project in user interaction below. The user starts on the home page, signs up with a new account, selects a subreddit and much more. Detailed descriptions can be found right beneath the images. These images only showcase the most elementary user interactions.
The clone's home page, posts are sorted by "Hot". The user is using the sign up modal to create an account. The user is viewing the r/genshinimpact subreddit page. The user is creating a new post in the r/genshinimpact subreddit, including a picture. The user is viewing the r/movies subreddit page. The user just created their first post in r/movies. The user is viewing their profile page. The user views a post in the r/astronomy subreddit and writes a comment. The user is viewing the r/crypto subreddit page. The user is replying to a comment under a post in r/crypto. The user is viewing the r/wallstreetbets subreddit page, opening two dropdown menu's.
I let Google Lighthouse run over my application to check for it's performance, accessibility, use of best practices and SEO optimization. You can view the results right below this paragraph.
My motivations in building this project was moving on with what I learned about JavaScript and React, jumping into a newer technology - TypeScript, in this case - and working on a big codebase on my own. This project currently consists of just a bit more than 24,000 lines of code, so while still not being a corporate size project, I learned how to structure sizeable codebases effectively. My next endeavour will be working with backends, possibly utilizing Next.js in the process.
Reddit.com: Since this is a clone built for educational purposes only, all rights and credits go to Reddit Inc.
All rights to all concepts, designs, services and ideas in this web app belong to Reddit/Reddit Inc. This is just a clone built with TypeScript for educational purposes to learn the underlying programming language. I am not in any way connected to Reddit and neither is this web app. Neither me nor this web app are affiliated with Reddit. If you are an owner of the copyrighted material, please let me know if you have any issues with this and I'll take the page down immediately.