@@ -0,0 +1,68 @@
|
|||||||
|
# Code of Conduct
|
||||||
|
|
||||||
|
QuantDinger is an open, inclusive, and respectful community. We expect all participants to help maintain a harassment-free experience for everyone.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1) Our Pledge
|
||||||
|
|
||||||
|
We pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 2) Our Standards
|
||||||
|
|
||||||
|
Examples of behavior that contributes to a positive environment include:
|
||||||
|
|
||||||
|
- Being respectful and kind
|
||||||
|
- Being open to feedback and different viewpoints
|
||||||
|
- Focusing on what is best for the community and users
|
||||||
|
- Showing empathy towards other community members
|
||||||
|
|
||||||
|
Examples of unacceptable behavior include:
|
||||||
|
|
||||||
|
- Harassment, intimidation, or discrimination
|
||||||
|
- Insults or derogatory comments
|
||||||
|
- Trolling, personal attacks, or sustained disruption
|
||||||
|
- Publishing others’ private information without explicit permission
|
||||||
|
- Sexual language or imagery in non-appropriate contexts
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 3) Scope
|
||||||
|
|
||||||
|
This Code of Conduct applies to all community spaces, including:
|
||||||
|
|
||||||
|
- GitHub issues, pull requests, discussions, and code reviews
|
||||||
|
- Any official community channels linked from this repository (e.g., Telegram/Discord)
|
||||||
|
- Project-related events and communications
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4) Reporting
|
||||||
|
|
||||||
|
If you experience or witness unacceptable behavior, please report it as soon as possible.
|
||||||
|
|
||||||
|
Preferred channels (choose one):
|
||||||
|
|
||||||
|
1. GitHub: open an issue labeled **conduct** (do not include sensitive private info).
|
||||||
|
2. Email: contact the maintainers via the email listed in `README.md`.
|
||||||
|
|
||||||
|
If there is an immediate safety risk, please contact your local emergency services first.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 5) Enforcement
|
||||||
|
|
||||||
|
Project maintainers are responsible for clarifying and enforcing our standards of acceptable behavior. They may take any action they deem appropriate, including:
|
||||||
|
|
||||||
|
- Warning
|
||||||
|
- Temporary ban from community spaces
|
||||||
|
- Permanent ban from community spaces
|
||||||
|
- Reverting/rejecting contributions that violate this Code of Conduct
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 6) Attribution
|
||||||
|
|
||||||
|
This document is inspired by the Contributor Covenant and common open-source community standards.
|
||||||
+138
@@ -0,0 +1,138 @@
|
|||||||
|
# Contributing
|
||||||
|
|
||||||
|
Thanks for your interest in contributing to **QuantDinger**! This guide explains how to report issues, propose changes, and submit pull requests.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1) Quick links
|
||||||
|
|
||||||
|
- **Issues**: use GitHub Issues for bugs and feature requests.
|
||||||
|
- **Discussions**: use GitHub Discussions for Q&A and ideas.
|
||||||
|
- **Community**: official channels are linked in `README.md` (Telegram/Discord).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 2) Ways to contribute
|
||||||
|
|
||||||
|
- **Report bugs**: provide steps to reproduce plus logs/screenshots.
|
||||||
|
- **Request features**: describe the use case, expected behavior, and alternatives.
|
||||||
|
- **Improve docs**: fix typos, clarify setup, add examples.
|
||||||
|
- **Submit code**: bug fixes, refactors, and new features.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 3) Before you start
|
||||||
|
|
||||||
|
- Please read and follow [`CODE_OF_CONDUCT.md`](CODE_OF_CONDUCT.md).
|
||||||
|
- Keep changes focused and small when possible (easier review and safer merges).
|
||||||
|
- If you plan a large change, open a discussion/issue first to align on design.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4) Development setup
|
||||||
|
|
||||||
|
This repo contains:
|
||||||
|
|
||||||
|
- `backend_api_python/`: Flask backend + strategy runtime
|
||||||
|
- `quantdinger_vue/`: Vue 2 frontend
|
||||||
|
|
||||||
|
### Backend (Python)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd backend_api_python
|
||||||
|
pip install -r requirements.txt
|
||||||
|
cp env.example .env # Windows: copy env.example .env
|
||||||
|
python run.py
|
||||||
|
```
|
||||||
|
|
||||||
|
### Frontend (Vue)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd quantdinger_vue
|
||||||
|
npm install
|
||||||
|
npm run serve
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 5) Branching & PR workflow
|
||||||
|
|
||||||
|
### Branch naming
|
||||||
|
|
||||||
|
Use a clear prefix:
|
||||||
|
|
||||||
|
- `fix/xxx` for bug fixes
|
||||||
|
- `feat/xxx` for new features
|
||||||
|
- `docs/xxx` for documentation
|
||||||
|
- `chore/xxx` for maintenance tasks
|
||||||
|
|
||||||
|
### Pull requests
|
||||||
|
|
||||||
|
1. Fork the repo and create a new branch from `main`.
|
||||||
|
2. Make your changes with clear, focused commits.
|
||||||
|
3. Open a PR with:
|
||||||
|
- What changed and why
|
||||||
|
- Screenshots/GIFs for UI changes
|
||||||
|
- How to test (commands, steps)
|
||||||
|
- Backward compatibility notes (if any)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 6) Commit messages
|
||||||
|
|
||||||
|
Recommended format (similar to Conventional Commits):
|
||||||
|
|
||||||
|
- `feat: ...`
|
||||||
|
- `fix: ...`
|
||||||
|
- `docs: ...`
|
||||||
|
- `refactor: ...`
|
||||||
|
- `chore: ...`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 7) Coding guidelines
|
||||||
|
|
||||||
|
### General
|
||||||
|
|
||||||
|
- Prefer clarity over cleverness.
|
||||||
|
- Keep functions small and cohesive.
|
||||||
|
- Add comments only where necessary (the code should be the primary documentation).
|
||||||
|
|
||||||
|
### Python
|
||||||
|
|
||||||
|
- Prefer explicit error handling and helpful error messages.
|
||||||
|
- Avoid storing secrets in code or committed files; use `.env`.
|
||||||
|
|
||||||
|
### Frontend
|
||||||
|
|
||||||
|
- Keep UI changes consistent with existing Ant Design Vue patterns.
|
||||||
|
- Avoid breaking i18n keys; reuse existing language keys where possible.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 8) Tests & verification
|
||||||
|
|
||||||
|
We don’t enforce a single test command across the whole monorepo yet. Please at least:
|
||||||
|
|
||||||
|
- Backend: run the API locally and verify affected endpoints
|
||||||
|
- Frontend: run the dev server and verify affected pages/components
|
||||||
|
|
||||||
|
If you add a bug fix, please add a minimal regression test when practical.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 9) Security
|
||||||
|
|
||||||
|
Please **do not** open public issues for security vulnerabilities.
|
||||||
|
|
||||||
|
For security reports, contact the maintainers via the email in `README.md` and include:
|
||||||
|
|
||||||
|
- A description of the issue
|
||||||
|
- Steps to reproduce / proof of concept
|
||||||
|
- Impact assessment (what could an attacker do?)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 10) License
|
||||||
|
|
||||||
|
By contributing, you agree that your contributions will be licensed under this project’s license (see `LICENSE`).
|
||||||
@@ -38,6 +38,7 @@
|
|||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<a href="https://t.me/worldinbroker"><img src="https://img.shields.io/badge/Telegram-Join%20Chat-26A5E4?style=for-the-badge&logo=telegram" alt="Telegram"></a>
|
<a href="https://t.me/worldinbroker"><img src="https://img.shields.io/badge/Telegram-Join%20Chat-26A5E4?style=for-the-badge&logo=telegram" alt="Telegram"></a>
|
||||||
|
<a href="https://t.me/+ULKYtlLEE9M4ZWZl"><img src="https://img.shields.io/badge/Telegram-QuantDinger%20Group-26A5E4?style=for-the-badge&logo=telegram" alt="Telegram Group"></a>
|
||||||
<a href="https://discord.gg/cn6HVE2KC"><img src="https://img.shields.io/badge/Discord-Join%20Server-5865F2?style=for-the-badge&logo=discord" alt="Discord"></a>
|
<a href="https://discord.gg/cn6HVE2KC"><img src="https://img.shields.io/badge/Discord-Join%20Server-5865F2?style=for-the-badge&logo=discord" alt="Discord"></a>
|
||||||
<a href="https://x.com/HenryCryption"><img src="https://img.shields.io/badge/X-Follow%20Us-000000?style=for-the-badge&logo=x" alt="X"></a>
|
<a href="https://x.com/HenryCryption"><img src="https://img.shields.io/badge/X-Follow%20Us-000000?style=for-the-badge&logo=x" alt="X"></a>
|
||||||
</p>
|
</p>
|
||||||
|
|||||||
@@ -38,6 +38,7 @@
|
|||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<a href="https://t.me/worldinbroker"><img src="https://img.shields.io/badge/Telegram-Join%20Chat-26A5E4?style=for-the-badge&logo=telegram" alt="Telegram"></a>
|
<a href="https://t.me/worldinbroker"><img src="https://img.shields.io/badge/Telegram-Join%20Chat-26A5E4?style=for-the-badge&logo=telegram" alt="Telegram"></a>
|
||||||
|
<a href="https://t.me/+ULKYtlLEE9M4ZWZl"><img src="https://img.shields.io/badge/Telegram-QuantDinger%20Group-26A5E4?style=for-the-badge&logo=telegram" alt="Telegram Group"></a>
|
||||||
<a href="https://discord.gg/cn6HVE2KC"><img src="https://img.shields.io/badge/Discord-Join%20Server-5865F2?style=for-the-badge&logo=discord" alt="Discord"></a>
|
<a href="https://discord.gg/cn6HVE2KC"><img src="https://img.shields.io/badge/Discord-Join%20Server-5865F2?style=for-the-badge&logo=discord" alt="Discord"></a>
|
||||||
<a href="https://x.com/HenryCryption"><img src="https://img.shields.io/badge/X-Follow%20Us-000000?style=for-the-badge&logo=x" alt="X"></a>
|
<a href="https://x.com/HenryCryption"><img src="https://img.shields.io/badge/X-Follow%20Us-000000?style=for-the-badge&logo=x" alt="X"></a>
|
||||||
</p>
|
</p>
|
||||||
|
|||||||
@@ -38,6 +38,7 @@
|
|||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<a href="https://t.me/worldinbroker"><img src="https://img.shields.io/badge/Telegram-Join%20Chat-26A5E4?style=for-the-badge&logo=telegram" alt="Telegram"></a>
|
<a href="https://t.me/worldinbroker"><img src="https://img.shields.io/badge/Telegram-Join%20Chat-26A5E4?style=for-the-badge&logo=telegram" alt="Telegram"></a>
|
||||||
|
<a href="https://t.me/+ULKYtlLEE9M4ZWZl"><img src="https://img.shields.io/badge/Telegram-QuantDinger%20Group-26A5E4?style=for-the-badge&logo=telegram" alt="Telegram Group"></a>
|
||||||
<a href="https://discord.gg/cn6HVE2KC"><img src="https://img.shields.io/badge/Discord-Join%20Server-5865F2?style=for-the-badge&logo=discord" alt="Discord"></a>
|
<a href="https://discord.gg/cn6HVE2KC"><img src="https://img.shields.io/badge/Discord-Join%20Server-5865F2?style=for-the-badge&logo=discord" alt="Discord"></a>
|
||||||
<a href="https://x.com/HenryCryption"><img src="https://img.shields.io/badge/X-Follow%20Us-000000?style=for-the-badge&logo=x" alt="X"></a>
|
<a href="https://x.com/HenryCryption"><img src="https://img.shields.io/badge/X-Follow%20Us-000000?style=for-the-badge&logo=x" alt="X"></a>
|
||||||
</p>
|
</p>
|
||||||
|
|||||||
@@ -38,6 +38,7 @@
|
|||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<a href="https://t.me/worldinbroker"><img src="https://img.shields.io/badge/Telegram-Join%20Chat-26A5E4?style=for-the-badge&logo=telegram" alt="Telegram"></a>
|
<a href="https://t.me/worldinbroker"><img src="https://img.shields.io/badge/Telegram-Join%20Chat-26A5E4?style=for-the-badge&logo=telegram" alt="Telegram"></a>
|
||||||
|
<a href="https://t.me/+ULKYtlLEE9M4ZWZl"><img src="https://img.shields.io/badge/Telegram-QuantDinger%20Group-26A5E4?style=for-the-badge&logo=telegram" alt="Telegram Group"></a>
|
||||||
<a href="https://discord.gg/cn6HVE2KC"><img src="https://img.shields.io/badge/Discord-Join%20Server-5865F2?style=for-the-badge&logo=discord" alt="Discord"></a>
|
<a href="https://discord.gg/cn6HVE2KC"><img src="https://img.shields.io/badge/Discord-Join%20Server-5865F2?style=for-the-badge&logo=discord" alt="Discord"></a>
|
||||||
<a href="https://x.com/HenryCryption"><img src="https://img.shields.io/badge/X-Follow%20Us-000000?style=for-the-badge&logo=x" alt="X"></a>
|
<a href="https://x.com/HenryCryption"><img src="https://img.shields.io/badge/X-Follow%20Us-000000?style=for-the-badge&logo=x" alt="X"></a>
|
||||||
</p>
|
</p>
|
||||||
|
|||||||
@@ -38,6 +38,7 @@
|
|||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<a href="https://t.me/worldinbroker"><img src="https://img.shields.io/badge/Telegram-Join%20Chat-26A5E4?style=for-the-badge&logo=telegram" alt="Telegram"></a>
|
<a href="https://t.me/worldinbroker"><img src="https://img.shields.io/badge/Telegram-Join%20Chat-26A5E4?style=for-the-badge&logo=telegram" alt="Telegram"></a>
|
||||||
|
<a href="https://t.me/+ULKYtlLEE9M4ZWZl"><img src="https://img.shields.io/badge/Telegram-QuantDinger%20Group-26A5E4?style=for-the-badge&logo=telegram" alt="Telegram Group"></a>
|
||||||
<a href="https://discord.gg/cn6HVE2KC"><img src="https://img.shields.io/badge/Discord-Join%20Server-5865F2?style=for-the-badge&logo=discord" alt="Discord"></a>
|
<a href="https://discord.gg/cn6HVE2KC"><img src="https://img.shields.io/badge/Discord-Join%20Server-5865F2?style=for-the-badge&logo=discord" alt="Discord"></a>
|
||||||
<a href="https://x.com/HenryCryption"><img src="https://img.shields.io/badge/X-Follow%20Us-000000?style=for-the-badge&logo=x" alt="X"></a>
|
<a href="https://x.com/HenryCryption"><img src="https://img.shields.io/badge/X-Follow%20Us-000000?style=for-the-badge&logo=x" alt="X"></a>
|
||||||
</p>
|
</p>
|
||||||
|
|||||||
Reference in New Issue
Block a user