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 ┃ ┃ ┣ [postId]/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
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out our Next.js deployment documentation for more details.