A .NET 8 platform for learning Qiskit and quantum programming with an integrated IDE and AI assistant (Llama 2). Features secure Docker-based code execution, courses, and LlamaSharp integration for Python AI models.
C#
0
3 commits
updated Apr 21, 2026
A full-stack quantum computing learning platform built with ASP.NET Core 8. Features a browser-based Qiskit compiler, structured courses, and an integrated AI assistant powered by LLamaSharp (Llama 2).
Admin and User roles enforced via ASP.NET Core Identity.| Layer | Technology |
|---|---|
| Backend | ASP.NET Core 8 Razor Pages |
| ORM | Entity Framework Core + SQL Server |
| Auth | ASP.NET Core Identity + Roles |
| Code editor | Ace Editor (browser) |
| AI model | LLamaSharp — Llama 2 (GGUF) |
| Frontend build | Webpack + Babel + React |
| Styling | Custom CSS + Bootstrap 5 grid |
The repository includes a Dockerfile that sets up a sandboxed Python environment with Qiskit and Qiskit-Aer — the same environment the server uses to execute quantum circuits.
Location: LLamaSharp/LLama.WebAPI/Doker/Dockerfile
git clone https://github.com/mhlandr/Qiskit-IDE.git
cd Qiskit-IDE
docker build -t qiskit-ide LLamaSharp/LLama.WebAPI/Doker/
docker run --rm -v "$(pwd)/output:/usr/src/app/output" qiskit-ide
This runs the sample Bell-state circuit, prints the measurement counts to the terminal, and saves a circuit diagram PNG to an output/ folder in your current directory.
On Windows (Command Prompt), replace $(pwd) with %cd%:
docker run --rm -v "%cd%/output:/usr/src/app/output" qiskit-ide
Mount your Python file into the container instead of using the default:
docker run --rm \
-v "$(pwd)/output:/usr/src/app/output" \
-v "$(pwd)/my_circuit.py:/usr/src/app/test_script.py" \
qiskit-ide
dotnet-ef tool: dotnet tool install --global dotnet-efpip install qiskit qiskit-aer matplotlib pylatexenc numpy
cd webProject
dotnet ef database update
dotnet run
Or open webProject.sln in Visual Studio and press F5. The app starts at https://localhost:7136.
After running migrations, the seed creates one account automatically:
| Role | Password | |
|---|---|---|
| Admin | admin12@example.com | Adminn12@123 |
Register additional users via /Identity/Account/Register. New registrations receive the User role.
The AI chat uses LLamaSharp to run a quantized Llama 2 model locally — no external API calls or keys required.
Place your .gguf model file (Llama 2 7B Q4 recommended) in the project and update the model path in the relevant controller. The model file is not included in the repository due to its size.
webProject/
├── Areas/Identity/Pages/Account/ # Login, Register (custom-styled)
├── Data/
│ ├── ApplicationDbContext.cs
│ ├── ApplicationUser.cs
│ ├── Migrations/
│ └── SeedData.cs # Admin seed + role creation
├── Models/
│ ├── Course.cs
│ ├── UserCourse.cs
│ └── UserCourseProgress.cs
├── Pages/
│ ├── compile.cshtml # IDE page (Ace editor + AI chat)
│ ├── Index.cshtml # Landing page
│ ├── Courses/
│ └── Shared/
├── wwwroot/
│ ├── css/
│ └── js/
│ ├── compiler/ide.js # Ace editor init
│ ├── compilerScripts.js # Code execution + AI chat fetch
│ ├── app.jsx # React entry (course create form)
│ └── CourseCreateForm.jsx
├── pythonCode/inputTest.py
├── Program.cs
├── appsettings.json
└── webProject.csproj
LLamaSharp/ # LLamaSharp library (Llama 2 C# bindings)
Dockerfile # Multi-stage build (ASP.NET + Python)
docker-compose.yml # App + SQL Server 2022
POST /api/CodeExecution/execute.stdout / stderr are captured and returned as JSON.Security note: For production, the Docker setup already isolates the Python subprocess inside the container. Add resource limits (
mem_limit,cpus) todocker-compose.ymland restrict outbound network access as needed.
MIT
A .NET 8 platform for learning Qiskit and quantum programming with an integrated IDE and AI assistant (Llama 2). Features secure Docker-based code execution, courses, and LlamaSharp integration for Python AI models.
C#
0
3 commits
updated Apr 21, 2026
A full-stack quantum computing learning platform built with ASP.NET Core 8. Features a browser-based Qiskit compiler, structured courses, and an integrated AI assistant powered by LLamaSharp (Llama 2).
Admin and User roles enforced via ASP.NET Core Identity.| Layer | Technology |
|---|---|
| Backend | ASP.NET Core 8 Razor Pages |
| ORM | Entity Framework Core + SQL Server |
| Auth | ASP.NET Core Identity + Roles |
| Code editor | Ace Editor (browser) |
| AI model | LLamaSharp — Llama 2 (GGUF) |
| Frontend build | Webpack + Babel + React |
| Styling | Custom CSS + Bootstrap 5 grid |
The repository includes a Dockerfile that sets up a sandboxed Python environment with Qiskit and Qiskit-Aer — the same environment the server uses to execute quantum circuits.
Location: LLamaSharp/LLama.WebAPI/Doker/Dockerfile
git clone https://github.com/mhlandr/Qiskit-IDE.git
cd Qiskit-IDE
docker build -t qiskit-ide LLamaSharp/LLama.WebAPI/Doker/
docker run --rm -v "$(pwd)/output:/usr/src/app/output" qiskit-ide
This runs the sample Bell-state circuit, prints the measurement counts to the terminal, and saves a circuit diagram PNG to an output/ folder in your current directory.
On Windows (Command Prompt), replace $(pwd) with %cd%:
docker run --rm -v "%cd%/output:/usr/src/app/output" qiskit-ide
Mount your Python file into the container instead of using the default:
docker run --rm \
-v "$(pwd)/output:/usr/src/app/output" \
-v "$(pwd)/my_circuit.py:/usr/src/app/test_script.py" \
qiskit-ide
dotnet-ef tool: dotnet tool install --global dotnet-efpip install qiskit qiskit-aer matplotlib pylatexenc numpy
cd webProject
dotnet ef database update
dotnet run
Or open webProject.sln in Visual Studio and press F5. The app starts at https://localhost:7136.
After running migrations, the seed creates one account automatically:
| Role | Password | |
|---|---|---|
| Admin | admin12@example.com | Adminn12@123 |
Register additional users via /Identity/Account/Register. New registrations receive the User role.
The AI chat uses LLamaSharp to run a quantized Llama 2 model locally — no external API calls or keys required.
Place your .gguf model file (Llama 2 7B Q4 recommended) in the project and update the model path in the relevant controller. The model file is not included in the repository due to its size.
webProject/
├── Areas/Identity/Pages/Account/ # Login, Register (custom-styled)
├── Data/
│ ├── ApplicationDbContext.cs
│ ├── ApplicationUser.cs
│ ├── Migrations/
│ └── SeedData.cs # Admin seed + role creation
├── Models/
│ ├── Course.cs
│ ├── UserCourse.cs
│ └── UserCourseProgress.cs
├── Pages/
│ ├── compile.cshtml # IDE page (Ace editor + AI chat)
│ ├── Index.cshtml # Landing page
│ ├── Courses/
│ └── Shared/
├── wwwroot/
│ ├── css/
│ └── js/
│ ├── compiler/ide.js # Ace editor init
│ ├── compilerScripts.js # Code execution + AI chat fetch
│ ├── app.jsx # React entry (course create form)
│ └── CourseCreateForm.jsx
├── pythonCode/inputTest.py
├── Program.cs
├── appsettings.json
└── webProject.csproj
LLamaSharp/ # LLamaSharp library (Llama 2 C# bindings)
Dockerfile # Multi-stage build (ASP.NET + Python)
docker-compose.yml # App + SQL Server 2022
POST /api/CodeExecution/execute.stdout / stderr are captured and returned as JSON.Security note: For production, the Docker setup already isolates the Python subprocess inside the container. Add resource limits (
mem_limit,cpus) todocker-compose.ymland restrict outbound network access as needed.
MIT