/reddit-clone

A simple reddit clone made with T3

Primary LanguageTypeScript

👽 Reddit Clone

Simple Reddit clone.

Live demo 👉 Reddit-clone-nine-xi

Dev live demo 👉 Reddit-clone-dev

Screenshots

Home Comments Responsive Dark mode
image image image image

📝 Features

  • Public post reading
  • Post creation
  • Nested commentary system (with accordion)
  • Voting system
  • Dark mode
  • Rate limiter
  • User Signs
  • Responsive design
  • Post Edition/Deletion
  • Full Typesafe

🛠 How to start

To be able to run this project locally, you will have to follow a few steps:

Environments configuration

This app needs some .env config props, make you sure to provide:

  • DATABASE_URL: The live demo is using Postgres hosted on Supabase. You're free to use any BD you'll prefer, just make sure to set the correct provide in your prisma.schema
  • DIRECT_URL: Used for migrations. You can remove it if you plan to use another provider. (make sure to remove it in prisma.schema).
  • NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY
  • CLERK_SECRET_KEY
  • UPSTASH_REDIS_REST_URL (new): Used for rate limiter, available on your console.upstash.com/redis/
  • UPSTASH_REDIS_REST_TOKEN (new)

After the above is done, you can proceed with the installation and the application launch:

# Install dependency
pnpm install

# Launch the project in dev mode
pnpm run dev

💡 Note: This project is using pnpm, you are free to use any packages manager that will suite you. Just Make sure to have the latest NodeJS version installed!

🙌 Contribution

Any kind of contribution will be gratefully appreciated. Feel free to raise an issue 👈

👀 Others

This is a T3 Stack project bootstrapped with create-t3-app with shadcn for commponents and Clerk for Authentication.