From e7488bc2aed1cd11a5545df3472c283237b7aab8 Mon Sep 17 00:00:00 2001 From: Harishchandra Gandhare Date: Tue, 19 Aug 2025 19:37:57 +0530 Subject: [PATCH] docs: improve README and add Code of Conduct --- CODE_OF_CONDUCT.md | 46 ++++++++++++++ README.md | 148 +++++++++++++++++++++++++++++++++++++++------ 2 files changed, 176 insertions(+), 18 deletions(-) create mode 100644 CODE_OF_CONDUCT.md diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..cb89889 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,46 @@ +# Code of Conduct of QUBITVERSE + +## Our Pledge +We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community. + +## Our Standards +Examples of behavior that contributes to a positive environment include: +- Demonstrating empathy and kindness toward other people +- Being respectful of differing opinions, viewpoints, and experiences +- Giving and gracefully accepting constructive feedback +- Accepting responsibility and apologizing to those affected by our mistakes +- Focusing on what is best for the community + +Examples of unacceptable behavior include: +- The use of sexualized language or imagery, and sexual attention or advances of any kind +- Trolling, insulting or derogatory comments, and personal or political attacks +- Public or private harassment +- Publishing others’ private information (such as physical or email address) without their explicit permission +- Other conduct which could reasonably be considered inappropriate in a professional setting + +## Enforcement Responsibilities +Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior they deem inappropriate, threatening, offensive, or harmful. + +## Scope +This Code of Conduct applies within all community spaces and also applies when an individual is officially representing the community in public spaces. + +## Enforcement +Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team. All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the reporter of any incident. + +## Enforcement Guidelines +Community leaders will follow these guidelines in determining the consequences for any action they deem in violation of this Code of Conduct: + +1. **Correction** – A private, written warning, with clear guidance on expected behavior. +2. **Warning** – A formal warning with consequences if behavior continues. +3. **Temporary Ban** – A temporary ban from community interactions. +4. **Permanent Ban** – A permanent ban from community participation. + +## Attribution +This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1. + +For answers to common questions, see the FAQ at: +[https://www.contributor-covenant.org/faq](https://www.contributor-covenant.org/faq). diff --git a/README.md b/README.md index c937072..65478aa 100644 --- a/README.md +++ b/README.md @@ -1,25 +1,137 @@ -# Quantum Gate Simulator & GUI Visualizer +# ⚛️ Quantum Gate Simulator & GUI Visualizer -A simple quantum gate simulator implemented in C++ that allows you to store and apply various quantum gates to qubit states. The simulator is designed to work as a backend, with a Node.js-based GUI for a more interactive, visual experience. +A powerful and educational **Quantum Gate Simulator** implemented in **C++**, with an interactive **Node.js-based GUI** for visualizing quantum circuits. +This project aims to help learners and researchers **experiment with quantum mechanics** in an accessible and visual way. -## Overview +--- -This project consists of two main parts: +## 📖 Overview -1. **Quantum Gate Simulator (C++)** - - Implements basic quantum mechanics concepts such as qubit state representation and quantum gate operations. - - Provides a set of common quantum gates (Identity, Pauli-X, Pauli-Y, Pauli-Z, Hadamard, Phase (S), and T-Gate). - - Uses manual matrix operations (without external libraries like Eigen) to evolve the quantum state. +This project is divided into two main components: -2. **GUI Visualizer (Node.js)** - - A frontend interface that communicates with the C++ simulator. - - Allows users to drag and drop gates onto qubits, build circuits, and see the resulting state evolution. - - Visualizes quantum states using tools like Bloch spheres or probability histograms. +### 🔹 1. Quantum Gate Simulator (C++) +- Implements fundamental **quantum mechanics** concepts: + - Qubit state representation + - Quantum gate matrix operations +- Supports **common quantum gates**: + - Identity (I), Pauli-X, Pauli-Y, Pauli-Z + - Hadamard (H) + - Phase (S) + - T-Gate +- Uses **manual matrix operations** (no external libraries like Eigen). +- Designed to be **extensible** for multi-qubit systems and advanced gates (CNOT, SWAP, etc.). -## Features +### 🔹 2. GUI Visualizer (Node.js) +- Interactive **drag-and-drop** circuit builder. +- Real-time communication with the C++ backend. +- State visualization tools: + - Bloch sphere 🌐 + - Probability histograms 📊 +- Makes **quantum learning intuitive** and engaging. -- **Quantum Gate Storage:** Easily store and manage common quantum gates. -- **State Evolution:** Apply gate operations to a qubit state and observe the transformation. -- **Extensible Backend:** Ready to be expanded to support multi-qubit systems and more complex gates (like CNOT). -- **Interactive GUI:** Planned Node.js frontend to provide a user-friendly visual interface. -- **Separation of Concerns:** C++ handles the quantum computation while Node.js manages the visualization and user interactions. \ No newline at end of file +--- + +## ✨ Features + +- 🎯 **Quantum Gate Storage:** Store and manage reusable quantum gates. +- 🔄 **State Evolution:** Apply gates to qubits and observe transformations. +- 🧩 **Extensible Backend:** Support for future multi-qubit & controlled gates. +- 🖥️ **Interactive GUI:** Real-time visual quantum circuits. +- 🧹 **Separation of Concerns:** + - C++ → Quantum computation + - Node.js → Visualization & UI + +--- + +## 🛠️ Tech Stack + +- **C++17** → Core quantum gate simulator +- **Node.js** → GUI backend & API +- **JavaScript (ES6+)** → Frontend logic +- **HTML + CSS + D3.js** → Data visualization (Bloch spheres, histograms) + +--- + +## 🚀 Getting Started + +### 🔧 Prerequisites +- C++17 or later +- Node.js (v16+ recommended) +- npm (comes with Node.js) + +### 📥 Installation + +Clone the repository: +```bash +git clone https://github.com//quantum-gate-simulator.git +cd quantum-gate-simulator +1️⃣ Build the C++ Backend +bash +Copy +Edit +cd simulator +g++ simulator.cpp -o simulator +2️⃣ Setup the GUI (Node.js) +bash +Copy +Edit +cd ../gui +npm install +npm run dev +Now open http://localhost:3000 in your browser 🚀 + +📂 Project Structure +bash +Copy +Edit +Quantum-Gate-Simulator/ +│── simulator/ # C++ backend (quantum computation) +│ └── simulator.cpp +│── gui/ # Node.js frontend (visualizer) +│ ├── src/ +│ ├── public/ +│ └── package.json +│── docs/ # Documentation & design notes +│── README.md +│── LICENSE +│── CONTRIBUTING.md +│── CODE_OF_CONDUCT.md + +🗺️ Roadmap + Add support for multi-qubit systems + + Implement controlled gates (CNOT, SWAP, Toffoli) + + Extend visualization to quantum entanglement + + Add export/import of circuits + + Publish as NPM package for wider use + +🤝 Contributing +We ❤️ contributions! + +Fork the repo + +Create a new branch (feature/my-feature) + +Make your changes + +Submit a PR 🎉 + +📌 Check out CONTRIBUTING.md before contributing. +Also, please read our Code of Conduct. + +📜 License +This project is licensed under the MIT License – see LICENSE for details. + +🙌 Acknowledgments +Inspired by fundamental quantum computing principles. + +Built to help beginners visualize and experiment with quantum mechanics. + +Inspired by IBM Qiskit, Quantum Playground, and other educational tools. + +🌟 Support +If you like this project, give it a ⭐ on GitHub! +Your support motivates us to keep improving. \ No newline at end of file