Where Developers Build, Share, and Grow.
- Frontend: Next.js App Router (15), React 19, TypeScript, TailwindCSS
- Backend: Next.js API Routes, Prisma ORM, PostgreSQL (via Neon)
- Authentication: Custom OTP login, session cookies, bcrypt
- UI & Styling: TailwindCSS, ShadCN UI, Lucide Icons, Radix UI
- State Management: Redux Toolkit
- Email: Resend + React Email
- Notifications: Sonner
- Database Hosting: Neon
├── app/
│ ├── api/ # API routes (posts, auth, session, vote)
│ ├── feed/ # Feed and post detail pages
│ └── layout.tsx # App shell with theme provider
│
├── components/
│ ├── common/ # Reusable UI components (Navbar, Skeletons)
│ ├── comments/ # Threaded comments (CommentsThread.tsx)
│ └── ui/ # ShadCN UI components (Button, Input, etc.)
│
├── lib/
│ ├── prisma.ts # Prisma client
│ └── session.ts # Cookie/session helpers
│
├── prisma/
│ └── schema.prisma # Database schema
│
├── public/ # Static assets
├── styles/ # Tailwind setup
└── types/ # Shared TypeScript types
Clone the repository and install dependencies:
git clone https://github.com/your-username/devbuzz
cd devbuzz
npm install
To start the development server:
npm run dev
# or yarn / pnpm / bun
Open http://localhost:3000 to view it in your browser.
Create a PostgreSQL database using Neon and configure your .env
file:
DATABASE_URL="postgresql://<your-username>:<your-password>@<your-host>/<your-db>?sslmode=require"
Then push the Prisma schema:
npx prisma db push
npx prisma generate
- OTP login system using
/api/auth/send-otp
and/api/auth/verify-otp
- OTPs are hashed with bcrypt
- Session cookies are stored in PostgreSQL
- Session protection across pages and APIs
Also set:
JWT_SECRET="<your-jwt-secret>"
- Uses Resend to send OTPs
- Uses
react-email
to render transactional email content
RESEND_API_KEY="<your-resend-api-key>"
npm run dev # Start dev server (Turbopack)
npm run build # Build for production
npm run lint # Lint the code
- OTP authentication with secure session cookies
- Post creation and threaded comment replies
- Voting system (upvote/downvote once per user)
- Inline reply forms with deep nesting
- Toast feedback with Sonner
- Typed APIs and frontend state
- Dark mode support with
next-themes
- Tailwind + ShadCN UI + Lucide Icons
Feed view with posts and voting

User activity and contribution history

Simple editor with title + content fields

Shows comments and replies with voting

Enter email to receive OTP

Enter your one-time passcode to log in
