Skip to content

shahmedme/threadly

Repository files navigation

Threadly

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.

🌟 Features

  • 💬 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

🛠️ Tech Stack

🚀 Getting Started

Prerequisites

  • Node.js 18+
  • npm, yarn, pnpm, or bun
  • PostgreSQL database

Installation

  1. Clone the repository:
git clone https://github.com/yourusername/threadly.git
cd threadly
  1. Install dependencies:
npm install
# or
yarn install
# or
pnpm install
# or
bun install
  1. Set up your environment variables:
cp .env.example .env.local

Edit .env.local with your configuration:

DATABASE_URL="postgresql://user:password@localhost:5432/threadly"
NEXTAUTH_SECRET="your-secret"
NEXTAUTH_URL="http://localhost:3000"
  1. Set up the database:
npm run prisma:generate
npm run prisma:push
  1. Run the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev

Open http://localhost:3000 with your browser to see the result.

💻 Development

  • npm run dev - Start development server
  • npm run build - Build for production
  • npm run start - Start production server
  • npm run lint - Run ESLint
  • npm run prisma:studio - Open Prisma Studio
  • npm run prisma:generate - Generate Prisma client
  • npm run prisma:push - Push database schema changes

📁 Project Structure

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

🤝 Contributing

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.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

  • Thanks to all contributors who have helped shape this project
  • Inspired by modern forum platforms and community needs

Learn More

To learn more about Next.js, take a look at the following resources:

You can check out the Next.js GitHub repository - your feedback and contributions are welcome!

Deploy on Vercel

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.

About

Forum platform for thriving community

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors