A modern full-stack developer portfolio + admin CMS built with Next.js 15 & TypeScript.
Showcases projects, skills, animations, GitHub analytics, and includes a secure admin panel with Prisma/PostgreSQL, audit logging, bulk operations, CSV export, and AI-powered tooling.
🔗 Live Site: greenhacker.tech
- Frameworks: Next.js 15 (App Router), React 18, TypeScript
- Styling & UI: Tailwind CSS, Radix UI, shadcn-style, Styled-components
- Animations/3D: Framer Motion, GSAP, Three.js, Cal-Heatmap, Embla Carousel
- API: Next.js Route Handlers (API routes)
- Auth: NextAuth (credentials, RBAC)
- Validation: zod
- Database & ORM: Prisma + PostgreSQL (Neon recommended)
- GitHub REST + GraphQL APIs (profile, repos, contribution calendar)
- Google Generative AI (Gemini) for chatbot & content replies
- Nodemailer (SMTP) for email
- Google Analytics (optional)
- Hosting: Vercel & Netlify (with optimized configs)
- Tooling: ESLint, TypeScript, Tailwind CLI, PostCSS, tsx
- Infra: Prisma Accelerate, caching, retry strategies
- Responsive, accessible UI (light/dark themes)
- Animated hero, GSAP/Three.js interactions, 3D card effects
- SEO-optimized: sitemap, RSS feed, structured data, OpenGraph cards
- GitHub analytics (heatmap, stats, AI insights)
- Multiple chatbot experiences (standard + CLI-style)
- Secure admin area with RBAC (NextAuth middleware)
- CRUD for Skills, Projects, Education, Experience, Media, Settings, Contacts
- Bulk operations + CSV export
- Audit logging for all changes
- AI-assisted tooling (contact replies, content helpers)
- Public:
/api/skills
,/api/projects
- Admin:
/api/admin/**
(CRUD with zod + audit logs) - AI:
/api/ai/**
(chat, contact reply, GitHub insights)
src/
├── app/ # App Router pages
│ ├── admin/ # Admin dashboard
│ ├── api/ # API routes
│ └── layout.tsx # Global layout
├── components/ # UI sections, admin tables, SEO, 3D, etc.
├── services/ # GitHub, Gemini, email, utils
├── lib/ # Auth + Prisma client
├── prisma/ # schema.prisma, seed
├── styles/ # Tailwind + global styles
└── utils/ # Helpers, hooks, types
- Node.js 18+ (20 recommended)
- PostgreSQL (Neon recommended)
# Clone repo & install deps
npm install
# Setup env
cp .env.example .env
# Generate Prisma client & push schema
npm run db:generate
npm run db:push
# (Optional) Seed data / admin
npm run db:seed
First-run admin bootstrap:
Use DEFAULT_ADMIN_EMAIL
and DEFAULT_ADMIN_PASSWORD
(configured in .env
).
npm run dev
Visit → http://localhost:3000
npm run build
npm start
- Build command:
npm run build
- Env vars:
DATABASE_URL, NEXTAUTH_SECRET, GEMINI_API_KEY, GITHUB_TOKEN, SMTP_*
- Build command:
npm run build:netlify
- Post-deploy:
npx prisma db push npx prisma generate
- 🌐 Website: greenhacker.tech
- 📧 Email: [email protected]
- 💻 GitHub: GreenHacker420
- 🔗 LinkedIn: Harsh Hirawat
- 🐦 Twitter: @greenhacker