Skip to content

Alisha-21-cloud/TechBlog

Repository files navigation

📝 Production-Ready Blog Platform


📌 Overview

A production-grade blog platform built with Next.js App Router, following real-world engineering patterns rather than demo-level shortcuts.
The project emphasizes scalability, performance, clean architecture, and maintainability, making it suitable for real deployments and long-term growth.


🚀 Key Features

  • Next.js App Router with modern routing patterns
  • 🧠 Prisma + PostgreSQL for a robust, production-ready database layer
  • 🔐 Authentication using Google & GitHub
  • ✍️ Rich Text Editor for writing and editing posts
  • 🖼 Image Uploads powered by Cloudinary
  • 🔎 Search with Debouncing for better UX and performance
  • 📄 Cursor-Based Pagination for scalable data loading
  • 🧵 React Query for efficient client-side data fetching & mutations
  • 🚫 Manual Cache Control to avoid stale data
  • 🎨 Modern UI built with Tailwind CSS
  • 🌙 Dark Mode Friendly design
  • 🧱 Clean Folder Structure with reusable components

🛠 Tech Stack

Category Technology
Framework Next.js (App Router)
Language TypeScript
Styling Tailwind CSS
Database PostgreSQL
ORM Prisma
Authentication Better Auth (Google & GitHub)
Data Fetching React Query
State Management Zustand
Image Storage Cloudinary
Editor Jodit
Deployment Ready Yes

📂 Project Structure

src/
├── app/
│   ├── api/            # API routes
│   ├── articles/       # Blog pages
│   └── write/          # Create & edit posts
├── components/
│   ├── modal/
│   ├── posts/
│   └── ui/
├── custom-hooks/
├── services/
├── store/
├── lib/
└── types/

⚙️ Setup & Installation

1️⃣ Clone the repository

git clone <your-repo-url>
cd <project-folder>

2️⃣ Install dependencies

pnpm install
# or
npm install

3️⃣ Environment variables

Create a .env file and configure:

DATABASE_URL=
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
GITHUB_CLIENT_ID=
GITHUB_CLIENT_SECRET=
CLOUDINARY_CLOUD_NAME=
CLOUDINARY_API_KEY=
CLOUDINARY_API_SECRET=

4️⃣ Database setup

npx prisma migrate dev
npx prisma generate

5️⃣ Run the development server

pnpm dev
# or
npm run dev

🧪 Production Principles Followed

  • Scalable pagination (cursor-based)
  • Optimized client-server data flow
  • Explicit cache control
  • Modular service layers
  • Strong typing across the codebase
  • Clean separation of concerns

📄 License

This project is licensed under the MIT License.


👤 Author

Syed Ahmad Alisha
Built as a personal, production-focused project to demonstrate real-world full-stack engineering practices.

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages