Skip to content

A powerful Developer Community Platform that fosters collaboration, knowledge sharing, and provides an engaging user experience. It is built using Next.js, TypeScript, MongoDB and Clerk.

Notifications You must be signed in to change notification settings

tapadar13/dev-overflow

Repository files navigation

Dev Overflow 📝:

Dev Overflow is a powerful Developer Community Platform built with cutting-edge technologies to foster collaboration, knowledge sharing, and an engaging user experience. It is built with Next.js, MongoDB, TypeScript and TailwindCSS.

Home

Screenshots 📷:

Home Community Profile Collections Jobs Tags Question Details

Tech Stack 📚:

  • Next.js 14.1.0 and React.js 18
  • TypeScript 5
  • TailwindCSS 3.3.0 and its plugins
  • MongoDB 6.3.0 and Mongoose 8.1.1
  • Clerk 4.29.5
  • React Hook Form 7.49.3 and Radix UI
  • Zod 3.22.4
  • Prismjs 1.29.0
  • Query String 8.2.0
  • cslx, class-variance-authority, tw-merge and tailwindcss-animate
  • EsLint, Prettier, and their ecosystem.
  • Vercel

Features 🎉:

  • Authentication

    • Secure authentication using Clerk, offering email/password options and seamless social login integration with Google and GitHub.
  • Question and Answer System

    • Users can post questions with support for markdown code rendering, complete code blocks, and tagging functionality.
    • A comprehensive answering system with a complete markdown editor and code block support.
    • Users can upvote/downvote questions and answers, promoting community-driven engagement.
  • Global Search System

    • A debounced, server-side rendered global search system.
    • Users can efficiently search for questions, answers, tags and other users, with automatic suggestions for top matches, enhancing navigation efficiency.
  • Community Features

    • Explore the community tab to discover and connect with other platform users.
    • A Collections tab that allows users to access and manage their saved questions efficiently.
    • A Tags section that enables users to search for questions related to specific tags.
  • Profile Management

    • A Profile tab where users can view information about themselves, including top questions and answers posted.
    • Users have the ability to seamlessly update their profile information.
  • User Interface

    • A responsive design, ensuring optimal user experience across various devices.
    • Users can switch between light, dark, and system mode.
  • Job Page

    • A Jobs tab users can see job openings in their respective locations.
    • Users can search for jobs by selecting a specific country from the filter for which they want to see job openings.
  • Smart Filtering System

    • All pages have a filter system to sort questions/tags/answers/users etc. based on highest upvotes/newest/frequent/top contributors, etc.
    • Questions can be sorted based on a comprehensive “Recommendation” system where a user can get posts of the tags they have been interacting with, except their own questions.
  • Pagination

    • User-friendly pagination at the bottom of every single page.
  • Reputation and Badge System

    • Users earn reputation points based on platform activities (posting questions and answers, upvoting questions/answers etc).
    • Badges are displayed on user profiles as a testament to engagement.
  • User Analytics for Optimization

    • Efficiently processed user data, calculated metrics, and optimized performance using MongoDB's aggregation pipeline by leveraging powerful stages like $match, $group, and $project.
  • Form Handling and Validation

    • Utilized React Hook Form for all forms across the application, ensuring a smooth and efficient user input experience.
    • Implemented validation using Zod for enhanced data integrity.
  • Type Safety and Tooling

    • A consistent and visually appealing user interface throughout the application
    • A robust codebase, enhancing type safety and ensuring code robustness and maintainability

Scripts 📜:

  • dev: Start development server
  • build: Build for production
  • start: Start production server
  • lint: Lint code

Inspiration 🎨:

Inspired by Stack Overflow's design.

Contributing 🤝:

Contributions are welcome! If you find any bugs or have suggestions for improvements, please open an issue or submit a pull request on the GitHub repository. To contribute to this project, please follow these steps:

  • Fork the repository.
  • Create a new branch for your feature or bug fix.
  • Make your changes and commit them.
  • Push your changes to your fork.
  • Submit a pull request.

Setting up locally

1. Clone on your local machine

https://github.com/tapadar13/dev-overflow.git

2. Install dependencies

npm install

3. Add environment variables to your .env.local file

NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
CLERK_SECRET_KEY=

NEXT_PUBLIC_CLERK_SIGN_IN_URL=
NEXT_PUBLIC_CLERK_SIGN_UP_URL=
NEXT_PUBLIC_AFTER_SIGN_IN_URL=
NEXT_PUBLIC_AFTER_SIGN_UP_URL=

NEXT_CLERK_WEBHOOK_SECRET=

NEXT_PUBLIC_TINY_EDITOR_API_KEY=

MONGODB_URL=

NEXT_PUBLIC_SERVER_URL=
OPENAI_API_KEY=

NEXT_PUBLIC_RAPID_API_KEY=

5. Run on your local server

npm run dev

If you have read all of this, please star the repo, it will help me a lot ❤️

About

A powerful Developer Community Platform that fosters collaboration, knowledge sharing, and provides an engaging user experience. It is built using Next.js, TypeScript, MongoDB and Clerk.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published