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.
Next.js
14.1.0 andReact.js
18TypeScript
5TailwindCSS
3.3.0 and its pluginsMongoDB
6.3.0 andMongoose
8.1.1Clerk
4.29.5React Hook Form
7.49.3 andRadix UI
Zod
3.22.4Prismjs
1.29.0Query String
8.2.0cslx
,class-variance-authority
,tw-merge
andtailwindcss-animate
EsLint
,Prettier
, and their ecosystem.- Vercel
-
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.
- A
-
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.
- A
-
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
.
- Efficiently processed user data, calculated metrics, and optimized performance using MongoDB's aggregation pipeline by leveraging powerful stages like
-
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
dev
: Start development serverbuild
: Build for productionstart
: Start production serverlint
: Lint code
Inspired by Stack Overflow's design.
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.
https://github.com/tapadar13/dev-overflow.git
npm install
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=
npm run dev
If you have read all of this, please star the repo, it will help me a lot ❤️