https://github.com/manjurulhoque/threadly
A real-time discussion platform inspired by Threads, built with Golang and Next.js. Enables users to create, engage with, and manage threaded conversations seamlessly.
https://github.com/manjurulhoque/threadly
gin gin-framework gin-gonic golang nextjs
Last synced: 3 months ago
JSON representation
A real-time discussion platform inspired by Threads, built with Golang and Next.js. Enables users to create, engage with, and manage threaded conversations seamlessly.
- Host: GitHub
- URL: https://github.com/manjurulhoque/threadly
- Owner: manjurulhoque
- Created: 2024-10-28T18:35:42.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-03-12T18:56:07.000Z (over 1 year ago)
- Last Synced: 2025-04-08T08:52:37.854Z (about 1 year ago)
- Topics: gin, gin-framework, gin-gonic, golang, nextjs
- Language: Go
- Homepage:
- Size: 32.1 MB
- Stars: 36
- Watchers: 1
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Threadly
A modern social media platform built with Next.js and Go, featuring real-time messaging, dark mode, and a clean UI.
Live: [Demo](http://threadly.manjurulhoque.com/)
## Features
- ๐ 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
## Preview
### Home Page

### Profile Page

### Single thread with comments Page

### Notifications Page

### Real time chat Page

## Tech Stack
### Frontend
- โ๏ธ 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
### Backend
- ๐ Go
- ๐ฏ Gin Framework
- ๐๏ธ PostgreSQL
- ๐ JWT Authentication
- ๐ GORM
- ๐ WebSocket
- ๐ bcrypt
## Getting Started
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](http://localhost:3000) with your browser to see the result.
## Environment Setup
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
## Learn More
To learn more about the technologies used:
- [Next.js Documentation](https://nextjs.org/docs)
- [Tailwind CSS](https://tailwindcss.com/docs)
- [Go Documentation](https://golang.org/doc/)
- [Gin Framework](https://gin-gonic.com/docs/)