A modern social media platform built with Next.js and Go, featuring real-time messaging, dark mode, and a clean UI.
Live: Demo
- π Authentication with NextAuth.js and JWT
- π Dark/Light mode theming
- π¬ Real-time chat messaging
- 𧡠Thread creation and interactions
- π Like/Unlike functionality
- π Real-time notifications
- π₯ User profiles and following system
- π€ Community features // todo
- π± Responsive design
- π User search functionality // todo
- πΌοΈ Image upload support // todo
- π WebSocket integration
- βοΈ Next.js 14 (App Router)
- π¨ Tailwind CSS
- π Redux Toolkit
- π Shadcn/ui Components
- π£ React Hook Form
- β¨ TypeScript
- π NextAuth.js
- π WebSocket (react-use-websocket)
- π date-fns
- π― Zod Validation
- π Go
- π― Gin Framework
- ποΈ PostgreSQL
- π JWT Authentication
- π GORM
- π WebSocket
- π bcrypt
First, run the development server:
Frontend
cd frontend
npm install
npm run dev
Backend
cd backend
go mod download
go run cmd/app/main.go
Open http://localhost:3000 with your browser to see the result.
Create a .env
file in the frontend directory with the following variables:
env NEXTAUTH_URL=http://localhost:3000 NEXTAUTH_SECRET=your-secret-key BACKEND_BASE_URL=http://localhost:8080
Create a .env
file in the backend directory:
env DB_HOST=localhost DB_USER=your-db-user DB_PASSWORD=your-db-password DB_NAME=threadly DB_PORT=5432 JWT_SECRET=your-jwt-secret
To learn more about the technologies used: