Feedit is a Reddit Clone application built with modern web technologies. This project aims to replicate the core functionalities of Reddit, allowing users to create posts, comment, and interact with each other.
- Next.js: A React framework for server-side rendering and static site generation.
- React: A JavaScript library for building user interfaces.
- TypeScript: A typed superset of JavaScript that compiles to plain JavaScript.
- Prisma: An ORM for Node.js and TypeScript.
- Tailwind CSS: A utility-first CSS framework for rapid UI development.
- Radix UI: A set of accessible, unstyled components for building high-quality design systems and web apps.
- React Hook Form: A library for managing form state in React.
- Axios: A promise-based HTTP client for the browser and Node.js.
- Zod: A TypeScript-first schema declaration and validation library.
- NextAuth.js: Authentication for Next.js applications.
- Upstash Redis: A serverless Redis database for caching and real-time data.
- UploadThing: A library for handling file uploads in React.
- Editor.js: A block-styled editor for rich text content.
- Lucide Icons: A library of beautiful & consistent icon sets.
- Date-fns: A modern JavaScript date utility library.
- Sharp: A high-performance image processing library.
- Node.js (v14 or higher)
- npm or yarn
-
Clone the repository:
git clone https://github.com/your-username/feedit-app.git cd feedit-app
-
Install dependencies:
npm install # or yarn install
-
Set up environment variables:
- Copy
.env.example
to.env
and fill in the required values.
- Copy
-
Generate Prisma client:
npx prisma generate
-
Development mode:
npm run dev # or yarn dev
-
Production mode:
npm run build npm start # or yarn build yarn start
- To lint the codebase, run:
npm run lint # or yarn lint
Contributions are welcome! Please open an issue or submit a pull request for any changes.
This project is licensed under the MIT License