BlogCraft is a full-stack Medium-style blogging application that allows users to create, publish, and manage blog posts. Built using modern technologies like React, Hono, and TypeScript, the platform provides a clean, responsive UI and a fast backend API with JWT authentication and PostgreSQL support.
🌐 Live Site: https://blogging-website-b0yg.onrender.com/
Screen.Recording.2025-05-26.223038.mp4
- 📝 Create, edit, and delete blog posts
- 🔐 Secure login and registration
- 🎯 JWT authentication with cookie-based sessions
- 🔄 Real-time rendering of newly published blogs
- 📱 Fully responsive UI
- 🔍 Search and filter (planned)
- ❤️ Like/follow features (coming soon)
Frontend:
- React
- TypeScript
- Tailwind CSS
- Recoil (state management)
- Own custom NPM module
Backend:
- Hono (Cloudflare Workers)
- Prisma ORM
- PostgreSQL (Accelerate)
- JWT Authentication
- Cookie-based sessions
- Node.js & npm
- Cloudflare account
- Wrangler CLI
- PostgreSQL database
- Clone the repo:
git clone https://github.com/your-username/blogcraft.git
- Install and run frontend:
cd frontend
npm install
npm run dev
- Move to backend:
cd backend
npm install
-
Create a Cloudflare account: https://cloudflare.com
-
Install Wrangler:
npm install -g wrangler
- Create two files in the backend folder:
.envwrangler.toml
Example .env:
DATABASE_URL=your_postgres_db_url
Example wrangler.toml:
name = "blogcraft-backend"
type = "javascript"
account_id = "your_cloudflare_account_id"
workers_dev = true
compatibility_date = "2024-05-26"
[vars]
ACCELERATE_DB_URL = "your_accelerate_db_url"
JWT_SECRET = "your_jwt_secret"
COOKIE_SECRET = "your_cookie_secret"
- Run database migration:
npx prisma migrate dev
- Start backend server locally:
wrangler dev
Contributions are welcome!