103 lines
2.6 KiB
Markdown
103 lines
2.6 KiB
Markdown
# Game Timer
|
|
|
|
Multi-player game-timer timer with carousel navigation
|
|
|
|
## Project Structure
|
|
|
|
```
|
|
game-timer/
|
|
├── docs/ # Documentation and project resources
|
|
│ └── screenshots/ # Application screenshots
|
|
├── public/ # Static assets and public-facing resources
|
|
│ ├── css/ # CSS stylesheets
|
|
│ ├── images/ # Images used by the application
|
|
│ ├── icons/ # App icons for PWA
|
|
│ ├── audio/ # Audio files
|
|
│ ├── index.html # Main HTML entry point
|
|
│ ├── manifest.json # PWA manifest
|
|
│ └── sw.js # Service Worker
|
|
├── src/ # Source code
|
|
│ └── js/ # JavaScript files
|
|
│ ├── core/ # Core application logic
|
|
│ ├── ui/ # UI-related code
|
|
│ ├── services/ # External services integration
|
|
│ └── utils/ # Utility functions
|
|
├── Dockerfile # Docker container definition
|
|
├── .dockerignore # Files to exclude from Docker build
|
|
└── package.json # Project metadata and dependencies
|
|
```
|
|
|
|
# PWA Containerized Deployment
|
|
|
|
This document provides step-by-step instructions to pull the source code and deploy the Progressive Web App (PWA) using Docker on a production server.
|
|
|
|
## Prerequisites
|
|
|
|
- **Git:** Installed on your production server.
|
|
- **Docker:** Installed and running on your production server.
|
|
- **Basic Knowledge:** Familiarity with the command line.
|
|
|
|
## Steps
|
|
|
|
### 1. Clone the Repository
|
|
|
|
Log in to your production server and navigate to the directory where you want to store the project. Then run:
|
|
|
|
```bash
|
|
git clone https://gitea.virtonline.eu/2HoursProject/game-timer.git
|
|
cd game-timer
|
|
```
|
|
|
|
### 2. Build the Docker image
|
|
|
|
From the repository root, run the following command to build your Docker image:
|
|
|
|
```bash
|
|
docker build -t 'game-timer:latest' .
|
|
```
|
|
|
|
### 3. Run the Docker Container
|
|
|
|
Once the image is built, run the container on port 8080 with:
|
|
|
|
```bash
|
|
docker run -d -p 8080:80 --name game-timer-container game-timer:latest
|
|
```
|
|
|
|
### 4. Verify the Deployment
|
|
|
|
Check if it's running:
|
|
|
|
```bash
|
|
docker ps
|
|
```
|
|
|
|
View logs (if needed):
|
|
|
|
```bash
|
|
docker logs game-timer-container
|
|
```
|
|
|
|
After running the container, open your web browser and navigate to:
|
|
|
|
```bash
|
|
http://localhost:8080
|
|
```
|
|
|
|
### 5. Terminate
|
|
|
|
To stop your running game-timer-container, use:
|
|
|
|
```bash
|
|
docker stop game-timer-container
|
|
```
|
|
|
|
## Development
|
|
|
|
For local development without Docker, you can use:
|
|
|
|
```bash
|
|
npm run dev
|
|
```
|
|
|
|
This will start a local development server and open the application in your browser. |