Installation & Deployment Guide¶
⚠️ Important Scientific & Methodological Disclaimer
This project is solely a thought-provoking, schematic visualization serving as the preliminary first step for preparing a more advanced project.
Neither the descriptions presented here nor the animation can be considered a correct, physically accepted model.
The visualizations and related theoretical descriptions are thought experiments and didactic tools; they do not represent an experimentally validated or canonical scientific theory.
This document details the installation, local execution, containerization, and continuous integration/deployment (CI/CD) procedures for the Universal Modular Quantum & Atomic Visualisation System.
1. System Requirements¶
A) Development & Build Environment¶
- Operating System: Linux (Ubuntu 20.04+, Debian 11+, RHEL/CentOS 8+), macOS (12+), or Windows 10/11 (WSL2 recommended).
- Node.js: Version \(\ge\)
18.0.0(LTS 20.x recommended). Check:node -v - Package Manager:
npm\(\ge\)9.0.0. Check:npm -v - Git: Version \(\ge\)
2.30.0.
B) Client Browser Requirements¶
- WebGL 2.0 Support: Any standard modern browser (Chrome 90+, Firefox 88+, Safari 15+, Edge 90+).
- Hardware Acceleration: Discrete or integrated GPU recommended for 60 FPS Three.js rendering.
- ES Modules (ESM): Native support for modern JavaScript module loading.
2. Quick Start¶
1. Clone the Repository¶
git clone https://github.com/LowCoders/atom-visualisation.git
cd atom-visualisation
2. Install Dependencies¶
npm install
3. Start Local Development Server¶
Powered by Vite with instantaneous Hot Module Replacement (HMR):
npm run dev
http://localhost:3000 (or the URL printed in the terminal).
3. Production Build¶
Generate optimized, minified production assets into the dist/ directory:
npm run build
Verify build output locally using the built-in preview server:
npm run preview
4. Automated Deployment Script (scripts/deploy.sh)¶
An automated bash deployment script is located in scripts/deploy.sh:
# Build production bundle only
./scripts/deploy.sh --build-only
# Build and start local preview
./scripts/deploy.sh --preview
# Copy dist files to a local web server directory
sudo ./scripts/deploy.sh --dest /var/www/html/visualisation
# Deploy to GitHub Pages (gh-pages git branch)
./scripts/deploy.sh --gh-pages
5. Web Server Configuration¶
Nginx SPA Configuration¶
server {
listen 80;
server_name quantum.example.com;
root /var/www/html/visualisation;
index index.html;
gzip on;
gzip_types text/plain text/css application/javascript application/json image/svg+xml;
location /assets/ {
expires 1y;
add_header Cache-Control "public, immutable";
}
location / {
try_files $uri $uri/ /index.html;
}
}
Docker Containerization¶
docker build -t quantum-visualisation:latest .
docker run -d -p 8080:80 --name quantum-app quantum-visualisation:latest
6. Continuous Integration & Deployment (CI/CD)¶
The repository includes a GitHub Actions workflow in .github/workflows/deploy.yml:
- Triggers: Push to main, Pull Requests, and manual dispatch.
- Build Step: Installs dependencies via npm ci and pip install -r requirements.txt, then builds the unified site bundle via npm run build.
- Deployment: Automatically uploads artifacts and deploys to GitHub Pages upon push to main.