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.
- 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.
- Python 3.x
- pip (Python package manager)
-
Clone the repository:
git clone https://github.com/Yadgah/Yadgah.git cd Yadgah -
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
-
Install dependencies:
pip install -r requirements.txt
-
Make migrations:
python manage.py makemigrations home python manage.py makemigrations blog
-
Apply database migrations:
python manage.py migrate
-
Create a superuser (admin account):
python manage.py createsuperuser
-
Start the development server:
python manage.py runserver
Yadgah follows best coding practices to ensure maintainability and quality.
- Code Linting:
flake8for Python andls-lintfor filesystem naming. - Pre-commit Hooks: Automates code checks before commits.
Run ls-lint manually with:
npx @ls-lint/ls-lintAutomated 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.
Yadgah is licensed under the MIT License. See the LICENSE file for details.
We welcome contributions! To contribute:
- Fork the repository.
- Create a new branch for your feature or fix.
- Submit a pull request with a clear description of changes.
Have questions or feedback? Reach out via GitHub Issues or join our discussions.