Skip to content
shahmedmePublic

About

Forum platform for thriving community

Resources

Stars

0 stars

Watchers

1 watching

Forks

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

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages