Skip to content

MoSaif00/KitabaHut

Repository files navigation

KitabaHut

A user-friendly blog platform where users can create personal blogs and publish articles. Each blog is public, and users can share their articles with the world.

Dashboard

Blog Site

Features

  • User Authentication with Clerk
  • Create and manage blogs with multiple articles
  • Publicly viewable blogs for sharing
  • Responsive UI with TailwindCSS
  • Secure file uploads using Uploadthing
  • Form validation with Zod
  • Backend powered by Supabase and Prisma

Tech Stack

  • Frontend: Next.js, TailwindCSS, Shadcn UI, React
  • Authentication: Clerk
  • Database: Supabase, Prisma
  • File Uploads: Uploadthing
  • Validation: Zod

Getting Started

1. Clone the repository

git clone https://github.com/MoSaif00/KitabaHut.git

2. Install dependencies

cd KitabaHut-master
npm install --legacy-peer-deps #needed for nextjs15 and react

3. Set up environment variables

Create a .env.local file and add the following:

# Clerk
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=<your-clerk-publishable-key>
CLERK_SECRET_KEY=<your-clerk-secret-key>
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/dashboard
NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/dashboard
WEBHOOK_SECRET=<your-clerk-webhook-secret> # for user.created and user.updated


# Supabase
DATABASE_URL=<your-database-url>
DIRECT_URL=<your-direct-url>

# Upload Thing
UPLOADTHING_TOKEN=<your-uploadthing-token>

# Stripe
STRIPE_SECRET_KEY=<your-stripe-secret-key>
STRIPE_PRICE_ID=<your-stripe-price-id>
STRIPE_WEBHOOK_SECRET=<your-stripe-webhook-secret>

4. Run Prisma for database

npx prisma init  #Initiate Prisma
prisma db push   #Push Database Schemas

5. Run the development server

npm run dev

About

Blogging Platform for Creators & Startups

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published