A full-stack web application built using Next.js (TypeScript), Prisma, NextAuth (Google OAuth), Tailwind CSS, and Docker — allowing users to:
- 📝 Add their own posts
- 💬 Add replies to existing posts
- 🔼 Upvote posts
- 🔐 Authenticate securely via Google Login
Deployed on Vercel.
| Category | Technology |
|---|---|
| Frontend | Next.js 16, TypeScript, React, Tailwind CSS |
| Backend | Next.js API Routes, Prisma ORM, PostgreSQL (Neon DB) |
| Auth | NextAuth.js (Google OAuth) |
| Deployment | Vercel |
| Containerization | Docker |
✅ Google Authentication
- Secure login using Google OAuth via NextAuth.
✅ Create Posts
- Users can submit posts with a username and content.
✅ Add Replies
- Add replies under any post dynamically.
✅ Upvote System
- Each post can be upvoted to indicate popularity.
✅ Dynamic Rendering
- Posts and replies update in real-time without refreshing.
✅ Responsive UI
- Styled using Tailwind CSS with a clean modern look.
app/ ├── api/ │ ├── auth/ │ │ └── [...nextauth]/ │ │ └── route.ts # Google OAuth via NextAuth │ └── posts/ │ ├── [postId]/ │ │ ├── replies/ │ │ │ └── route.ts # Reply CRUD API │ │ └── upvotes/ │ │ └── route.ts # Upvote API │ └── route.ts # Post CRUD API ├── lib/ │ └── db.ts # Prisma Client setup ├── posts/ │ └── page.tsx # Frontend for posts & replies └── globals.css # Tailwind CSS styles