Thanks to visit codestin.com
Credit goes to github.com

Skip to content
/ Yadgah Public

Yadgah A Platform for Experience Sharing & Q&A

License

Notifications You must be signed in to change notification settings

Yadgah/Yadgah

Repository files navigation

Yadgah Logo

Yadgah

A Platform for Experience Sharing & Q&A

Yadgah is a community-driven platform designed for sharing experiences, asking questions, and engaging in discussions. Inspired by Quera and Stack Overflow, Yadgah fosters a collaborative environment where users can learn, contribute, and grow.

✨ Features

  • User Profiles: Create and customize your profile to share insights and engage with the community.
  • Q&A System: Ask questions and receive answers from knowledgeable users.
  • Interactive Engagement: Like, comment on, and rate answers to enhance discussions.
  • Organized Content: Browse topics in various categories:
    • Work & Career
    • Education
    • Technology
    • Health
    • And more!
  • User Ranking System: Gain recognition based on contributions and community feedback.

🚀 Installation

Prerequisites

  • Python 3.x
  • pip (Python package manager)

Setup Instructions

  1. Clone the repository:

    git clone https://github.com/Yadgah/Yadgah.git
    cd Yadgah
  2. Create and actiavte virtual envirnoment:

  • On linux/ macOS:
    python3 -m venv venv
    source venv/bin/activate
  • On Windows (Command Prompt):
    python -m venv venv
    venv\Scripts\activate
  • On Windows (Powershell):
    python -m venv venv
    .\venv\Scripts\Activate.ps1
  1. Install dependencies:

    pip install -r requirements.txt
  2. Make migrations:

    python manage.py makemigrations home
    python manage.py makemigrations blog
    
  3. Apply database migrations:

    python manage.py migrate
  4. Create a superuser (admin account):

    python manage.py createsuperuser
  5. Start the development server:

    python manage.py runserver

🛠 Development

Yadgah follows best coding practices to ensure maintainability and quality.

  • Code Linting: flake8 for Python and ls-lint for filesystem naming.
  • Pre-commit Hooks: Automates code checks before commits.

Run ls-lint manually with:

npx @ls-lint/ls-lint

GitHub Actions Workflows

Automated workflows include:

  • Django CI: Ensures smooth integration.
  • Code Linting: Maintains style and quality.
  • Pre-commit Checks: Verifies code before merging.
  • Security Scans: Detects vulnerabilities early.

📜 License

Yadgah is licensed under the MIT License. See the LICENSE file for details.

💬 Contributing

We welcome contributions! To contribute:

  1. Fork the repository.
  2. Create a new branch for your feature or fix.
  3. Submit a pull request with a clear description of changes.

🌐 Connect with Us

Have questions or feedback? Reach out via GitHub Issues or join our discussions.

Sponsor this project

Packages

No packages published

Contributors 16