https://github.com/underprotectiondev/blog-saas
Blog
https://github.com/underprotectiondev/blog-saas
Last synced: 8 months ago
JSON representation
Blog
- Host: GitHub
- URL: https://github.com/underprotectiondev/blog-saas
- Owner: UnderprotectionDev
- Created: 2025-01-13T09:39:59.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-20T22:12:42.000Z (over 1 year ago)
- Last Synced: 2025-06-02T17:41:03.870Z (about 1 year ago)
- Language: TypeScript
- Homepage: https://blog-saas-eta.vercel.app
- Size: 5.26 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Blog SaaS Platform 📝
Modern and user-friendly blogging platform built with the latest web technologies.

[](https://nextjs.org/)
[](https://www.typescriptlang.org/)
[](https://kinde.com/)
[](https://zod.dev/)
[](https://conform.guide/)
[](https://www.postgresql.org/)
[](https://www.prisma.io/)
[](https://tailwindcss.com/)
[](https://ui.shadcn.com/)
[](https://uploadthing.com/)
[](https://stripe.com/)
[](https://vercel.com/)
---
## ✨ Features
| Feature | Description |
| --------------------- | ---------------------------------------------------- |
| 🎨 **Modern UI/UX** | Beautiful and intuitive interface using shadcn/ui |
| 🔒 **Authentication** | Secure user authentication with Kinde Auth |
| 📱 **Responsive** | Fully responsive design for all devices |
| ✍️ **Blog Editor** | Rich text editor for creating beautiful blog posts |
| 💳 **Subscriptions** | Premium features with Stripe subscription management |
| 📤 **Image Upload** | Easy image uploads with UploadThing |
| 📊 **Analytics** | Track your blog's performance and reader engagement |
| 🌐 **Custom Domain** | Host your blog on your own domain |
## 🚀 Quick Start
```bash
# Clone the repository
git clone https://github.com/yourusername/blog-saas.git
# Navigate to the project
cd blog-saas
# Install dependencies
npm install
# Set up environment variables
cp .env
# Set up the database
npx prisma generate
npx prisma db push
# Start development server
npm run dev
```
Visit [http://localhost:3000](http://localhost:3000) to see your application
## 🛠️ Tech Stack
Click to expand tech stack details
### Core Framework
- **[Next.js](https://nextjs.org/)** - React framework with App Router
- **[TypeScript](https://www.typescriptlang.org/)** - Type safety and better DX
- **[React](https://reactjs.org/)** - UI library with server components
### Authentication & Payments
- **[Kinde](https://kinde.com/)** - Modern auth solution with social logins
- **[Stripe](https://stripe.com/)** - Subscription management and payments
validation
### Form Management
- **[Zod](https://zod.dev/)** - Runtime type validation
- **[Conform](https://conform.guide/)** - Form handling and
### Database & Storage
- **[PostgreSQL](https://www.postgresql.org/)** - Relational database
- **[Prisma](https://www.prisma.io/)** - Type-safe ORM
- **[UploadThing](https://uploadthing.com/)** - File uploads and image hosting
### UI & Styling
- **[Tailwind CSS](https://tailwindcss.com/)** - Utility-first CSS
- **[shadcn/ui](https://ui.shadcn.com/)** - Re-usable components
- **[Lucide Icons](https://lucide.dev/)** - Beautiful icons
- **[TipTap](https://tiptap.dev/)** - Rich text editor
### Development & Deployment
- **[ESLint](https://eslint.org/)** - Code linting
- **[Prettier](https://prettier.io/)** - Code formatting
- **[Vercel](https://vercel.com)** - Deployment platform
## 📸 Screenshots
### Dashboard View

### Sites View

### Blog View

### Articles View

### Article Creation

### Article Page

### Pricing Plans

### Stripe


## 🔐 Environment Variables
To run this project, you will need to add the following environment variables to your `.env` file:
| Variable | Description |
| -------------------------------- | ------------------------ |
| `KINDE_CLIENT_ID` | Kinde Client ID |
| `KINDE_CLIENT_SECRET` | Kinde Client Secret |
| `KINDE_ISSUER_URL` | Kinde Issuer URL |
| `KINDE_SITE_URL` | Your site URL |
| `KINDE_POST_LOGOUT_REDIRECT_URL` | Post logout redirect URL |
| `KINDE_POST_LOGIN_REDIRECT_URL` | Post login redirect URL |
| `STRIPE_SECRET_KEY` | Stripe Secret Key |
| `STRIPE_PRICE_ID` | Stripe Price ID |
| `STRIPE_WEBHOOK_SECRET` | Stripe Webhook Secret |
| `UPLOADTHING_SECRET` | UploadThing Secret |
| `UPLOADTHING_APP_ID` | UploadThing App ID |
| `DATABASE_URL` | PostgreSQL database URL |
```
KINDE_CLIENT_ID=""
KINDE_CLIENT_SECRET=""
KINDE_ISSUER_URL=""
KINDE_SITE_URL=""
KINDE_POST_LOGOUT_REDIRECT_URL=http://localhost:3000
KINDE_POST_LOGIN_REDIRECT_URL=http://localhost:3000/api/auth/creation
STRIPE_SECRET_KEY=""
STRIPE_PRICE_ID=""
STRIPE_WEBHOOK_SECRET=""
UPLOADTHING_SECRET=""
UPLOADTHING_APP_ID=""
DATABASE_URL=""
```