Skip to content

khalidkhankakar/codeoverflow

Repository files navigation

Code Overflow

Code Overflow is a full-featured platform inspired by Stack Overflow, allowing users to ask and answer programming-related questions. It includes comprehensive functionalities like question and answer creation, a voting system, advanced search with robust filtering, user profiles, and secure authentication.

Table of Contents

  1. Features
  2. Tech Stack
  3. Installation
  4. Usage
  5. Contributing
  6. License

Features

  • Question and Answer Creation: Users can create and answer questions.
  • Voting System: Upvote and downvote functionality for both questions and answers.
  • Answer Submission: Submit answers to questions and view answers from other users.
  • Advanced Search: Robust filtering capabilities to find specific questions and answers.
  • User Profiles: Detailed user profiles with personal statistics and history.
  • Authentication: Secure user authentication via Clerk.
  • Database: MongoDB as the database backbone.
  • Additional Functionalities:
    • Commenting on questions and answers
    • Tagging system for questions
    • User reputation system

Tech Stack

  • Frontend: React.js, Next.js
  • Backend: Node.js, Express.js
  • Database: MongoDB
  • Authentication: Clerk
  • Styling: Tailwind CSS
  • Other Tools: Webpack, Babel

Installation

To get started with Code Overflow, follow these steps:

  1. Clone the repository:

    git clone https://github.com/your-username/code-overflow.git
    cd code-overflow
  2. Install dependencies:

    npm install
  3. Set up environment variables: Create a .env file in the root directory and add the following:

    NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=********************
    CLERK_SECRET_KEY=********************
    NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
    NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
    OPENAI_API_KEY=********************
    NEXT_PUBLIC_TINY_EDITOR_API_KEY=********************
    MONGODB_URL=********************
    NEXT_CLERK_WEBHOOK_SECRET=********************
  4. Start the development server:

    npm run dev

Usage

  1. Register/Login: Sign up or log in using Clerk authentication.
  2. Create Questions: Post programming-related questions.
  3. Submit Answers: Answer questions posted by other users.
  4. Vote: Upvote or downvote questions and answers to help highlight the best content.
  5. Search: Use the advanced search functionality to find specific questions and answers.
  6. Profile: View and manage your user profile.

Contributing

We welcome contributions to Code Overflow! Here's how you can help:

  1. Fork the repository.
  2. Create a new branch.
  3. Make your changes.
  4. Submit a pull request.

Please ensure your code adheres to the project's coding standards and includes tests for new features or bug fixes.

License

This project is licensed under the MIT License.

Releases

No releases published

Packages

 
 
 

Contributors