Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/peterkibuchi/shreddit
Modern fullstack Reddit clone, built with Next.js & Tailwind and deployed on Vercel.
https://github.com/peterkibuchi/shreddit
learn next-auth nextjs prisma reddit-clone shadcn-ui t3-stack tailwindcss uploadthing upstash zod
Last synced: 29 days ago
JSON representation
Modern fullstack Reddit clone, built with Next.js & Tailwind and deployed on Vercel.
- Host: GitHub
- URL: https://github.com/peterkibuchi/shreddit
- Owner: peterkibuchi
- License: mit
- Created: 2023-06-23T02:18:42.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-09-26T00:26:14.000Z (about 1 month ago)
- Last Synced: 2024-09-27T12:42:42.530Z (about 1 month ago)
- Topics: learn, next-auth, nextjs, prisma, reddit-clone, shadcn-ui, t3-stack, tailwindcss, uploadthing, upstash, zod
- Language: TypeScript
- Homepage: https://shreddit.vercel.app
- Size: 1.61 MB
- Stars: 46
- Watchers: 1
- Forks: 13
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Shreddit
> Modern fullstack Reddit clone, built with Next.js & Tailwind and deployed on Vercel.
## Table of Contents
- [Technologies Used](#technologies-used)
- [Features](#features)
- [Meta-Features](#meta-features)
- [Quickstart](#quickstart)
- [Project Status](#project-status)
- [Acknowledgements](#acknowledgements)
- [License](#license)## Technologies Used
- React 18
- Next.js 13
- NextAuth.js
- Prisma
- Shadcn UI
- Tailwind CSS
- TypeScript
- UploadThing## Features
- Infinite scrolling for loading posts dynamically
- A beautiful and highly functional post editor
- Beautiful UI powered by Shadcn UI
- Light and Dark modes
- Authentication using NextAuth & GitHub
- Custom feed for authenticated users
- Image uploads (with UploadThing) & link previews
- Full comment functionality with nested replies
- ... and much more## Meta-Features
- Next.js `/app` dir
- React Client and Server Components
- Metadata configuration for improved SEO and web shareability
- Data fetching and mutation with React Query
- Graceful loading states and optimistic updates for a great UX
- Advanced caching with Upstash Redis
- Schema declarations and validations with Zod
- Typesafe code and best practices made possible by TypeScript, ESLint and Prettier
- Automated `format`, `lint` and `typecheck` CI steps with GitHub Actions
- ... and much more## Quickstart
To run it locally, follow the steps below:
1. Clone repository and install the dependencies:
```bash
# Clone repository
git clone [email protected]:peterkibuchi/shreddit.git# Install dependencies
pnpm i
```2. Copy `.env.example` to `.env` and update the variables.
```bash
cp .env.example .env
```3. Sync the Prisma schema with your database
```bash
pnpm prisma db push
```4. Start the development server:
```bash
pnpm dev
```## Project Status
Project is: _complete_.
## Acknowledgements
- This is a [T3 Stack](https://create.t3.gg) project bootstrapped with `create-t3-app`.
- Many thanks to [Josh](https://www.youtube.com/@joshtriedcoding) for inspiring this project.## License
This project is open source and available under the [MIT License](./LICENSE).