# AAF Systems Homepage A modern 3D homepage built with Three.js, TypeScript, and Vite. ## Features - 3D graphics with Three.js - Physics simulation with Cannon.js - Post-processing effects - TypeScript for type safety - Hot reload development with Vite ## Docker Setup ### Prerequisites - Docker - Docker Compose (optional) ### Running with Docker #### Option 1: Using Docker Compose (Recommended) ```bash # Build and run the application docker-compose up --build # Run in detached mode docker-compose up -d --build # Stop the application docker-compose down ``` #### Option 2: Using Docker directly ```bash # Build the Docker image docker build -t aaf-systems-homepage . # Run the container docker run -p 8080:8080 aaf-systems-homepage ``` The application will be available at `http://localhost:8080` ## Local Development ### Prerequisites - Node.js 18+ - npm ### Setup ```bash cd app npm install npm run dev ``` The development server will start at `http://localhost:5173` ### Build for Production ```bash cd app npm run build npm run preview ``` ## Project Structure - `app/` - Main application directory - `src/` - TypeScript source code - `public/` - Static assets - `index.html` - Entry point - `Dockerfile` - Docker configuration - `docker-compose.yml` - Docker Compose configuration ## Docker Packaging & Transfer ### Package Image for Transfer To package the Docker image for transfer to another computer: ```bash # Build and package the Docker image ./package-docker.sh ``` This will create a `aaf-systems-homepage-docker.tar` file that you can transfer to another computer. ### Transfer Methods **Option 1: USB/External Drive** ```bash # Copy the .tar file to USB drive cp aaf-systems-homepage-docker.tar /path/to/usb/drive/ ``` **Option 2: Network Transfer (SCP)** ```bash # Transfer via SCP scp aaf-systems-homepage-docker.tar user@target-computer:/path/to/destination/ ``` **Option 3: Cloud Storage** Upload `aaf-systems-homepage-docker.tar` to your preferred cloud storage service. ### Load and Run on Target Computer On the target computer: 1. Make sure Docker is installed and running 2. Copy both files to the target computer: - `aaf-systems-homepage-docker.tar` (the image package) - `load-and-run-docker.sh` (the load script) 3. Run the load script: ```bash # Load and run the Docker image ./load-and-run-docker.sh ``` The application will be available at `http://localhost:8080` on the target computer.