An open-source, modern forum platform built with Next.js. Threadly provides a clean, intuitive interface for community discussions with real-time updates and robust moderation tools.
- 💬 Rich text discussions with markdown support
- 👥 User profiles and reputation system
- 🔐 Secure authentication with NextAuth.js
- 🎨 Modern, responsive UI with dark mode support
- 📱 Mobile-first design
- 🔍 Advanced search functionality
- 🏷️ Topic categorization and tagging
- ⚡ Real-time updates
- 🛡️ Moderation tools and user roles
- 📊 Analytics and insights
- Next.js 15 - React framework
- Prisma - Database ORM
- PostgreSQL - Database
- NextAuth.js - Authentication
- Redux Toolkit - State management
- Radix UI - UI components
- Tailwind CSS - Styling
- TypeScript - Type safety
- Node.js 18+
- npm, yarn, pnpm, or bun
- PostgreSQL database
- Clone the repository:
git clone https://github.com/yourusername/threadly.git
cd threadly- Install dependencies:
npm install
# or
yarn install
# or
pnpm install
# or
bun install- Set up your environment variables:
cp .env.example .env.localEdit .env.local with your configuration:
DATABASE_URL="postgresql://user:password@localhost:5432/threadly"
NEXTAUTH_SECRET="your-secret"
NEXTAUTH_URL="http://localhost:3000"- Set up the database:
npm run prisma:generate
npm run prisma:push- Run the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun devOpen http://localhost:3000 with your browser to see the result.
npm run dev- Start development servernpm run build- Build for productionnpm run start- Start production servernpm run lint- Run ESLintnpm run prisma:studio- Open Prisma Studionpm run prisma:generate- Generate Prisma clientnpm run prisma:push- Push database schema changes
src/
├── app/ # Next.js app directory
│ ├── api/ # API routes
│ ├── create/ # Post creation pages
│ └── home/ # Home and forum pages
├── components/ # Reusable UI components
├── lib/ # Utility functions and configurations
├── prisma/ # Database schema and migrations
└── store/ # Redux store and slices
We welcome contributions! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Thanks to all contributors who have helped shape this project
- Inspired by modern forum platforms and community needs
To learn more about Next.js, take a look at the following resources:
- Next.js Documentation - learn about Next.js features and API.
- Learn Next.js - an interactive Next.js tutorial.
You can check out the Next.js GitHub repository - your feedback and contributions are welcome!
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.