/breadit

A Reddit like application made using Nextjs, React, TypeScript, & Prisma

Primary LanguageTypeScript

Demo - Live

Breadit Demo

Breadit

Breadit is a modern and feature-rich Digital Social Media Like Platform built with TypeScript, React, Tailwind CSS, Nextjs, Shadcn UI, Primsa, NextAuth, & Sql Database Hosted using - Vercel

Features

  • Infinite Scrolling: Seamlessly loads more posts as you scroll, providing a smooth browsing experience.
  • User Authentication: Secure authentication using NextAuth with Google integration, ensuring user data privacy.
  • Personalized Feeds: Custom feeds tailored for authenticated users, displaying the most relevant content.
  • Advanced Caching: Utilizes Upstash Redis for efficient caching, enhancing performance and scalability.
  • Optimistic UI Updates: Implements optimistic updates for instant feedback, ensuring a responsive user experience.
  • Modern Data Fetching: Employs React-Query for efficient and effective data fetching and state management.
  • Rich Text Editor: A beautiful and highly functional post editor with support for images and links.
  • Media Support: Facilitates image uploads and provides previews for links, enriching the content creation process.
  • Comprehensive Comment System: Supports full comment functionality with nested replies, promoting interactive discussions.
  • ... and much more!

Getting Started

  1. Environment Setup:

    • Clone the repository: git clone
    • Install dependencies: npm install
    • Set up the .env file with the necessary environment variables (refer to .env.example)
  2. Development Server:

    • Start the development server: npm run dev
    • Open http://localhost:3000 in your browser to see the application.
  3. Building for Production:

    • Build the production-ready application: npm run build
    • Start the production server: npm start

Contributing

Contributions are welcome! If you find any issues or have suggestions for improvements, please open an issue or submit a pull request.

License

This project is licensed under the MIT License.

Acknowledgements