A modern, full-stack tech blogging & knowledge-sharing platform built with Next.js 15, Prisma, and Tailwind CSS.
- 📝 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
| 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 |
- Node.js >= 18.x
- npm or yarn
git clone https://github.com/MirazulHasan/SMARTTECH-GUIDE.git
cd SMARTTECH-GUIDEnpm installCopy .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_secretnpx prisma db push
npx prisma db seednpm run devOpen http://localhost:3000 in your browser.
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
- 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)
After seeding, log in at /admin/login with the credentials defined in prisma/seed.ts.
| 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 |
Contributions are welcome! Please open an issue or submit a pull request.
This project is licensed under the MIT License.
Made with ❤️ by Md. Mirazul Hasan