Skip to content

Repository files navigation

📡 SMARTTECH-GUIDE

A modern, full-stack tech blogging & knowledge-sharing platform built with Next.js 15, Prisma, and Tailwind CSS.

Next.js TypeScript Prisma Tailwind CSS License


✨ Features

  • 📝 Blog Management — Create, edit, publish, and categorize posts with rich content
  • 🔐 Admin Authentication — Secure login with NextAuth.js & bcrypt password hashing
  • 🖼️ Cloudinary Media — Cloud-based image uploads and optimization
  • 🗂️ Category System — Organize posts into categories with slugs
  • ⚙️ Site Settings — Dynamic control over hero text, ticker items, footer, and branding
  • 🎞️ Framer Motion — Smooth page transitions and UI animations
  • 📱 Fully Responsive — Mobile-first design across all devices
  • 🌙 Dark Mode Ready — Theming support out of the box

🛠️ Tech Stack

Layer Technology
Framework Next.js 15 (App Router)
Language TypeScript 5
Styling Tailwind CSS v4
Database SQLite (dev) via Prisma ORM
Auth NextAuth.js v4
Media Cloudinary
Animations Framer Motion
Validation Zod
Icons Lucide React

🚀 Getting Started

Prerequisites

  • Node.js >= 18.x
  • npm or yarn

1. Clone the repository

git clone https://github.com/MirazulHasan/SMARTTECH-GUIDE.git
cd SMARTTECH-GUIDE

2. Install dependencies

npm install

3. Configure environment variables

Copy .env.example to .env and fill in your values:

cp .env.example .env
# Auth
NEXTAUTH_SECRET=your_secret_here
NEXTAUTH_URL=http://localhost:3000

# Cloudinary
CLOUDINARY_CLOUD_NAME=your_cloud_name
CLOUDINARY_API_KEY=your_api_key
CLOUDINARY_API_SECRET=your_api_secret

4. Set up the database

npx prisma db push
npx prisma db seed

5. Start the development server

npm run dev

Open http://localhost:3000 in your browser.


📁 Project Structure

smarttech-guide/
├── prisma/
│   ├── schema.prisma      # Database models
│   └── seed.ts            # Seed script
├── src/
│   ├── app/               # Next.js App Router pages & API routes
│   ├── components/        # Reusable UI components
│   └── lib/               # Utility functions & helpers
├── .env.example           # Environment variable template
├── next.config.ts
└── tailwind.config.ts

🗄️ Database Models

  • User — Admin users with role-based access
  • Post — Blog posts with slug, cover image, and publish status
  • Category — Post categories with unique slugs
  • SiteSettings — Global site configuration (singleton)

🔑 Admin Access

After seeding, log in at /admin/login with the credentials defined in prisma/seed.ts.


📦 Scripts

Command Description
npm run dev Start development server
npm run build Build for production
npm run start Start production server
npm run lint Run ESLint
npx prisma studio Open Prisma DB GUI

🤝 Contributing

Contributions are welcome! Please open an issue or submit a pull request.


📄 License

This project is licensed under the MIT License.


Made with ❤️ by Md. Mirazul Hasan

About

Modern full-stack tech blogging platform built with Next.js 15, Prisma, and Tailwind CSS. Features blog management, admin authentication, Cloudinary media uploads, categories, and dynamic site settings.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages