Skip to content

A Reddit-inspired social media platform built with React & Django Features post/comment voting, GitHub OAuth, and Editor.js integration.

Notifications You must be signed in to change notification settings

Nathaniel81/rabbit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

Rabbit: A Social Media Platform Inspired by Reddit

Django CI/CD

Introduction

Rabbit is a personal project developed to deepen my full-stack skills, inspired by Reddit, where users can join rooms, create posts, and engage in discussions. Built with React, TailwindCSS, Shadcn/ui, Django, and PostgreSQL, it features Redux Toolkit for state management, React Query for data fetching, GitHub OAuth for authentication, EditorJS for rich text creation, infinite scroll, BeautifulSoup for scraping link data, Cloudinary for image hosting, and Redis caching for higher vote differences on posts/comments.

Technology Stack

  • Frontend: React with TypeScript, Tailwind CSS, & Shadcn/ui
  • Backend: Django
  • Database: PostgreSQL

Key Features

  • Post and Comment Voting: Rabbit incorporates a voting system for posts and comments. The content with the highest vote difference is cached and displayed prominently.
  • GitHub OAuth Authentication: Rabbit integrates GitHub OAuth for user authentication, ensuring a secure login process.
  • Post Creation with Editor.js: Rabbit utilizes Editor.js for post creation, providing a rich text editing experience.

Learning Experience

The journey of developing Rabbit was filled with learning opportunities. One of the significant challenges was integrating Editor.js on both the frontend and backend, which enhanced my understanding of rich text editing in web applications.

Building a platform similar to Reddit also provided insights into features like post and comment voting and caching popular content. Implementing GitHub OAuth authentication was another highlight, reinforcing the importance of secure and user-friendly authentication methods.

Stay tuned for more updates as I continue to refine and expand this project!

Get in Touch

I welcome any questions or suggestions. Your feedback is greatly appreciated!

Live Demo

Explore the live version of this project on rabbit-23mo.onrender.com.