Skip to content

MoncefDrew/Breaddit

Repository files navigation

📣 Reddit Clone

A full-featured Reddit-style platform built with Next.js, React, Tailwind CSS, Prisma, and MySQL — supporting community creation, real-time interaction, and secure user authentication.

🚀 Features

  • 🔐 Authentication: Secure login and registration using NextAuth.js.
  • 🧵 Subreddit-Style Communities:
    • Create and join communities
    • Post content and interact via comments
    • Upvote/downvote posts and comments
    • Customize personal profiles
  • 🛠 Community Management: Admins can define rules to ensure a safe environment.
  • 📱 Responsive UI: Fully optimized for both desktop and mobile devices using Tailwind CSS.
  • ⚡ Real-Time Updates: Live post and vote updates with Redis caching for performance.

🛠 Tech Stack

  • Frontend: Next.js 14, React, Tailwind CSS
  • Backend: Next.js API Routes, Prisma ORM, MySQL
  • Authentication: NextAuth.js with Google Provider
  • Caching & Realtime: Redis
  • Deployment: Easily deployable on Vercel or your preferred platform

🧑‍💻 Getting Started

  1. Clone the repository
    git clone https://github.com/yourusername/reddit-clone.git
    cd reddit-clone
  2. Install dependencies
    npm install
  3. Setup environment variables

    Create a .env file with the following required credentials:

    • DATABASE_URL from Railway (MySQL)
    • UPLOADTHING_SECRET and UPLOADTHING_APP_ID from UploadThing
    • GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET from your Google OAuth app
    • NEXTAUTH_SECRET for securing NextAuth sessions
    • REDIS_URL for real-time caching
  4. Run the development server
    npm run dev
  5. Open in browser

    Visit http://localhost:3000

📸 Screenshots

Breaddit Screenshot

Breaddit Screenshot

Breaddit Screenshot

Breaddit Screenshot

📚 Documentation

👉 Frontend Features Ready for Implementation

📄 License

MIT License. Feel free to use and customize.

About

A Reddit Clone using Next JS ,React ,Tailwind ,Prisma and Mysql

Topics

Resources

Stars

Watchers

Forks

Contributors